11
Програмування мовою Паскаль Розгалуження 1

програмування

Embed Size (px)

Citation preview

Page 1: програмування

Програмуваннямовою Паскаль

Розгалуження

1

Page 2: програмування

2

Задача. Вводиться два числа, потрібно вивести на екран найбільше

Ідея розвязання: Потрібно вивести на екран перше число, якщо воно більше другого, чи друге, якщо воно більше першого.

Особливість: Дії відбуваються за певних умов (Якщо.. То..)

Алгоритми, у яких послідовність кроків залежить від певних умов, називають розгалуженнями.

Алгоритми, у яких послідовність кроків залежить від певних умов, називають розгалуженнями.

Page 3: програмування

3

Варіант 1. Блок-схема

Початок

max:= a;

введення a,b

вивід max

a > b?

max:= b;

кінец

Так ні Повна форма розгалуженняПовна форма розгалуження

блок «розв’язання»

блок «розв’язання»

Якщо a = b??

Page 4: програмування

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.

Page 5: програмування

5

Умовний оператор

if <умова> then begin {що робити, якщо умова вірна} end else begin {що робити, якщо умова не вірна} end;

if <умова> then begin {що робити, якщо умова вірна} end else begin {що робити, якщо умова не вірна} end;

Особливості:• перед else НЕ ставиться крапка з комою• Друга частина(else …) може бути відсутня(неповна

форма)• Якщо в блоці один оператор можна забратиbegin і end

Page 6: програмування

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

Page 7: програмування

7

Варіант 2. Блок-схема

Неповна форма розгалуження

Неповна форма розгалуження

Початок

max:= a;

Введення a,b

вивід max

max:= b;

кінець

да нетb > a?

Page 8: програмування

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.

Неповна форма

розгалуження

Неповна форма

розгалуження

Page 9: програмування

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

Page 10: програмування

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;

Page 11: програмування

11

Завдання

«4»: Ввести три числа і знайти найбільше з них. Наприклад:

Ввести три числа:4 15 9Найбільше число 15

«5»: Ввести п’ять чисел і знайти найбільше з них. Наприклад: Ввести пять чисел:

4 15 9 56 4 Найбільше число 56