Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inf.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
226 Кб
Скачать
☆

Оператор выбора Паскаля

Оператор выбора Паскаля позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа.

Структура оператора выбора в Паскале такова:

Case <ключ_выбора> of  <список_выбора> [else <оператор_иначе>] end

Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);

  • <ключ_выбора> - выражение порядкового типа;

  • <список_выбора> - одна или более конструкций вида:

    • <константа_выбора>: <оператор>;

  • <константа_выбора> - константа того же типа, что и выражение

    • <ключ_выбора>;

<операторы> - произвольные операторы Паскаля.

Оператор выбора Паскаля работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности <список_выбора> отыскивается константа, равная вычисленному значению. Выполняется оператор, который следует за найденной константой, после чего оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <оператор_иначе> можно опустить, тогда при отсутствии в списке выбора нужной константы не будет выполнено никаких действий, и оператор выбора просто завершит свою работу.

Например, составим программу, которая по номеру дня недели выводит на экран его название:

Следует помнить, что все константы из списка выбора должны быть различны.

Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например, следующая программа при вводе одного из символов ‘ y’ или ‘ Y’ выведет на экран «Да», а при вводе ‘ n’ или ‘ N’ – слово «Нет».

Очевидно, что рассмотренные выше программы можно записать с помощью вложенных или последовательно расположенных условных операторов, но в подобных задачах использование оператора выбора является более простым. Основное отличие условного оператора от оператора выбора состоит в том, что в условном операторе условия проверяются одно за другим, а в операторе выбора значение ключа выбора непосредственно определяет одну из возможностей.

16

В данном материале вы узнаете: как работает оператор цикла с предусловием(оператор цикла while), разберем одну задачку и увидим, как этот цикл работает на примере.

В прошлой статье мы говорили о цикле for, в скобках которого мы указывали и начальное значение, конечное значение и даже правило по которому циклу нужно работать. А вот оператор цикла с предусловием заметно отличается от него. В нем мы говорим условие, к какому нужно прийти, и этот цикл работает до тех пор, пока он не придет к этому условию.

Если описать работу данного цикла в одном предложении, то можно сказать так: «Работай до тех пор, пока не выполнишь». Слово «while» с английского языка как раз и означает «пока, до тех пор».

Данный цикл используется тогда, когда мы не можем определить количество шагов, которое нужно сделать в задаче. Это делается до тех пор, пока не сделается, то есть пока не придем к желаемому результату.

17

Цикл – это многократно повторяющиеся фрагменты программ. Алгоритм циклической структуры – это алгоритм, содержащий циклы.  В ТР существует три оператора цикла:

  • цикл с предусловием;

  • цикл с постусловием;

  • цикл с параметром.

Для всех циклов характерны следующие особенности:

  • значения переменных используемых в цикле, и не изменяющиеся в нем д.б. определены до входа в цикл;

  • вход в цикл возможен только через его начало;

  • выход их цикла осуществляется как в результате его естественного окончания, так и с помощью операторов перехода.

 

Оператор цикла с предусловием в Паскале

Оператор цикла с предусловием реализует следующую базовую конструкцию:

Формат записи: While  L do  OP; где:  While       - пока не; do    – выполнить; L     –  выражение логического типа; OP – тело цикла; оператор (простой или составной).

  

Рис. 9.3. Структурная схема оператора цикла с предусловием

 

Работа оператора: Вычисляется значение логического выражения, если вычисленное значение истинно, то выполняется оператор OP после чего повторяется проверка условия и выполнение операторов тела цикла. В противном случае осуществляется выход из цикла.

Вычисление значения логического выражения предшествует выполнению операторов тела цикла, поэтому этот оператор цикла называется циклом с предусловием.

   

Оператор цикла с постусловием в языке Паскаль

Оператор цикла с постусловием реализует следующую конструкцию:

Формат записи:         Repeat              OP        Until   L; где:  Repeat   - повторять; Until  – пока не; L     –  выражение логического типа; OP – тело цикла; оператор (простой или составной).

  

 

 

Работа оператора: Выполняется оператор OP после чего вычисляется значение логического выражения L, если вычисленное значение False, то  снова выполняется оператор OP  в противном случае осуществляется выход из цикла.

Вычисление значения логического выражения следует после  выполнения операторов тела цикла, поэтому этот оператор цикла называется циклом с постусловием.

В отличие от цикла с предусловием, в цикле с постусловием тело цикла выполняется о крайней мере один раз не зависимо от условия. В операторе цикла с постусловием  ключевые слова Repeat и  Until играют роль операторных скобок. Пример 9.4. Составить программу вычисления функции  y для заданного значения x.

 

Оператор цикла с параметром в языке Паскаль

Оператор цикла с параметром реализует следующую базовую конструкцию:

Работа оператора: Вычисляется начальное значение параметра цикла Pn и присваивается параметру P.  Проверяется условие P?Pk, и если оно Trueвыполняются операторы тела цикла  OP . После чего наращивается  значение P на единицу и опять проверяется условие P?Pk . Если условие False  осуществляется выход из цикла. В операторе с downto шаг изменения параметра цикла равен –1.

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]