Оператор ветвления (условный оператор)
Я услышал и забыл.
Увидел и запомнил.
Сделал и понял!
Чарльз Бэббидж
Проверка домашнего задания
- Найдите периметр пятиугольника
programm 1;
begin
var a, b, c, d, e, P: integer
writeln (‘введите стороны пятиугольника’);
readln (a,b,c,d,e)
P:=a+b+c+d+e;
Writeln (‘периметр пятиугольника =‘ P);
end
program _1;
var a, b, c, d, e, P: integer;
begin
writeln (‘введите стороны пятиугольника’);
readln (a,b,c,d,e);
P:=a+b+c+d+e;
writeln (‘периметр пятиугольника =‘, P);
end.
2. Найдите значение выражения 5х 2 -10х+2 для любого значения х
program _2;
var x, y: integer;
begin
writeln (‘введите любое число’);
readln (х);
y=5х 2 -10х+2;
readln (‘значение выражения =‘, y);
end.
program _2;
var x, y: real;
begin
writeln (‘введите любое число’);
readln (х);
y:=5*х^2-10*х+2;
writeln (‘значение выражения =‘, y);
end.
Проверим свои знания
Какой оператор описывает в программе вывод результата
а) readln
б) writeln
в) begin
Определите результат выполнения программы
x:=5;
y:=3;
a:= x+y;
a:= a+1
writeln (a);
а) 2
б) 8
в) 9
Скажите, с точки зрения алгоритмизации и программирования,
что написано на камне?
Направо пойдёшь - коня потеряешь, налево пойдёшь – жизнь потеряешь.
В. Васнецов “Витязь на распутье”, 1882 г.
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Основные варианты структуры ветвления:
если - то; если – то - иначе;
Полная форма
Неполная форма
да
нет
нет
условие
условие
да
серия команд 2
серия команд 1
серия команд 1
B ? B:=B*2 Оператор ветвления в неполной форме " width="640"
Задача .
Да
Нет
A B ?
B:=B*2
Оператор ветвления в неполной форме
Запись команды ветвления
на языке программирования Pascal
B THEN B:=В*2 ; " width="640"
IF (условие) THEN (операторы) ;
IF AB THEN B:=В*2 ;
B ? В - максимальное A - максимальное Оператор ветвления в полной форме " width="640"
Задача . Из двух чисел найти максимальное.
Да
Нет
A B ?
В - максимальное
A - максимальное
Оператор ветвления в полной форме
B THEN max:=A ELSE max:=B ; " width="640"
IF (условие) THEN (операторы) ELSE (операторы) ;
условие
записывается с помощью знаков сравнения
и принимает два значения: да или нет
IF AB THEN max:=A ELSE max:=B ;
B then max:=A else max:=B; writeln (‘ максимальное число‘, max); end. " width="640"
Запишем решение этой задачи на Паскале
program maximym;
var A, B, max: integer;
begin
writeln (‘введите любые два числа’);
readln (A,B);
if AB then max:=A
else max:=B;
writeln (‘ максимальное число‘, max);
end.
0 then y:=x-50 else y:=x+100; If a*b If AB then C:=A-B; If x8 then y:=x/4 else y:=x*5; " width="640"
Задача № 1 : Ввести число. Если оно неотрицательно,
вычесть из него 50, в противном случае
прибавить к нему 100.
Задача № 2 : Ввести 2 числа. Если их произведение
отрицательно, умножить его на –2 и
вывести на экран, в противном случае
увеличить его в 3 раза и вывести на экран.
Задача № 3 : Ввести 2 числа. Вычесть из большего
меньшее.
Задача № 4 : Ввести число. Если оно больше 8, разделить
его на 4, если меньше или равно 8, то
умножить на 5.
If x0 then y:=x-50 else y:=x+100;
If a*b
If AB then C:=A-B;
If x8 then y:=x/4 else y:=x*5;
Домашнее задание
Задача . Ввести два числа.
Если их сумма больше 100, то сумму
уменьшить в 2 раза, в противном случае
увеличить в 2 раза.
или
Написать программы
для любых двух задач
из карточки.
Урок окончен
Спасибо всем!