Поняття розгалуження. Види розгалужень.

Post on 07-Jan-2016

170 views 10 download

description

Поняття розгалуження. Види розгалужень. Задача 1. Обчислити значення виразу ( a – b ) / ( c – d ) , де a , b , c , d – дійсні числа. Цей вираз містить дію ділення на вираз зі змінними, значення якого може дорівнювати нулю. - PowerPoint PPT Presentation

Transcript of Поняття розгалуження. Види розгалужень.

Поняття розгалуження.Види розгалужень.

Задача 1. Обчислити значення виразу (a – b) / (c – d), де a, b, c, d – дійсні числа. Цей вираз містить дію ділення на вираз зі змінними, значення якого може дорівнювати нулю. Тобто якщо значення різниці (c – d) дорівнює нулю, то значення даного виразу обчислити не можна.

Команда, в якій виконавець повинен порівняти числа, змінні чи вирази є командою перевірки умови. Результатом такої команди може бути або істина (умова виконується), або хиба (умова не виконується).

Т.я. порівняння це логічний вираз, який набуває значення true або false залежно від конкретних значень змінних, то команда перевірки умови є командою обчислення значення логічного виразу.

Алгоритм розв’язування задачі 1 1. Увести значення змінних a, b, c, d.

2. Обчислити х := c – d.

3. Обчислити значення логічного виразу х = 0.

4. Якщо значення логічного виразу (х = 0) true, то повідомити «Вираз значення не має: ділення на нуль», після чого виконати команду 8, якщо false – то виконати команду 5.

5. Обчислити у := a – b.

6. Обчислити z := у/х.

7. Повідомити значення змінної z.

8. Закінчити виконання алгоритму.

(стор. 74)

У блок-схемі алгоритму команди перевірки умови (обчислення значення логічного виразу) позначаються блоком Рішення

Оскільки результатом виконання цих команд може бути true або false, то з цього блоку є два виходи.

Вихід Так означає, що результатом перевірки умови є true, а вихід Ні – що результатом перевірки умови є false.

блок-схема зображена - на стор. 74

Виконаємо наведений алгоритм для

a = 5; b = 6; c = –3; d = 5

(стор. 75)

Команда Результат виконання

Увести значення змінних a, b, c, d

х := c – d

Обчислити значення логічноговиразу х=0

у := a – b

z := у/х

Повідомити значення змінної z

a = 5; b = 6; c = –3; d = 5

х = –3 – 5 = –8

(-8=0) = false

у = 5 – 6 = –1

z = –1/(–8) = 0,125

z = 0,125

Виконаємо наведений алгоритм для

a = 12,3; b = -1; c = 8,2; d =

8,2

(стор. 75)

Команда Результат виконання

Увести значення змінних a, b, c, d

х := c – d

Перевірити умову х=0

Повідомити: «Вираз значення не має: ділення на нуль»

a = 12,3; b = –1; c = 8,2; d = 8,2

х = 8,2 – 8,2 = 0

(0=0) = true

Повідомлення: «Вираз значення не має: ділення на нуль»

Характерною рисою цього алгоритму є те, що при кожному його виконанні деякі команди будуть виконуватися (причому кожна один раз), а деякі – виконуватися не будуть. Це залежить від результату виконання команди перевірки умови.

Фрагмент алгоритму від блоку Рішення до точки змикання двох переходів називається розгалуженням.

В алгоритмах використовують розгалуження двох видів:

повне розгалуження і

неповне розгалуження.

Блок-схема повного розгалуження

рис. 2.40 стор. 76

команда1

перевірка умови

команда2

Так ( )true Ні ( )false

Виконання повного розгалуження відбувається так:

1. виконати команду перевірки умови; 2. якщо результат перевірки умови true, то

виконати послідовність команд 1, після чого перейти до виконання першої ко-манди наступного фрагмента алгоритму;

3. якщо ж результат перевірки умови false, то виконати послідовність команд 2, після чого перейти до виконання першої команди наступного фрагмента алгоритму.

стор. 76

Блок-схема неповного розгалуження

рис. 2.41 стор. 76

команда

перевірка умови

Так ( )true Ні ( )false

Виконання неповного розгалуження відбувається так:

1. виконати команду перевірки умови; 2. якщо результат перевірки умови true, то

виконати послідовність команд, після чого перейти до виконання першої ко-манди наступного фрагмента алгоритму;

3. якщо ж результат перевірки умови false, то нічого не виконуючи перейти до виконання першої команди наступного фрагмента алгоритму.

стор. 76

Задача 2. Дано два числа. Визначити, чи рівні вони. Якщо ні, то визначити яке з них більше.

Блок-схема алгоритму розв’язування зображена на рис. 2.42 (стор. 77).

Виконаємо алгоритм для

x = 5; y = 5 Команда Результат виконання

Увести значення змінних x, y

Перевірити умову х=y

x = 5; y = 5;

(5=5) = true

Повідомити: «Числа рівні» Повідомлення: «Числа рівні»

Виконаємо алгоритм для

x = 0; y = 10 Команда Результат виконання

Увести значення змінних x, y

Перевірити умову х=y

Перевірити умову х>y

x = 0; y = 10;

(0=10) = false

Повідомити: «Друге числобільше»

Повідомлення: «Друге число більше»

(0>10) = false

Виконаємо алгоритм для

x = 5; y = -8 Команда Результат виконання

Увести значення змінних x, y

Перевірити умову х=y

Перевірити умову х>y

x = 5; y = -8;

(5=-8) = false

Повідомити: «Перше числобільше»

Повідомлення: «Перше число більше»

(5>-8) = true

Д/з

§2.8 (стор. 73-77)

пит. 1-7 на стор. 82

Впр. 2, 4* стор. 82-83

Вправа 1 стор. 82початок

Ввести a, b, c

a = 0Так Ні

Повідомити: “Вираз не має значення: ділення на нуль” z:= (a + b)-c/a

Повідомити значення змінної z

кінець

Виконаємо алгоритм для

a = 10; b = 5; c = 100 Команда Результат виконання

Увести значення змінних a, b, c

Перевірити умову a=0

z := (a + b) – c/a

a = 10; b = 5; c = 100

(10=0) = false

Повідомити значення змінної z z = 5

z = (10 + 5) – 100/10 = 5

Виконаємо алгоритм для

a = 0; b = 50; c = 10 Команда Результат виконання

Увести значення змінних a, b, c

Перевірити умову a=0

a = 0; b = 50; c = 10

(0=0) = true

Повідомити: «Вираз значення не має: ділення на нуль»

Повідомлення: «Вираз значення не має: ділення на нуль»

Вправа 3 стор. 83початок

Ввести a, b

a = 0Так Ні

Так Ніb = 0

Повідомити: “x - будь-якечисло”

Повідомити: “Рівняння розв’язку не має”

x:= b/a

Повідомити значення змінної x

кінець

Виконаємо алгоритм для

a) a = 2; b = -8 Команда Результат виконання

Увести значення змінних a, b

Перевірити умову a=0

x := b/a

a = 2; b = -8

(2=0) = false

Повідомити значення змінної x x = -4

x = -8/2 = -4

Виконаємо алгоритм для

в) a = 0; b = 12 Команда Результат виконання

Увести значення змінних a, b

Перевірити умову a=0

a = 0; b = 12

(0=0) = true

Повідомити: «Рівняння розв’язкуне має»

Повідомлення: «Рівняння розв’язку не має»

Перевірити умову b=0 (12=0) = false