Программирование разветвляющихся алгоритмов

Для организации разветвления в программе, в Паскале используются следующие операторы:

1. Условный оператор.

2. Оператор варианта.

3. Оператор перехода

Условный оператор

Условный оператор имеет вид:

If Q Then B1 [Else B2];

Блок-схема:

 
 


(Else) - +(Then)

B2
B1

 
 


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 числа. Определить сколько среди них отрицательных и сколько

положительных чисел.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: