Page 233 - 4505
P. 233
Приклад 1. Обчислити значення функції
1. Ввести x.
2. Якщоx _12, B> y:=_x 2
4
3. Якщоx<0, то y:=x
4. y := x–2
5. Вивестиy
6. Кінець
При тестуванні алгоритмів з розвилкою необхідно підбирати такі початкові дані, щоб
можна було перевірити всі гілки. У приведеному вище прикладі повинно бути принаймні три
тестові набори.
Приклад 2. Дано натуральне число n. Якщо число непарне і його подвоєння не приведе до
виходу за 32767 (двобайтове ціле число із знаком), подвоїти його, інакше — залишити без
зміни.
Щоб задовольнити умові подвоєння, число n має бути непарним і менше 16384.
1. Ввести число n
2. Якщочисло n непарне і меньше
16384, то n:= n* 2
3. Виведення n
4. Кінець
Розглянутий приклад ілюструє неповну розвилку. Також слід зазначити, тут логічний
вираз, що є умовою, містить 2 операнди.
Цикли
Якщо які-небудь оператори необхідно виконати кілька разів, то їх не переписують
кожного разу наново, а організовують цикл.
Приклад 1. Підрахувати кількість непарних цифр в записі натурального числа n.
Ідея рішення. Із заданого числа вибирати з молодшого розряду цифру за цифрою до тих
пір, поки воно не вичерпається, тобто стане рівним нулю. Кожну непарну цифру враховувати.
1. Ввести число n
2. K := 0 {підготуватилічильник}
3. Якщоn = 0, переход к п. 7
4. Якщоn mod 10 mod 2 = 1, то K := K +1
5. n := n div 10
6. Перехідк п. 3
7. ВивестиK
8. Кінець
Завдання вирішене двома способами. Зліва рішення оформлене з використанням циклу з
передумовою, справа — з постумовою.
Приклад 2. Дана послідовність, загальний член якої визначається формулою
Обчислити при n>2 суму тих її членів, які більше заданого числа e.
При рішенні задачі знаходиться черговий член послідовно і, якщо він більше e, додається
до суми.
1. Ввести
2. S := 0
3. A := 1/4
4. n := 3
5. ПорівнятиА з . ЯкщоA>= ,
перейти доп. 10
6. S := S + A
229