Upload
olga-lyulchik
View
244
Download
4
Embed Size (px)
Citation preview
Програмуваннямовою Паскаль
Розгалуження
1
2
Задача. Вводиться два числа, потрібно вивести на екран найбільше
Ідея розвязання: Потрібно вивести на екран перше число, якщо воно більше другого, чи друге, якщо воно більше першого.
Особливість: Дії відбуваються за певних умов (Якщо.. То..)
Алгоритми, у яких послідовність кроків залежить від певних умов, називають розгалуженнями.
Алгоритми, у яких послідовність кроків залежить від певних умов, називають розгалуженнями.
3
Варіант 1. Блок-схема
Початок
max:= a;
введення a,b
вивід max
a > b?
max:= b;
кінец
Так ні Повна форма розгалуженняПовна форма розгалуження
блок «розв’язання»
блок «розв’язання»
Якщо a = b??
4
Варіант 1. Программа
max := a;max := a;
max := b;max := b;
Повна форма розгалуженняПовна форма розгалуження
program qq;var a, b, max: integer;begin writeln(‘Введіть два цілих числа'); read ( a, b ); if a > b then begin end else begin end; writeln ('Найбільше число ', max);end.
5
Умовний оператор
if <умова> then begin {що робити, якщо умова вірна} end else begin {що робити, якщо умова не вірна} end;
if <умова> then begin {що робити, якщо умова вірна} end else begin {що робити, якщо умова не вірна} end;
Особливості:• перед else НЕ ставиться крапка з комою• Друга частина(else …) може бути відсутня(неповна
форма)• Якщо в блоці один оператор можна забратиbegin і end
6
Що не так?
if a > b then begin a := b; end else b := a; end;
if a > b then begin a := b; end else b := a; end;
if a > b then begin a := b; else begin b := a; end;
if a > b then begin a := b; else begin b := a; end;
if a > b then begin a := b; end; else begin b := a; end;
if a > b then begin a := b; end; else begin b := a; end;
if a > b then begin a := b; end else b > a begin b := a; end;
if a > b then begin a := b; end else b > a begin b := a; end;
begin
end
beginend
7
Варіант 2. Блок-схема
Неповна форма розгалуження
Неповна форма розгалуження
Початок
max:= a;
Введення a,b
вивід max
max:= b;
кінець
да нетb > a?
8
Вариант 2. Программа
program qq;var a, b, max: integer;begin writeln(‘Введіть два цілих числа'); read ( a, b ); max := a; if b > a then max := b;
writeln (‘Найбульше -', max);end.
Неповна форма
розгалуження
Неповна форма
розгалуження
9
Вариант 2Б. Программа
program qq;var a, b, max: integer;begin writeln(‘Введіть два цілих числа'); read ( a, b ); max := b; if ??? then ???
writeln ('Найбільше число ', max);end.
max := a;max := a;a > ba > b
10
Що не так?
if a > b then begin a := b; else b := a;
if a > b then begin a := b; else b := a;
if a > b then begin a := b; end; else b := a;
if a > b then begin a := b; end; else b := a;
if a > b then else begin b := a; end;
if a > b then else begin b := a; end;
if a > b then a := b; else b := a; end;
if a > b then a := b; else b := a; end;
a := bend
a := b if b >= a then b := a;
if b >= a then b := a;
11
Завдання
«4»: Ввести три числа і знайти найбільше з них. Наприклад:
Ввести три числа:4 15 9Найбільше число 15
«5»: Ввести п’ять чисел і знайти найбільше з них. Наприклад: Ввести пять чисел:
4 15 9 56 4 Найбільше число 56