Поняття розгалуження. Види розгалужень
DESCRIPTION
Поняття розгалуження. Види розгалужень. Задача 1. Обчислити значення виразу ( a – b ) / ( c – d ) , де a , b , c , d – дійсні числа. Цей вираз містить дію ділення на вираз зі змінними, значення якого може дорівнювати нулю. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/1.jpg)
Поняття розгалуження.Види розгалужень.
![Page 2: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/2.jpg)
Задача 1. Обчислити значення виразу (a – b) / (c – d), де a, b, c, d – дійсні числа. Цей вираз містить дію ділення на вираз зі змінними, значення якого може дорівнювати нулю. Тобто якщо значення різниці (c – d) дорівнює нулю, то значення даного виразу обчислити не можна.
![Page 3: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/3.jpg)
Команда, в якій виконавець повинен порівняти числа, змінні чи вирази є командою перевірки умови. Результатом такої команди може бути або істина (умова виконується), або хиба (умова не виконується).
![Page 4: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/4.jpg)
Т.я. порівняння це логічний вираз, який набуває значення true або false залежно від конкретних значень змінних, то команда перевірки умови є командою обчислення значення логічного виразу.
![Page 5: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/5.jpg)
Алгоритм розв’язування задачі 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)
![Page 6: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/6.jpg)
У блок-схемі алгоритму команди перевірки умови (обчислення значення логічного виразу) позначаються блоком Рішення
Оскільки результатом виконання цих команд може бути true або false, то з цього блоку є два виходи.
Вихід Так означає, що результатом перевірки умови є true, а вихід Ні – що результатом перевірки умови є false.
блок-схема зображена - на стор. 74
![Page 7: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/7.jpg)
Виконаємо наведений алгоритм для
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
![Page 8: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/8.jpg)
Виконаємо наведений алгоритм для
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
Повідомлення: «Вираз значення не має: ділення на нуль»
![Page 9: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/9.jpg)
Характерною рисою цього алгоритму є те, що при кожному його виконанні деякі команди будуть виконуватися (причому кожна один раз), а деякі – виконуватися не будуть. Це залежить від результату виконання команди перевірки умови.
Фрагмент алгоритму від блоку Рішення до точки змикання двох переходів називається розгалуженням.
![Page 10: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/10.jpg)
В алгоритмах використовують розгалуження двох видів:
повне розгалуження і
неповне розгалуження.
![Page 11: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/11.jpg)
Блок-схема повного розгалуження
рис. 2.40 стор. 76
команда1
перевірка умови
команда2
Так ( )true Ні ( )false
![Page 12: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/12.jpg)
Виконання повного розгалуження відбувається так:
1. виконати команду перевірки умови; 2. якщо результат перевірки умови true, то
виконати послідовність команд 1, після чого перейти до виконання першої ко-манди наступного фрагмента алгоритму;
3. якщо ж результат перевірки умови false, то виконати послідовність команд 2, після чого перейти до виконання першої команди наступного фрагмента алгоритму.
стор. 76
![Page 13: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/13.jpg)
Блок-схема неповного розгалуження
рис. 2.41 стор. 76
команда
перевірка умови
Так ( )true Ні ( )false
![Page 14: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/14.jpg)
Виконання неповного розгалуження відбувається так:
1. виконати команду перевірки умови; 2. якщо результат перевірки умови true, то
виконати послідовність команд, після чого перейти до виконання першої ко-манди наступного фрагмента алгоритму;
3. якщо ж результат перевірки умови false, то нічого не виконуючи перейти до виконання першої команди наступного фрагмента алгоритму.
стор. 76
![Page 15: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/15.jpg)
Задача 2. Дано два числа. Визначити, чи рівні вони. Якщо ні, то визначити яке з них більше.
Блок-схема алгоритму розв’язування зображена на рис. 2.42 (стор. 77).
![Page 16: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/16.jpg)
Виконаємо алгоритм для
x = 5; y = 5 Команда Результат виконання
Увести значення змінних x, y
Перевірити умову х=y
x = 5; y = 5;
(5=5) = true
Повідомити: «Числа рівні» Повідомлення: «Числа рівні»
![Page 17: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/17.jpg)
Виконаємо алгоритм для
x = 0; y = 10 Команда Результат виконання
Увести значення змінних x, y
Перевірити умову х=y
Перевірити умову х>y
x = 0; y = 10;
(0=10) = false
Повідомити: «Друге числобільше»
Повідомлення: «Друге число більше»
(0>10) = false
![Page 18: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/18.jpg)
Виконаємо алгоритм для
x = 5; y = -8 Команда Результат виконання
Увести значення змінних x, y
Перевірити умову х=y
Перевірити умову х>y
x = 5; y = -8;
(5=-8) = false
Повідомити: «Перше числобільше»
Повідомлення: «Перше число більше»
(5>-8) = true
![Page 19: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/19.jpg)
Д/з
§2.8 (стор. 73-77)
пит. 1-7 на стор. 82
Впр. 2, 4* стор. 82-83
![Page 20: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/20.jpg)
Вправа 1 стор. 82початок
Ввести a, b, c
a = 0Так Ні
Повідомити: “Вираз не має значення: ділення на нуль” z:= (a + b)-c/a
Повідомити значення змінної z
кінець
![Page 21: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/21.jpg)
Виконаємо алгоритм для
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
![Page 22: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/22.jpg)
Виконаємо алгоритм для
a = 0; b = 50; c = 10 Команда Результат виконання
Увести значення змінних a, b, c
Перевірити умову a=0
a = 0; b = 50; c = 10
(0=0) = true
Повідомити: «Вираз значення не має: ділення на нуль»
Повідомлення: «Вираз значення не має: ділення на нуль»
![Page 23: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/23.jpg)
Вправа 3 стор. 83початок
Ввести a, b
a = 0Так Ні
Так Ніb = 0
Повідомити: “x - будь-якечисло”
Повідомити: “Рівняння розв’язку не має”
x:= b/a
Повідомити значення змінної x
кінець
![Page 24: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/24.jpg)
Виконаємо алгоритм для
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
![Page 25: Поняття розгалуження. Види розгалужень](https://reader031.vdocuments.mx/reader031/viewer/2022013108/56813ec7550346895da92dd7/html5/thumbnails/25.jpg)
Виконаємо алгоритм для
в) a = 0; b = 12 Команда Результат виконання
Увести значення змінних a, b
Перевірити умову a=0
a = 0; b = 12
(0=0) = true
Повідомити: «Рівняння розв’язкуне має»
Повідомлення: «Рівняння розв’язку не має»
Перевірити умову b=0 (12=0) = false