- •1.Определение и основные свойства алгоритмов
- •2. Основные определения
- •3. Основные свойства алгоритмов
- •2.Метод декомпозиции структурного программирования . Понятия структурного программирования
- •1. Метод декомпозиции
- •4.Этапы решения задач с помощью эвм Этапы решения задач с помощью эвм
- •5.Способы изображения алгоритмов, графический способ . Способы изображения алгоритмов
- •5. Графический способ
- •6.Алфавит языка, правила написания имен
- •7.Понятие и классификация типов данных
- •8.Целочисленные типы
- •9.Вещественные типы
- •10.Логический тип
- •13.Логические операции.Отношения
- •14.Приоритеты операций
- •15.Оператор присваивания
- •16.Простейшие операторы ввода с клавиатуры
- •17.Простейшие операторы вывода на экран дисплея
- •18.Простые управляющие операторы
- •20.Оператор условного перехода, неполный условный оператор
- •21.Полный условный оператор
- •22.Оператор арифметического цикла
- •23.Оператор итеративного цикла с предусловием
- •24.Оператор итеративного цикла с постусловием
- •25.Массивы
20.Оператор условного перехода, неполный условный оператор
Оператор условного перехода
Оператор условного перехода в Турбо Паскаль имеет вид:
if условие then оператор 1 else оператор 2;
условие - это логическое выражение, в зависимости от которого выбирается одна из двух альтернативных ветвей алгоритма. Если значение условия истинно (TRUE), то будет выполняться оператор 1, записанный после ключевого слова then. В противном случае будет выполнен оператор 2, следующий за словом else, при этом оператор 1 пропускается. После выполнения указанных операторов программа переходит к выполеннию команды, стоящей непосредственно после оператора if.
Необходимо помнить, что перед ключевым словом else точка с запятой никогда не ставится!
else - часть в операторе if может отсутствовать:
if условие then оператор 1;
Тогда в случае невыполнения логического условия управление сразу передается оператору, стоящему в программе после конструкции if.
Следует помнить, что синтаксис языка допускает запись только одного оператора после ключевых слов then и else, поэтому группу инструкций обязательно надо объединять в составной оператор (окаймлять операторными скобками begin ... end). В противном случае возникает чаще всего логическая ошибка программы, когда компилятор языка ошибок не выдает, но программа тем не менее работает неправильно.
Примеры.
if x > 0 then modul := x else modul := -x;
if k > 0 then WriteLn('k - число положительное');
if min > max then begin
t := min;
min := max;
max := t;
end;
Неполный условный оператор
IF <логическое выражение> THEN <оператор>;
Если логическое выражение принимает значение true (истина), то выполняется <оператор> (простой или составной оператор, стоящий за ключевым словом then). Иначе, если логическое выражение принимает значение false (ложь), то условный оператор пропускается и выполняется тот оператор, который стоит в программе после условного оператора.
Условный оператор может иметь вложенную конструкцию (после слов then или else опять может использоваться условный оператор).
Else всегда относится к ближайшему слева then.
В состав условного оператора может входить один простой оператор. Если по смыслу задачи требуется вставить несколько операторов, то они объединяются в составной.
21.Полный условный оператор
полный условный оператор Паскаля:
if B then S1 else S2
Здесь if (если), then (то) и else (иначе) являются служебными словами, В – логическое выражение, а S1 и S2 – операторы.
Выполнение такого условного оператора в Паскале сводится к выполнению одного из входящих в него операторов S1 или S2: если заданное в операторе условие выполняется (логическое выражение В принимает значение true), то выполняется оператор S1, в противном случае выполняется оператор S2.
Алгоритм решения упомянутой выше задачи вычисления z= max( x, y) можно задать в виде условного оператора Паскаля
if x>y then z:= x else z:= y
При формулировании алгоритмов весьма типичной является такая ситуация, когда на определенном этапе вычислительного процесса какие-либо действия надо выполнить только при выполнении некоторого условия, а если это условие не выполняется, то на данном этапе вообще не нужно выполнять никаких действий. Простейшим примером такой ситуации является замена текущего значения переменной х на абсолютную величину этого значения: если x<0, то необходимо выполнить оператор присваивания x:= - x; если же x>=0, то текущее значение х должно остаться без изменений, т.е. на данном этапе вообще не надо выполнять каких-либо действий.