четвер, 9 жовтня 2014 р.

Форми подання алгоритму



Тема. Форми подання алгоритмів
Використовують такі способи подання (опису) алгоритмів:
• словесно-формульний (опис здійснюється в словесній формі з використанням математичних чи інших формул);
• графічний (за допомогою блок-схем або структурограм (діаграм) Нессі-Шнейдермана);
• з використанням спеціальних алгоритмічних мов (таких як навчальна алгоритмічна мова);
• у вигляді програм, написаних певною мовою програмування.
 Розглянемо алгоритми розв’язування такої задачі.
Задача 1. Є посудина місткістю 8 л, яка заповнена рідиною, і дві порожні посудини місткістю 5 л і 3 л. Потрібно одержати в одній з посудин 1 літр рідини і повідомити в якій.
Розглянемо виконавця, який має таку систему команд:
1.  Перелити рідину з однієї посудини в іншу.
2.  Наповнити одну з посудин рідиною з іншої посудини.
3. Вивести повідомлення.
Для цього виконавця алгоритм розв’язування цієї задачі буде таким:
1.  Наповнити 3-літрову посудину з 8-літрової.
2.  Перелити з 3-літрової посудини в 5-літрову.
3.  Наповнити 3-літрову посудину з 8-літрової.
4.  Наповнити 5-літрову посудину з 3-літрової.
5.  Вивести повідомлення: «1 л одержано в 3-літровій посудині».
Наведений алгоритм,  записаний у вигляді послідовності команд, кожна з яких має свій порядковий номер і записана українською мовою, тобто мовою людського спілкування. Така форма подання алгоритму називається словесною.
Характерними рисами цього алгоритму є те, що всі його команди виконуються в записаній послідовності, кожна команда алгоритму обов’язково виконується, причому тільки один раз. Такі алгоритми (або фрагменти алгоритму) називаються лінійними.
Але словесна форма подання алгоритму не завжди є зручною і наочною. Тому, крім такої форми подання, часто використовують графічну форму подання алгоритму, або подання алгоритму у вигляді блок-схеми.
У блок-схемі алгоритму кожна команда записується в геометричній фігурі (блоці) певного вигляду. Блоки з’єднуються між собою стрілками, які вказують напрям переходу для виконання наступної команди алгоритму.
Деякі елементи (блоки) блок-схеми алгоритму 
 
Найменування
Позначення
Призначення
Термінатор
Початок або кінець алгоритму
Процес

Виконання однієї або кількох команд
Дані

Введення вхідних даних (аргументів) або виведення вихідних даних (результатів)
Рішення
Прийняття рішення залежно від результату перевірки вказаної умови

Розглянемо ще одну задачу – задачу на обчислення значення виразу, і складемо алгоритм її розв’язування.
Задача 2. Обчислити значення виразу (ab) * (cd), де a, b, c, d – дійсні числа.
Розглянемо виконавця, який вміє отримувати значення змінних, виконувати арифметичні операції над дійсними числами, запам’ятовувати результати арифметичних операцій і повідомляти результат. Передавання даних виконавцеві називається введенням даних, а повідомлення виконавцем результатів виконання алгоритму – виведенням даних (результатів).
Запишемо алгоритм розв’язування задачі 2 для такого виконавця в словесній формі.
1.  Увести значення змінних a, b, c, d. (У результаті виконання цієї команди виконавець запам’ятовує введені дані як значення відповідних змінних.)
2. Обчислити значення виразу  ab  і результат присвоїти змінній х (запам’ятати як значення цієї змінної).
3. Обчислити значення виразу  cd  і результат присвоїти змінній  у (запам’ятати як значення цієї змінної).
4.  Обчислити значення виразу х*у і результат присвоїти змінній z.
5.  Вивести значення змінної z.
У командах 2–4 обчислюється значення виразу і результат обчислення присвоюється (запам’ятовується як значення) певній змінній. Такі команди називаються командами присвоювання. Для них прийнято використовувати таку форму запису:
2. х := ab (читається: змінній х присвоїти значення виразу ab).
3. у := cd (читається: змінній y присвоїти значення виразу cd).
4. z := х*у (читається: змінній z присвоїти значення виразу x*y).
Знак := називається знаком присвоювання та складається з двох символів: двокрапки і дорівнює, які записуються без пропуску між ними..
Цей алгоритм також є лінійним, бо при кожному наборі значень змінних  a, b, c, d кожна його команда обов’язково виконується, причому тільки один раз. 
На практиці часто виникають ситуації, коли залеж­но від виконання будь-якої умови маємо змінити послідовний хід обчислень.  У схему алгоритму логічна умова вводиться за допо­могою умовного блока. Цей блок прийнято зображати у вигляді ромба з одним входом і двома виходами:




 
Якщо умова, зазначена на зображенні блока, виконується (умова має зна­чення Істина), то відбувається перехід по стрілці Так, якщо не виконується (значення Хибність) – по стрілці Ні. Завдяки умовному блоку обчислювальний процес ніби розгалужується, тобто умовний блок використовується для ор­ганізації розгалуження.

Немає коментарів:

Дописати коментар