2 Розробка алгоритму
Запис y = tg(x) є функцією, для якої відомо, що tg(x) = sin(x)/cos(x). Тому tg(x) приймає значення (існує), коли cos(x) ≠ 0 . Враховуючи те, що х приймає декілька значень слід використовувати масиви – x[i] та у[i], де і – кількість значень змінних. Значення x[i] може бути випадковими.
Враховуючи можливості технології програмування (тобто можливості мови програмування С++) розглянемо розробку схеми алгоритму для таких випадків:
- не має масивів і в алгоритмі передбачається повторне його виконання;
-
використовуються масиви, тобто організується робота з y[i] та x[i];
-
функція tg(x) існує в стандартній бібліотеки і звернення до неї має назву tan(x). Функція повертає значення у або ERRON, коли cos(x) = 0;
-
користувач створює свою окрему функцію F(x) = tg(x), текст програми якої розміщується за межами тексту головної програми. З тексту головної програми до тексту програми функції F(x) передається поточне значення x[i]. Програма F(x) обчислює значення y (або ERRON) і повертає його як y[i] у головну програму.
3 Схема алгоритму
Алгоритм – прийнята послідовність операцій з урахуванням до окремих вимог (збіжність, швидкість, масовість, ефективність та інші). Схема алгоритму це упорядковане зображення прийнятих графічних фігур, за кожною з яких закріплена окрема операція. Для зображення схем алгоритмів використовується біля 50 різних графічних фігур. В таблиці № 1 приведені найбільш поширені до використання графічні зображення та описані їх функції (витяг з ДСТУ 19.701-90 ЄСПД ”Схеми алгоритмів і програм. Позначення умовні графічні).
Таблиця 1 Список (скорочений) графічних символів для побудови схем
|
№ |
Найменування |
Пзначення і розмірив мм |
Функція |
|
1 |
Пуск-зупинка |
b |
Початок, кінець, переривання процесу обробки даних або виконання програми |
|
2 |
Пуск-початок
|
|
Символи застосовують на початку схеми алгоритму або програми. В середині символу може вказуватися найменування дії або ідентифікатор програми
|
|
3 |
Зупинка, кінець, повернення
|
|
|
|
4 |
Процес |
а b |
Виконання операцій, в результаті яких змінюється значення, форма уявлення або розташування даних |
|
5 |
Зумовлений пpоцес |
а b |
Використання раніше створених і окремо описаних алгоритмів або програм (використання стандартної бібліотеки) |
|
6 |
Скорочена деталізація |
а b |
Скорочене позначення схеми алгоритму або програми. Деталізуєма частина програми позначається і закінчується символами ”Початок” i “Повернення”. Над горизонтальною лінією розміщується назва скорочення (Name) |
|
7
|
Рішення, умова
|
5 5 - + |
Вибір напряму виконання алгоритму або програми залежно від певних змінних умов (+ да, - ні) |
|
8 |
Модифікація |
|
Виконання операцій (операції циклу кількістю i=1,n), які міняють команди або групи команд, що змінюють програму |
|
9 |
Операція введення-виведення |
|
Перетворення даних у форму, придатну для обробки (уведення) або відображення результатів обробки (виведення) |
|
10 |
З`єднувач
|
|
Вказівка між перервними лініями потоку, зв’язуючими символами |
|
11 |
Коментар |
|
Зв’язок між елементом схеми і поясненням
|
|
12 |
З`єднувач з перенесенням на інший лист |
|
З`єднувач оформляє розрив ліній, який буває внутрішнім і зовнішнім (між сторінками) |
На рис. 1, 2, 3 та 4 зображені схеми алгоритмів, розглянутих вище варіантів вирішення задачі.
початок


1
1







продовження

2
2 9





Уведення n,
зоголовок

значення Х k=const
i,x[i],y[i]



3 3 10





Z = COS(X)
модифі-








4
катор


4
4 11










-
перевірка Z=0 x[i]
значення


+
i,x[i],y[i]




-
рішення
Y = SIN(X)/Z




5
5
z[i] = cos(x[i] )






6
вивід значення Y
12




6
9 6



вивід – немає z
[i]=
0




рішення Z =
0 -


+





7
7 8


продовжувати
-
y[i]=sin(x[i])/z


+


-

8
кінець
Рис 1 Схема алгоритму Рис 2 Схема алгоритму з масивами
без масивів
F(x)=tg(x[i])
-
1
1 7 початок

























2 2
8



i = 1,n i = 1,n z =
cos(x[i])





модифікатор







3 3 перевірка




yведення
уведення 9 z
= 0







x[i]
x[i]
+

- y(x[i])=
4
sin(x[i])/z
t




an(x[i])
– функція 4
стандартної бібліотеки



результат
y[i]
або ERRNO
10 11
5 F(x[i])

вивід y[i] або ERRNO,
5



як що немає рішення


5


вивід y[i]
12



6 або ERRON
повернення

кінець
return
y(x[i])



6
кінець
Рис 3 Схема алгоритму з Рис 4 Схема алгоритму з використанням
використанням функції користувача
стандартної бібліотеки

= 10мм,15, 20, 25, 30, …

0.5b
b

5 a =10мм, 15,
20,…






b=1,5a
5













5





Місто
для назви




Name








+
-





5








Текст
коментаря

На лист 5

З листа 7