Программирование ветвящихся алгоритмов
Условный оператор
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ВЕТВЛЕНИЕ»
Форма организации действий, при которых в зависимости от выполнения некоторого условия происходит одна или другая последовательность действий, называется ветвлением.
На языке программирования Pascal ветвление кодируется с использованием условного оператора if … then … else .
ФОРМЫ УСЛОВНОГО ОПЕРАТОРА
1) Полная форма
if then else ;
2) Неполная форма
if then ;
Операторы 1 и 2 могут быть простыми или составными.
Если условие принимает значение true (истина) , то выполняется оператор 1, если – false (ложь), то оператор 2.
Имеется кнопка для перехода на слайд 7.
ПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА
if then else ;
условие
условие
нет
да
нет
да
оператор 1
оператор 1
оператор 2
оператор 2
НЕПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА
if then ;
условие
нет
да
оператор
больше or или меньше или равно = больше или равно не равно Примеры: 1) if ( n0 ) then n:=n+ 2 ; 2) if (n- 3 ) then n:=n+ 1 ; " width="640"
УСЛОВИЕ (СРАВНЕНИЕ ВЫРАЖЕНИЙ)
простое составное
операции отношений логические операции
= равно not не
меньше and и
больше or или
меньше или равно
= больше или равно
не равно
Примеры: 1) if ( n0 ) then n:=n+ 2 ;
2) if (n- 3 ) then n:=n+ 1 ;
Div.
Для того, чтобы найти частное от деления, мы используем операцию div.
Примеры:
25 div 20 = 1;
20 div 25 = 0;
39 div 5 = 7;
158 div 3 = 52.
Mod.
Для того, чтобы найти остаток от деления, мы используем операцию mod.
Примеры:
25 mod 20 = 5;
20 mod 25 = 0;
39 mod 5 = 4;
158 mod 3 = 2.
b ) then d:=a else d:=b; Ответ: 3 i f ( ab ) then d:=a else d:=b; Ответ: 3 2) a:=-3; b:=2; i f ( ab ) then d:=a else d:=b; Ответ: 2 b:=2; i f ( ab ) then d:=a else d:=b; Ответ: 2 " width="640"
КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ:
1) a:=3; b:=2;
i f ( ab ) then d:=a else d:=b;
Ответ:
3
- i f ( ab ) then d:=a else d:=b; Ответ: 3
2) a:=-3;
b:=2;
i f ( ab ) then d:=a else d:=b;
Ответ:
2
- b:=2; i f ( ab ) then d:=a else d:=b; Ответ: 2
b ) then d:=a else begin d:=b; d:=d+a; end; Ответ: 5 d:=5; i f ( ab ) then d:=a else begin d:=b; d:=d+a; end; Ответ: 5 " width="640"
КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ:
3) a:=2; b:=3;
d:=5;
i f ( ab ) then d:=a else
begin
d:=b;
d:=d+a;
end;
Ответ:
5
- d:=5; i f ( ab ) then d:=a else begin d:=b; d:=d+a; end; Ответ: 5
СОСТАВИТЬ БЛОК-СХЕМУ И НАПИСАТЬ ТЕКСТ ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ:
1) Даны два целых числа. Найти наименьшее из них.
2) Ввести число. Если оно неотрицательно, вычесть из него 30, в противном случае прибавить к нему 70.
3) Ввести целое число и определить четное оно или нет.
ДАНЫ ДВА ЦЕЛЫХ ЧИСЛА. НАЙТИ НАИМЕНЬШЕЕ ИЗ НИХ
начало
program zadanie 1;
var
a,b : integer;
min: integer;
begin
write('Vvedit e a , b : ');
readln( a , b );
if a
min := a
else
min := b ;
writeln('minimum = ', min);
end.
ввод a,b
a
да
нет
min:=a
min:=b
вывод min
конец
= 0 then a := a - 3 0 else a := a + 7 0 ; writeln(‘ a = ', a ); end . ввод a a = 0 да нет a:=a - 3 0 a:=a + 7 0 вывод a конец " width="640"
ВВЕСТИ ЧИСЛО. ЕСЛИ ОНО НЕОТРИЦАТЕЛЬНО, ВЫЧЕСТЬ 30, ИНАЧЕ ПРИБАВИТЬ 70
начало
program zadanie2 ;
var
a : integer;
begin
write('Vvedit e a : ');
readln( a );
if a = 0 then
a := a - 3 0
else
a := a + 7 0 ;
writeln(‘ a = ', a );
end .
ввод a
a = 0
да
нет
a:=a - 3 0
a:=a + 7 0
вывод a
конец
ВВЕСТИ ЦЕЛОЕ ЧИСЛО И ОПРЕДЕЛИТЬ ЧЕТНОЕ ОНО ИЛИ НЕТ
начало
ввод a
program zadanie3 ;
var a : integer;
begin
write('Vvedi te a : ');
readln( a );
if ( a mod 2 = 0 ) then
writeln('Da')
else
writeln('Net');
end .
нет
a mod 2 =0
да
вывод ‘Da’
вывод ‘Net’
конец
13
ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
1) Ввести 2 числа. Если их произведение отрицательно, умножить его на 2 и вывести на экран, в противном случае увеличить его в 1,5 раза и вывести на экран.
2) Ввести число. Если оно четное, разделить его на 4, в противном случае умножить на 5.
3) Даны целые числа m, n . Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.