Конструкция ветвления, вложенное ветвление

advertisement
Занятие 6. Вложенные конструкции ветвления.
1) Примеры вложенного ветвления
Если в задачах необходимо осуществить выбор в зависимости от выполнения условия одного из
двух направлений дальнейшего хода программы, используется простая конструкция ветвления. Но
часто встречаются задачи, в которых необходимо осуществить выбор одного действия из трех, четырех
или более заданных действий. В таких случаях используются вложенные конструкции ветвления.
Пример 1. Дано уравнение ах+b=0. Найти решение этого уравнения или сообщить, что решения
не существует.
Решение:
1) Вводим коэффициенты a и b.
2) Если a=0
То Если b=0
То выводим решение: х – любое число
Иначе выводим решение: корней нет
Иначе выводим решение: x=-b/a
Такой алгоритм будет представлен следующей блок-схемой:
Начало
Введите
коэффициенты a и b
a=0
b=0
Решение: х – любое
число
x:=-b/a
Решение: корней
нет
Решение: x
Конец
Программа для его реализации:
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.
2) Задачи
1.
Написать программу, которая вычисляет оптимальный вес пользователя, сравнивает его с
реальным весом (его вводит пользователь), и выдает рекомендацию о необходимости поправиться или
похудеть (на некоторое количество килограммов) или сообщает о том, что пользователь в идеальной
форме. Оптимальный вес вычисляется по формуле: рост (в сантиметрах)-100.
2.
Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 3%
предоставляется в том случае, если сумма покупки больше 500 руб., в 5% -если сумма больше 1000 руб.
3.
Найти большее из трех чисел.
4.
Вывести номер четверти, в которой расположена точка с координатами х, у (х<>0; у<>0).
5.
Даны два целых числа a и b. Определить знак разности a-b не вычисляя ее. Разрешается
сравнивать числа a и b с нулем и между собой по модулю.
6.
Известна сегодняшняя дата. По дате рождения друга необходимо определить,
исполнилось ли ему 16 лет. Если день рождения сегодня, то поздравить его.
7.
Даны три целых числа. Определить вид треугольника: равносторонний, равнобедренный,
равнобедренный и прямоугольный, разносторонний, разносторонний и прямоугольный.
3) Упражнения
1. Дан алгоритм, определяющий принадлежит ли точка с координатами х и у некоторой области
координатной плоскости. Изобразите эту область.
If x<=4 Then
If ((Sqr(х)>=у) And (у>=4)) Oг ((х>=0) And (у<=0))
Then Writeln('Принадлежит')
Else Writeln('Не принадлежит')
Else Writeln(‘Не принадлежит');
2. Изобразите в прямоугольной декартовой системе координат область, для точек (х,у) а которой
данный алгоритм выводит «Да».
Readln(х,у);
If Abs(х)<=2 Then
If Sqr(x)+Sqr(y)<=9 Then
If (у>=Abs(х)) Oг (у<=Abs(х)-3) Then Writeln(‘Да’)
Else Writeln(‘Нет');
3. Изобразите в прямоугольной декартовой системе координат область, для точек (х,у) которой
данный алгоритм выводит «Да».
Readln(x,y);
If y>=x Then
If (x<=-2) Or (y>=1-Sqr(x+1)) Then Writeln(‘Нет’)
Else Writeln(‘Да’)
Else
If (y>=Sqr(x-1)-1) And (x<=2) Then Writeln(‘Да’)
Else Writeln(‘Нет’);
Download