Вы находитесь на странице: 1из 5

СШ №1 г.

Лида

§ 2
Разветвления.
Если в зависимости от первоначального условия должны
выполняться различные выражения, то мы будем использовать
условный оператор.
Структура условного оператора:
if < условие> then <оператор 1 > else < оператор 2 >
if < условие> then <оператор >
if then else – зарезервированные слова (если, то, иначе)

Задача 2-1. Даны два числа. Ответить чему равно большее


из них (найти максимальное).

program zadacha2_1;
var max,x,y:real;
Begin
writeln('Введите число x ');
readln(x);
writeln(' Введите число y ');
readln(y);
if x>y then max:=x else max:=y;
writeln('max =',max);
End.

Задача 2-2. Даны три числа. Найти максимальное.

program zadacha2_2;
var max,x,y,z:real;
Begin
writeln(' Введите число x ');
readln(x);
writeln(' Введите число y ');
readln(y);
writeln(' Введите число z ');
readln(z);
if x>y then max:=x else max:=y;
if z>max then max:=z;
writeln('max =',max);
End.

Задача 2-3. Даны четыре числа. Найти минимальное.

program zadacha2_3;
var x,y,z,w,m1,m2,min:real;
Begin
writeln(' Введите четыре числа');
readln(x,y,z,w);
if x<y then m1:=x else m1:=y;
if z<w then m2:=z else m2:=w;
if m1<m2 then min:=m1 else min:=m2;

стр. 1 из 5
СШ №1 г. Лида

writeln('меньшее из четырёх =',min);


End.
Задача 2-4. Даны два числа а и b (а неравно b). Выдать
текстовой ответ какое из чисел (а или b) большее.

program zadacha2_4;
var a,b,s:real;
Begin
writeln(' Введите число a ');
readln(a);
writeln(' Введите число b ');
readln(b);
if a>b then
writeln('число а большее')
else
writeln('число b большее');
End.

Задача 2-5. Даны два числа а и b . Выдать текстовой


ответ какое из чисел большее. Предусмотреть ситуацию
когда числа равны.
Задача решена двумя способами (2_5а, 2_5b ). Посмотрите в
чём отличие между ними.

program zadacha2_5a;
var a,b,s:real;
Begin
writeln(' Введите число a ');
readln(a);
writeln(' Введите число b ');
readln(b);
if a>b then
writeln('число а большее')
else
if a=b then
writeln('числа равны')
else
writeln('число b большее');
End.

program zadacha2_5b;
var a,b,s:real;
Begin
writeln(' Введите число a ');
readln(a);
writeln(' Введите число b ');
readln(b);
if a>b then writeln('число а большее');
if a=b then writeln('числа равны');
if a<b then writeln('число b большее');
стр. 2 из 5
СШ №1 г. Лида

End.

Задача 2-6. Даны три числа а,b,c. Выдать текстовой


ответ какое из чисел (a,b или c) большее.

program zadacha2_6;
var a,b,c,m:real;
Begin
writeln(' Введите числa a,b,c');
readln(a,b,c);
if a>b then m:=a else m:=b;
if c>m then m:=c;
if m=a then writeln('число а большее');
if m=b then writeln('число b большее');
if m=c then writeln('число с большее');
End.

Задача 2-7. Составить программу которая по введённому


номеру дня недели будет выдавать название дня недели
(задача решена двумя способами).

program zadacha2_7a;
var k:integer;
Begin
writeln(' Введите номер дня недели');
readln(k);
if k=1 then writeln('понедельник');
if k=2 then writeln('вторник');
if k=3 then writeln('среда');
if k=4 then writeln('четверг');
if k=5 then writeln('пятница');
if k=6 then writeln('суббота');
if k=7 then writeln('воскресенье');
if (k<1) or (k>7) then
writeln('такого дня недели нет');
End.

program zadacha2_7b;
var k:integer;
Begin
writeln('введите номер дня недели');
readln(k);
if k=1 then writeln('понедельник') else
if k=2 then writeln('вторник') else
if k=3 then writeln('среда') else
if k=4 then writeln('четверг') else
if k=5 then writeln('пятница') else
if k=6 then writeln('суббота') else
if k=7 then
writeln('воскресенье')
else
стр. 3 из 5
СШ №1 г. Лида

writeln('такого дня недели нет');


End.

Задача 2-8. Дано число. Дать характеристику числа:


 положительное, отрицательное;
 чётное, нечётное ;
 целое, не целое.

program zadacha2_8;
uses crt;
var
a:real;
k,m,p:string;
Begin
writeln('Введите число');
readln(a);
if a<0 then k:='отрицательное'
else k:=' положительное';
if a=int(a) then m:=' целое'
else m:='не целое';
if a/2=int(a/2) then p:=' чётное'
else p:=' нечётное ';
writeln('число ',a,' ; ',k,' ; ',m,' ; ',p);
delay(32000);
End.
Oператорные скобки
После служебного слова then, или после служебного else
будет выполняться только один оператор. Если необходимо,
чтобы выполнялось несколько операторов их нужно взять в
операторные скобки begin

end;
Причем, end желательно записывать под begin

Задача 2-9.
Составить программу решающую квадратное уравнение.
program zadacha2_9 ;
uses crt;
var a,b,c:integer;
x,d,x1,x2:real;
Begin
writeln('введите коэффициенты а,b,c');
readln(a,b,c);
d:=b*b-4*a*c; {вычисление дискриминанта}
if d<0 then
writeln('уравнение не имеет корней');
if d=0 then
begin
writeln('уравнение имеет 1 корень');
x:=-b/(2*a);
writeln('x= ',x);
end;
if d>0 then
begin
writeln('уравнение имеет 2 корня');
стр. 4 из 5
СШ №1 г. Лида

x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('x1= ',x1);
writeln('x2= ',x2);
end;
End.
Задания для самостоятельного решения.
S 2-1. Даны три числа. Найти минимум.
S 2-2. Даны четыре числа. Найти максимум.
S 2-3 Даны четыре числа. Найти какое из них меньше.
S 2-4. Составить программу которая по введенному номеру
месяца будет называть этот месяц.
S 2-5. Составить программу которая по введенному
названию месяца на русском языке будет выводить название
месяца на белорусском языке.
S 2-6. а) Является ли число кратным трём.
б) Является ли число кратным пяти.
в) Является ли число кратным семи.

S 2-7. Даны четыре числа. Найти максимум.


S 2-8 Даны четыре числа. Найти какое из них меньше.

стр. 5 из 5

Вам также может понравиться