Выполнение оператора IF...THEN...ELSE
1. Проверяется: выполняется или нет условие, стоящее после слова IF (т.е. имеет оно значение "истина" или "ложь").
2.Если условие выполняется, т.е. значение его "истина", то выполняется оператор, стоящий после слова THEN, а затем управление передается оператору программы, записанному после оператора IF...THEN...ELSE. Если условие оператора IF не выполняется (т.е. оно имеет значение "ложь"), то выполняется оператор, стоящий после слова ELSE, а затем начинает выполняться следующий после IF...THEN...ELSE... оператор. Познакомимся с условным оператором на примере решения задачи вывода на экран большего из двух данных чисел.
Исходные данные:
два числа, поскольку ничего не сказано про их значения, будем считать, что они вещественные. Пусть переменная Х хранит значение первого числа, а переменная Y - значение второго.
Алгоритм решения задачи достаточно прост:
надо сравнить значения переменных Х и Y.
Если X>Y, на экран вывести значение переменной X, иначе - переменной Y. Логическое условие, которое будет записано в условном операторе, в данном случае совпадает с тем, которое используется в математике.
3. Запишем алгоритм на языке PASCAL. Program PR 1;
Uses Crt;
Var x,y:real;
Begin CIrScr;
\Уп1е1п('введите два числа');
Readln(x,y);
Ifx>yThenWriteln(x) {если (If) x больше у, то (Then) выводим х} Else Writeln(y);
{иначе (Else) выводим у} End.
Выполним программу, введя для переменной Х значение 2.2 и для переменной Y значение- 10.8 .
Условие X>Y выполняется, управление передается оператору, записанному после слова Then, на экране появится число 2.2, Задание:
Выполните программу при Х=4.5, Y=21.9;
Х=6.6, Y=6.6.
Ператор ветвления в неполной форме
Если в случае невыполнения условия никаких действий не предусмотрено, лучше воспользоваться условным оператором в неполной форме.
Формат условного оператора для неполной формы ветвления.
IF <условие> THEN < оператор>;
Действие этого оператора отличается от предыдущего тем, что и случае невыполнения условия начинает выполняться следующий после IF...THEN... оператор программы.
Примеры.
1.Написать программу поиска наибольшего из двух чисел. Найденное число должно быть помещено в ячейку с именем МАХ. Program PR1J2;
Uses Crt;
Var x,y,max:real;
{x,y хранят значение исходных данных} {max - предназначена для хранения результата}
Begin CIrScr;
^Уп1е1п('введите два числа');
Readln(x.y);
тах:=х;{будем считать, что х- наибольшее число} if max<y then max:=y;
{если (If) тах(т.е.Х) меньше Y, то (Then) в ячейку MAX посылаем Y} Writeln(max);
End.
2.Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (О... 5).
Обозначим через Х число, вводимое пользователем с клавиатуры. Пусть что будет целое число. Принадлежность числа заданному интервалу определяется одновременным выполнением двух неравенств: Х>0 и Х<5.
На языке Pascal это условие записывается так:(Х>0) and (X<5).
Program Pr2;
Uses Crt;
Var x:integer;
Begin
CIrScr;
Writeln('Bвcдитe число X');
Readln(x);
If(x>0) and (x<5) Then Writeln(x,' принадлежит интервалу')
Else Writeln(x,' не принадлежит интервалу') End.
В качестве оператора, записанного после слов THEN и ELSE, может быть любой оператор языка PASCAL, в том числе и оператор ветвления.
3. Написать программу для определения того, находится ли вес человека в пределах нормы, является избыточным или недостаточным, учитывая, что в простейших случаях для определения нормального веса человека из величины его роста вычитают 100. Вес считается нормальным, если он отличается от этой разности не более чем па 5 кг. Зна- • чения роста и веса должны вводиться с клавиатуры по запросу программы. Результат нужно вывести на экран дисплея в виде сообщения:
" вес в норме ", "вес избыточен" или "вес недостаточен". Выполнить эту программу для следующих исходных данных:
а)р=83,4кг 1=179,1см
б)р=57,9кг 1=167,7см
в) р=71,7кг 1= 166,3см
Решение.
Program РгЗ;
Uses Crt;
Var p,l,r:real;
{г-переменпая для хранения разности 1-100} Begin CIrScr;
Writeln('Bвeдитe ваш вес');
в |
Информатика |
Readln(p);
Writeln('BBeAHTe ваш рост');
Readln(l);
r:=l-100;
Ifabs(p-r)<=5
Then Writeln('Bec нормальный') Elself(p-r)>0
Then Writeln('Bec избыточный') Else Writeln('Bec недостаточный');
End.
Приведем решение этой задачи в виде таблицы для заданных исходных данных:
Р | г | значение условия | результат | |||
|p-r | <=5 | р-г>0 | ||||
83.4 57.9 71.7 | 179.1 163.7 Г66.3 | 79.1 63.7 66.3 | истина ложь ложь | истина ложь истина | вес нормальный вес недостаточный вес избыточный |
Упражнение 11.
1. Какое эначение "истина" или "ложь" имеет следующее условное выражение (х>у) or (y>x) and not((x>0) or (z>x)), еслих=-1 у=-1 z=-2.
2. Написать программу нахождения наибольшею ич грех чисел.
3. Запишите на языке программирования условие, которое надо проверить:
а) значение переменной М больше значения квадрата разности величины 1- и числа 5?
б) значение переменной S раино константе 'хорошо'?
в) лежит ли точка с координатами (х,у) на оси абсцисс?
4. Выполняется ли условие А-^7.1, если А равно
а)-7
б) 7.1
в) -7.2
5. При каких значениях неременной Л условие А-'три' имеет значение "истина"?
а) Т
б) 'три'
в)' три'
г)'три '
6. Найдите значение величины С после выполнения операторов IF В<=-2.2 THEN С:-В»6 RI..SF. Г:=В-3, если значение переменной В равно:
а) 2.2
б)-2.2
в) 7
7. Найдите значение величины С после исполнения фрагмента программы:
С:=2
IFB>5THENC:=10 значение В равно:
а) 8 б) 3
8. Вычислить
у= { 5,73х+1,09 , еслих<2
^ I 25,17 - 6,24х , если х>=2
клавиатуры по запросу программы. Найти значения функции при х=-0,35; х=4,07; х=2
Значения аргумента функции вводить с
9.Написать программу, определяющую, попадает ли точка с координатами (х,у) в заштрихованную область плоскости.
10. Вычислить значение функции у(х), заданной графиком:
10. Написать программу, которая запрашивала бы ввод с клавиатуры одного из слов 'yes' или 'по'. Если было введено слово 'yes', па жране должно появиться изображение закрашенного прямоугольника, если введено слово 'по', прямоу! ельник должен быть незакрашеп. Коли же было введено любое другое слово, то па -жране должно появиться изображение Kpyi ;i.
Дата добавления: 2015-12-11; просмотров: 1198;