Программирование разветвляющихся алгоритмов.
Для организации разветвления в программе, в Паскале используются следующие операторы: 1. Условный оператор. 2. Оператор варианта. 3. Оператор перехода
Условный оператор Условный оператор имеет вид:
If Q Then B1 [Else B2]; Блок-схема: (Else) - +(Then)
Q - выражение, принимающее логическое значение; B1, B2 – любые операторы, в единственном числе; Выполняются: 1. Вычисляется выражение Q, которое имеет логическое значение. 2. Если это значение True, то выполняется оператор B1. Если же Q имеет значение False, то в случае полной формы условного оператора выполняется оператор B1 , а в случае неполной формы управление передается следующему оператору программы. Так, как операторы B1 и B2 могут быть любыми, а значит и условными, то возникает конструкция двусмысленная: 1 If Q Then If Q1 Then B1 Else B2; 2 Для устранения двусмысленности введено правило, что часть Else относится к ближайшему слева свободному условию. И структура записи следующая: If Q Then If Q1 Then B1 Else B2; Если по смыслу задачи необходимо, чтобы оператор понимался в смысле 1 , то его надо поставить в операторные скобки: If Q Then Begin If Q1 Then B1; End Else B2; Задача1: Даны 2 различных числа. Найти максимальное из этих чисел. Пример: Исходные данные: A=10, C=15 Результат: Максимальное число =15 Решение: Program Vet1; Var A,C,Max:Integer; Begin Writeln(’Введите 2 различных числа’); Readln(A,C); If A>C Then Max:=A Else Max:=C; Write(’Максимальное число = ’,Max); End. Задачи: 1. Даны 2 числа. Вывести первое число, если оно больше второго и оба числа, если это не так. 2. Даны 2 различных числа. Найти C=Max/Min. 3. Составить программу вычисления значения Y по введенному значению X. Y= (X+2)2 , X>=0 X-2 ,X<0 4. Даны числа А, B, Х. Составить программу вычисления значения Y. (X+2)2 , X<A Y= X-2 ,A<=X<=B 2*X ,X>B
5. Даны 3 различных числа. Найти максимальное из этих чисел. 6. Даны 3 числа. Определить сколько среди них нулей. 7. Даны 3 числа. Определить сколько среди них отрицательных и сколько положительных чисел.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|