Здавалка
Главная | Обратная связь

Операторы управления



К операторам управления языка Паскаль относятся операторы безусловного перехода, условного перехода и операторы цикла.

Условный оператор (выбор одного из двух направлений)

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

Структурные операторы. Структурные операторы составляются объединением других операторов с помощью определенных правил. Они разделяются на три группы – составные, условные и повторения (циклические).

Составной оператор. Составной оператор состоит из нескольких операторов, разделенных между собой знаком (;), заключенных включенных в ключевые слова begin и end. Составной оператор может располагаться в любом месте программы согласно правилу языка и выполняется как один оператор.

Begin

оператор 1;

оператор 2;

..................

оператор n-1;

оператор n;

End.

Ключевые слова Begin (начало), end (конец) называются операторными скобками. После слова Begin и после оператора перед словом end разделительный знак «;» не ставится. Составной оператор может быть вложенным, т.е. внутри составного оператора может быть другой составной оператор.

Условные операторы.Для организации алгоритмов с процессом разветления используются условные операторы. Разветление зависит от выполнения или невыполнения определенного условия. Иногда в одной ветви ни одна операция не выполняется. В качестве условия исползуется значение логического выражения. В Турбо Паскале имеются два условных оператора: if и case.

Условный оператор If. Оператор If (если) является широко распространенным способом изменения возможностей естественного выполнения действий в программе.

       
 
да
 
нет


 

Блок-схемаоператора IF.

Формат записи оператора:if <условие> then <оператор 1> [ else <оператор 2> ];

если тогда иначе

Условие – логическое выражение, которое может быть истинным или ложным.

оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т.е. несколько операторов, объединенных операторными скобками begin end.

Часть конструкции, заключенная в квадратные скобки может отсутствовать.

Принцип работы оператора:

¨ проверяется условие

¨ если условие истинно (верно), то выполняется оператор 1

¨ если условие ложно (неверно), то выполняется оператор 2

¨ если else <оператор 2> отсутствует, то, при ложности условия, выполняется следующий за if оператор.

Например, из двух чисел a и b вывести на экран значение большего числа. if a > b then writeln (‘большее число a - ’, a) else writeln (‘большее число b - ’, b);

Внимание! Перед словом else нельзя ставить точку с запятой. Обратите внимание на запись служебных слов и операторов. Каждое слово else под своим, словом if. Для большей наглядности и «читаемости» текста программы операторы, следующие за словами then и else можно писать на следующей строке.

Возможная форма оператора: if <условие> then <оператор 1>;

Пример использования оператора: Вычислите значение функции f(x) в зависимости от значения аргумента x. if x<0 then y=x; if x=0 then y=0; if x>0 then y=sqr(x);

 

Оператор выбора

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

ОператорCase позволяет записать наглядно и просто алгоритмы с многими разветвлениями. Разветвление начинается с проверки условия некоторого выражения. Это выражение при выполнении оператора должно принимать определенное значение, которое выполняет роль метки для операторов в разветвлении. Если вычисленное значение выражения совпадает с некоторой указанной меткой, то выполняется оператор, помеченный этой меткой.

 
 

 


 

Блок-схема оператора CASE

Формат записи:

Сase <переменная или выражение> of

<список значений выбора1>:<оператор1>;

<список значений выбора2>:<оператор2>;

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<список значений выбора N>:<оператор N>;

Еlse <оператор n+1>]

End;

Переменная может быть любого порядкового типа, кроме longint (word, boolean, integer, char… или перечисляемый тип).

Список значений выбора - это значения, которые могут принимать переменная или выражение,перечисленные через запятую или, если значения принадлежат какому-либо интервалу, с использованием лексемы " . . " (1..7 или 'а' ..'м')

Оператор - любой оператор, в том числе составной.

Принцип работы оператора:

¨ Значение переменной или выражения сравнивается с предложенными списками значений;

¨ Если найдено нужное значение, выполняется соответствующий оператор;

¨ Если нужное значение не найдено в перечисленных списках, выполняется оператор после else;

¨ Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.

Ветви здесь представлены элементами выбора, разграниченными точкой с запятой, а слово else с последующим оператором могут отсутствовать. Элемент выбора – это оператор, например составной, снабжённый одной или несколькими константами выбора:

 

Пример использования оператора: Написать программу, которая за­пра­шивает номер месяца и вы­во­дит название времени года   Program M1; var month : integer; begin writeln (‘введите номер месяца от 1 – 12’); readln (month); case month of 1,2,12 : writeln(‘зима’); 3,4,5 : writeln(‘весна’); 6,7,8 : writeln(‘лето’); 9,10,11 : writeln(‘осень’); else writeln (‘ошибка ввода!’); end; end.

Практические задания:







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.