Конструкция ветвления (условный оператор). Операторные скобки

advertisement
Конструкция ветвления (условный оператор). Операторные скобки
Если в одной из ветвей конструкции ветвления необходимо использовать не один оператор, а
несколько, то в записи должны появляться операторные скобки (Begin … End). В общем виде условный
оператор будет иметь следующий вид:
If <условие> Then
Begin
<действие 1>;
…
<действие N>;
End
Else
Begin
<действие 1>;
…
<действие M>;
End;
Задача 1. Даны три целых числа. Если треугольник с такими сторонами существует, то найти его
периметр и площадь, в противном случае – сообщить, что треугольник не существует.
Program N1;
Var a, b, c, P : Integer; S : Real;
Begin
Writeln ('Введите три целых числа');
Readln (a, b, c);
If (a+b>c) And (a+c>b) And (b+c>a) Then
Begin
P:=a+b+c;
S:=Sqrt(P/2*(P/2-a)*(P/2-b)*(P/2-c));
Writeln (‘Периметр=', P);
Writeln ('Площадь=', S:10:5);
End
Else Writeln ('Треугольник с такими сторонами не существует');
Readeln;
End.
Задача 2. Написать программу определения стоимости разговора по телефону с учетом скидки
20%, предоставляемой по субботам и воскресеньям Цена минуты разговора стоит 2,3 руб.
Program N2;
Var T, Day : Byte;
Sum : Real;
Begin
Writeln ('Введите номер дня недели (от 1 до 7)');
Readln (Day);
Writeln ('Введите длительность разговора (в минутах)');
Readln (T);
Sum:=2.3*Т;
If (Day=6) Oг (Day=7) Then
Begin
Writeln ('предоставляется скидка 20%');
Sum:=Sum*0.8;
End
Else Writeln ('скидка не предоставляется');
Writeln ('стоимость разговора: ',Sum:8:2,' руб ');
Readeln;
End.
Вложенные конструкции ветвления.
Если в задачах необходимо осуществить выбор в зависимости от выполнения условия одного из
двух направлений дальнейшего хода программы, используется простая конструкция ветвления. Но
часто встречаются задачи, в которых необходимо осуществить выбор одного действия из трех, четырех
или более заданных действий. В таких случаях используются вложенные конструкции ветвления.
Пример 1. Дано уравнение ах+b=0. Найти решение этого уравнения или сообщить, что решения
не существует.
Решение:
1) Вводим коэффициенты a и b.
2) Если a=0
То Если b=0
То выводим ‘решение: х – любое число’
Иначе выводим ‘решение: корней нет’
Конец если
Иначе выводим 'решение: x=’, -b/a
Конец если
Такой алгоритм будет представлен следующей блок-схемой:
Программа для его реализации:
Program N1;
Var a, b: Integer;
x: Real;
Begin
Writeln(‘Введите коэффициенты a и b’);
Readln(a, b);
If a=0 Then
If b=0 Then Writeln(‘Решение: x – любое число’)
Else Writeln(‘Решение: корней нет’)
Else
Begin
x:=-b/a;
Writeln(‘Решение: x=’,x:8:5);
End;
Readln;
End.
Пример 2. Написать программу, которая по введенному возрасту пользователя сообщает, к
какой возрастной группе он относится.
До 13 – детство
от 14 до 24 – молодость
от 25 до 59 – зрелость
от 60 – старость
Program N2;
Var T: byte;
Begin
Writeln(‘Введите свой возраст’);
Readln(T);
If T<=24 Then
If T<=13 Then Writeln(‘детство’)
Else Writeln(‘молодость’)
Else
If T<=59 Then Writeln(‘зрелость’)
Else Writeln(‘старость’);
Readln;
End.
Задачи
1.
Написать программу, которая вычисляет оптимальный вес пользователя, сравнивает его с
реальным весом (его вводит пользователь), и выдает рекомендацию о необходимости поправиться или
похудеть (на некоторое количество килограммов) или сообщает о том, что пользователь в идеальной
форме. Оптимальный вес вычисляется по формуле: рост (в сантиметрах)-100.
2.
Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 3%
предоставляется в том случае, если сумма покупки больше 500 руб., в 5% -если сумма больше 1000 руб.
3.
Найти большее из трех чисел.
4.
Вывести номер четверти, в которой расположена точка с координатами х, у (х<>0; у<>0).
5.
Даны два целых числа a и b. Определить знак разности a-b не вычисляя ее. Разрешается
сравнивать числа a и b с нулем и между собой по модулю.
6.
Известна сегодняшняя дата. По дате рождения друга необходимо определить,
исполнилось ли ему 16 лет. Если день рождения сегодня, то поздравить его.
7.
Даны три целых числа. Определить вид треугольника: равносторонний, равнобедренный,
равнобедренный и прямоугольный, разносторонний, разносторонний и прямоугольный.
Download