Алгоритмізація h2>
Основним у
процесі програмування є розробка алгоритму. Це одна з найбільш
складних етапів вирішення задачі з використанням ЕОМ. На початку навчання
програмування, на наш погляд, доцільно не прив'язуватися відразу до
якому-небудь мови, розробляти алгоритми без запису на ЯПВУ, а, наприклад, з
допомогою блок-схем або іншим аналогічним способом. Після такої "чистої"
алгоритмізації учням або студентам простіше перейти до запису того ж алгоритму
певною мовою програмування. У даній публікації
продемонстрований саме такий підхід. p>
Нагадаємо, що
основними алгоритмічними структурами (ОАС) є слідування, розвилка і
цикл. У складніших випадках використовуються суперпозиції (вкладення) ОАС. P>
Нижче наведено
графічні позначення (позначення на блок-схемах) ОАС. p>
Структура "проходження" p>
Повна розвилка p>
Неповна розвилка p>
Цикл з передумова (цикл ПОКИ) p>
Цикл з постусловіем (цикл ДО) p>
Цикл з параметром p>
На схемах СЕРІЯ
позначає один або декілька будь-яких операторів; УМОВА є логічне
вираз (ЛВ) (якщо його значення ІСТИНА, перехід відбувається за гілки ТАК, інакше
- По НІ). На схемі циклу з параметром використані позначення: ПЦ - параметр
циклу, НЗ - початкове значення параметра циклу, КЗ - кінцеве значення
параметра циклу, Ш - крок зміни параметра циклу. p>
Початок і кінець
алгоритму на блок-схемах позначають овалом, що вводяться і виводяться змінні
записуються в паралелограма. p>
У прикладах ми
будемо використовувати запис алгоритмів за допомогою блок-схем і словесний опис. p>
Лінійні
алгоритми h2>
Найпростіші завдання
мають лінійний алгоритм рішення. Це означає, що він не містить перевірок
умов і повторень. p>
Приклад 1.
Пішохід йшов по пересіченій місцевості. Його швидкість руху по рівнині v1
км/год, вгору - v2 км/год і під гору - v3 км/ч. Час руху відповідно t1,
t2 і t3 ч. Який шлях пройшов пішохід? p>
p>
1.
Ввести v1, v2, v3, t1, t2, t3. P>
2. S1: = v1 * t1. P>
3. S2: = v2 * t2. P>
4. S3: = v3 * t3. P>
5. S: = S1 + S2 + S3. P>
6.
Вивести значення S. p>
7. Кінець. P>
Для перевірки
працездатності алгоритму необхідно задати значення вхідних змінних,
обчислити кінцевий результат за алгоритмом і порівняти з результатом ручного
рахунку. p>
Приклад 2. Дано
тризначне натуральне число n, у записі якого немає нулів. Скласти
алгоритм, який повертає значення TRUE, якщо вірно твердження:
"число n кратно кожній своїй цифрі", і БРЕХНЯ - в іншому випадку. p>
p>
1.
Ввести число n p>
2. A: =
n mod 10 (розряд одиниць) p>
3. B: =
n div 100 (розряд сотень) p>
4. C: =
n div 10 mod 10 (десятки) p>
5. L: = (n mod A = 0) and (n mod B = 0) and
(n mod C = 0) p>
6.
Висновок L p>
7.
Кінець p>
На наведеній
вище схемі DIV і MOD відповідно операції ділення без остачі і отримання залишку
від цілочисельного поділу. У фігурних дужках записані пояснення (коментарі)
до операторів. p>
Розвилка h2>
Досить
часто ту чи іншу дію повинно бути виконано в залежності від значення
логічного вираження, що виступає в якості умови. У таких випадках
використовується розвилка. p>
Приклад 1.
Обчислити значення функції p>
p>
p>
1.
Ввести x. p>
2. Якщо
x