Реалізація алгоритму на ЕОМ. h2>
Тут ми розглянемо проблему реалізації алгоритму на ЕОМ. Однак, перш
введемо ряд понять. p>
Визначення 9.1. Програма - алгоритм, представлений у формі придатній для
його сприйняття та виконання ЕОМ. p>
Визначення 9.2. Алгоритмічний мова - формальна алгоритмічна система,
призначена для реалізації алгоритмів на ЕОМ. p>
Отже, в чому суть розглянутої
проблеми? Програма, тобто реалізація алгоритму на ЕОМ, повинна задовольняти
низці вимог: p>
Програма повинна бути ефективною: p>
сприйматися однозначно; p>
не вимагати більших витрат на підготовку до виконання і зберігання; p>
швидко виконуватися ЕОМ. p>
Перетворення алгоритму у форму програми людиною має бути ефективним: p>
це має вимагати від людини розумних зусиль, ніж ці зусилля менше,
тим краще; p>
величину цих зусиль зазвичай вимірюють часом, необхідним для написання
програми та кількістю помилок, допущених при написанні. p>
Програма повинна бути легко читається і розуміється різними людьми; p>
Програма повинна бути ефективно перевіряється на коректність, тобто
відсутність помилок. p>
p>
Вимога 3 пов'язано з тим, що програма, як правило, експлуатується не
тільки її автором. Тому, якщо в ході її експлуатації у користувача
виникають питання, пов'язані з її роботою, то він, прочитавши програму, міг би
знайти відповіді. Аналогічна ситуація виникає або, коли ми хочемо повторно
використовувати вже існуючу, не нами написану програму, як фрагмент у
іншій програмі, або коли нам необхідно модифікувати програму без її
автора. Іншою важливою причиною для вимоги ясності тексту програми є
обмін алгоритмами між людьми. p>
Ну і нарешті, вимога 4. Добре відомо, що людині властиво
помилятися. Тому, навіть коли ми записуємо алгоритм, коректність якого
була строго доведена, ми не можемо гарантувати, що при перезапису цього
алгоритму у форму програми, ми не зробили помилок, тобто в програмі немає помилок.
Коректність програми необхідно перевірити. P>
Визначення 9.3. коректної будемо
називати програму, яка для будь-яких вихідних даних з безлічі допустимих
вихідних даних, дає правильний результат. p>
Детальніше ми розглянемо поняття коректності програми, правильного
результату пізніше, в лекції 18. p>
Зауважимо, що під безліччю
припустимих вихідних даних програми ми розуміємо область застосування її
алгоритму, представлену в належній формі. p>
Отже, алгоритм повинен бути записаний
на алгоритмічній мові, щоб бути виконаним. Сам алгоритмічну мову
повинен бути з одного боку зрозумілий ЕОМ, а з іншого - він повинен бути достатньо
виразний для людини. Щоб задовольняти першого умові, алгоритмічний
мова повинна мати: p>
суворо визначений синтаксис і словник. p>
словник повинен містити тільки ті дії та типи даних, з якими може
працювати ЕОМ. p>
Комп'ютер не може бігати, стрибати, плакати, сміятися, цілуватися і т.д.
Тому, в словнику алгоритмічного мови не може бути таких дій. P>
Існують сотні різних
алгоритмічних мов. Оскільки всі вони призначені для запису алгоритмів,
то природно що вони мають багато спільного. При вивченні поняття алгоритму ми
вже виділили основні його компоненти: p>
дані, представлені константами та змінними; p>
тип даних, як безліч можливих значень; p>
вирази, як дії, що визначають правило обчислення значення; Дії
у висловах називаються операціями. p>
дії, що змінюють стан обчислювального процесу, і звані
операторами. p>
До останнього пункту відносяться дії, що визначають куди розмістити
отримані значення, і дії, що визначають порядок обчислення. p>
Розглянемо приклад. p>
Приклад 9.1. p>
Написати програму на Pascal, яка обчислює суму гармонійного ряду, тобто ряду виду . Ця програма представлена
на рис. 9.1. P>
Program
Harmonic (input, output); p>
(Програма Harmonic обчислює суму n перших членів гармонійного ряду від
1 до п; p>
Input: (п