Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / программирование.doc
Скачиваний:
129
Добавлен:
10.02.2014
Размер:
160.77 Кб
Скачать
    1. Условные операторы

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

Оператор условия if

Оператор условия if может принимать одну из следующих форм:

if <условие> then <оператор1>

else <оператор2>;

if <условие> then <оператор>;

Оператор условия if выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисления получается значе­ние булевского типа. В первом случае, если значение выражения есть True (истина), выполняется <оператор1>, указанный после слова then. Если результат вычисления выражения в условии есть False (ложь), то выполняется <оператор2>. Во втором случае — если результат выражения Тгuе, выполняется <оператор>, если False — выполняется оператор, следующий сразу за оператором if. По правилам каждая из ветвей может содержать либо один выполняемый оператор, либо несколько, объединенных в составной оператор. Точка с запятой перед Else не ставится.

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

Если один оператор ifможет обеспечить выбор из двух альтернатив, то оператор выбораcaseпозволяет сделать выбор из произволь­ного числа имеющихся вариантов.

Формат:

case <выражение-селектор> of

<список1>: <оператор1>;

<список2>: <оператор2>;

<списокN>: <операторN>;

[else <оператор0>;]

end;

Оператор caseработает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, выполняется оператор, стоящий за словомelse. Если словоelseотсутствует, активизируется оператор, находящийся за словомend, т.е. первый оператор за границейcase.

Выражение-селектор - это простая переменная целого, символьного, перечисляемого или логического типов, в зависимости от значения которой принимается решение;

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

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

Ветвь Elseне обязательна, и в отличие от оператора if, перед ней можно ставить точку с запятой.

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

Если в программе возникает необходимость неоднократно выполнить некоторые операторы, то используются операторы повтора (цикла). В языке Паскаль раз­личают три вида операторов цикла: while, repeat, for.

Оператор while

Оператор while (пока) называют оператором цикла с Предусловиемза то, что проверка условия выполнения тела цикла производится в самом начале оператора.

Формат:

while <условие продолжения повторений> do

<тело цикла>;

Условие – логическое выражение. Тело цикла – простой или составной оператор. Составной оператор используется в тех случаях, когда тело цикла состоит из 2-х и более операторов.

Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходит выход из цикла и пере­ход к первому оператору, стоящему сразу за телом цикла.

Оператор повтора repeat

Оператор repeatреализует цикл спостусловием. Цикл с постусловием всегда будет выполнен хотя бы один раз.

Формат:

repeat

<оператор1>;

<оператор2>;

<операторN>;

until <условие окончания цикла>;

Операторы, заключенные между словами repeat и until, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат логического выражения равен False, то тело цикла активизируется еще раз; если результат True, происходит выход из цикла.

Оператор повтора for

Это оператор с известным числом повторений. Часто этот оператор повтора называют оператором цикла с параметром, так как число повторений задается переменной, называемой параметром цикла, илиуправляющей переменной.

Оператор повтора for может быть представлен в двух форматах:

for <параметр цикла> := <S1> to <S2> do <тело цикла>;

for <параметр цикла> := <S1> downto <S2> do <тело цикла>;

где <параметр цикла> - это переменная целого, символьного, логического или перечисляемого типов;

SI и S2 — выражения, определяющие соответственно начальное и конечное значения параметра цикла;

for ... do — заголовок цикла;

Тело цикла может быть простымилисоставнымоператором. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все зна­чения параметра цикла от начального до конечного.

Действие команды. Параметру цикла присваивается значение выражения S1. Если оно меньше или равно, чем значение выраженияS2, то выполняется тело цикла. После этого значение параметра автоматически увеличивается на единицу и оно снова сравнивается со значением выраженияS2 и т.д. Когда значение параметра станет больше, чем значение выраженияS2, то выполняется следующий после цикла оператор.

Шаг изменения параметра цикла для оператора for…to…doравен +1, а для оператораfor…downto…doравен -1.

Вопросы для самопроверки:

  1. Формат оператора присваивания. Допустимо ли использование величин разных типов в арифметическом выражении?

  2. В чем заключается отличие оператора ввода Read от оператора Readln?

  3. Укажите форматы вывода данных.

  4. Какие виды ветвлений реализованы в Turbo Pascal?

  5. Для чего используются ветвления? Приведите примеры.

  6. Две формы записи условного оператора If.

  7. Формат записи вложенного оператора If.

  8. Формат записи оператора выбора Case?

  9. В каких случаях используется составной оператор Begin…end?

  10. Как в блок-схемах изображаются разветвленные алгоритмы?

  11. Что такое цикл?

  12. Какие виды циклов реализованы в Turbo Pascal?

  13. Что такое тело цикла?

  14. В каком случае тело цикла заключается в операторные скобки begin…end?

  15. В чем отличия операторов повтора while и repeat?

  16. В каких случаях предпочтительнее использовать для организации циклов оператор повтора for? Что записывается в заголовке этого оператора?

  17. Каким образом в операторе цикла for описывается направление изменения значения параметра цикла?

Лекции 8-11

Соседние файлы в папке лекции