"Условный оператор (ветвления) в Паскале" Урок 5

Download Report

Transcript "Условный оператор (ветвления) в Паскале" Урок 5

Условный оператор
(ветвление)
(урок 5)
Ветвление
Если <условие>
то <серия команд 1>
иначе <серия команд 2>
кон
If <условие>
then begin<операторы 1>end
else begin<операторы 2>end;
Программирование ветвлений
Задача 1. Найти наибольшее значение среди двух величин, вводимых с клавиатуры.
начало
ввод а,в,с
Да
Нет
a>b
max := a
max := b
вывод max
конец
Program Bid1;
Var
a,b,max : real;
Begin
write(‘a=‘); readln(a);
write(‘b=‘); readln(b);
If a > b
then max := a
else max := b;
writeln(‘max=‘,max:7:2);
readln
end.
Программирование ветвлений
Задача 2. Упорядочить значения двух переменных по возрастанию.
начало
ввод X, Y
Да
X>Y
C := X
X := Y
Y := C
вывод X, Y
конец
Program Sort2;
Var
X,Y,C : integer;
Begin
readln(X,Y);
If X > Y
then begin
C := X;
X := Y;
Y := C
end;
writeln(X,Y);
readln
end.
Программирование ветвлений
Задача 3. Найти наибольшее значение среди трех величин, вводимых с клавиатуры.
Вариант 1
Да
начало
начало
ввод а,в,с
ввод а,в,с
Да
a>b
max := a
Да
Вариант 2
max := b
c>max
Да
max := a
a>b
Да
a>с
max := c
max := b
max := c
вывод max
конец
вывод max
конец
b>c
max := c
Программирование ветвлений
Задача 3. Найти наибольшее значение среди трех величин, вводимых с клавиатуры.
Вариант 1
Program BIT1;
Var
a,b,c,max : real;
Begin
readln(a,b,c);
If a > b
then max := a
else max := b;
If c > max
then max := c;
writeln(‘max=‘,max:7:2);
readln
end.
Вариант 2
Program BIT2;
Var
a,b,c,max : real;
Begin
readln(a,b,c);
If a > b
then If a > c
then max := a
else max := c
else If b > c
then max := b
else max := c
writeln(‘max=‘,max:7:2);
readln
end.
Логические выражения в Паскале
Задача 3. Найти наибольшее значение среди трех величин, вводимых с клавиатуры.
Вариант 3
Program BIT3;
Var
a,b,c,max : real;
Begin
readln(a,b,c);
If (a >= b) and (a >= c)
then max := a;
If (b >= a) and (b >= c)
then max := b;
If (c >= a) and (c >= b)
then max := c;
writeln(‘max=‘,max:7:2);
readln
end.
Решение задач
Задача 4. Решить уравнение вида: ax+b=0
Анализ решения задачи:
a, b – целые числа, вводятся с клавиатуры, х – корень уравнения, выводится на монитор.
Если a=0 и b=0, то вывод: «X – любое число», если a=0 и b≠0, то вывод «уравнение
смысла не имеет», иначе x=-b/a
Program z4;
Var
a,b: integer; x : real;
Begin
write(‘a=’); readln(a);
write(‘b=’); readln(b);
If (a = 0) and (b=0)
then writeln(‘X – любое число’)
else if (a = 0) and (b<>0)
then writeln(‘уравнение смысла не имеет’
else begin x=-b/a; writeln(‘x=’,x:7:2) end;
end.
Домашнее задание
Задачник 1
§ 4.4.2
Задача 5. Дано трёхзначное число. Определить, является ли
оно палиндромом (палиндром – число, которое
читается одинаково слева на право и справа на лево).
Задача 6. Упорядочить значения трех целых чисел, вводимых с
клавиатуры, по возрастанию (a<b<c).
Задача 7. Определить, принадлежит ли точка Х отрезку [a;b].
Задача 8. Написать программу вычисления значения выражения:
y=5/(a(a-9))