русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


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


Дата додавання: 2014-09-10; переглядів: 2876.


Розглянемо алгоритми розв’язування такої задачі.

Задача 1. Є повна посудина рідини місткістю 8 літрів і дві порожні посудини місткістю 5 літрів і 3 літри. Потрібно одержати в одній з посудин 1 літр рідини.

Розглянемо виконавця, який має таку систему команд:

1. Узяти вказану посудину.

2. Перелити вміст вказаної посудини в іншу вказану посудину.

3. Наповнити вказану посудину рідиною з іншої вказаної посудини.

Для такого виконавця алгоритм розв’язування цієї задачі буде таким:

1. Узяти повну 8–літрову посудину.

2. Наповнити 3-літрову посудину рідиною з 8-літрової.

3. Перелити вміст 3-літрової посудини в 5-літрову.

4. Наповнити 3-літрову посудину рідиною з 8-літрової.

5. Наповнити 5-літрову посудину рідиною з 3-літрової.

6. Узяти 3-літрову посудину.

Наведений алгоритм, як і розглянуті раніше, записаний у вигляді послідовності команд, кожна з яких має свій порядковий номер і записана українською мовою, тобто мовою людського спілкування. Така форма подання алгоритму називається словесною.

Але словесна форма подання алгоритму не завжди є зручною і наочною. Тому, крім такої форми подання, часто використовують графічну форму подання алгоритму, або подання алгоритму у вигляді блок-схеми.

У блок-схемі алгоритму кожна команда записується в геометричній фігурі (блоці) певного вигляду. Блоки з’єднуються між собою стрілками, які вказують напрям переходу для виконання наступної команди алгоритму. Наведемо деякі елементи (блоки) блок-схеми алгоритму (табл. 2.1).

 

Таблиця 2.1. Деякі елементи (блоки) блок-схеми алгоритму

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

 

Ось як виглядає блок-схема алгоритму розв’язування задачі 1 (рис. 2.4).

Запам’ятайте!

Характерними рисами цього алгоритму є те, що всі його команди виконуються в записаній послідовності, кожна команда алгоритму обов’язково виконується, причому тільки один раз. Такі алгоритми (або фрагменти алгоритму) називаються лінійними.

Розглянемо ще одну задачу – задачу на обчислення значення виразу, і складемо алгоритм її розв’язування.

Задача 2. Обчислити значення виразу (a – b) * (c – d), де a, b, c, d – дійсні числа

 

Розглянемо виконавця, який вміє отримувати значення змінних, виконувати арифметичні операції над дійсними числами, запам’ятовувати результати арифметичних операцій і повідомляти результат. Передавання даних виконавцеві називається уведенням даних, а повідомлення виконавцем результатів виконання алгоритму – виведенням даних (результатів).

 

Запишемо алгоритм розв’язування задачі 2 для такого виконавця в словесній формі.

1. Увести значення змінних a, b, c, d. (У результаті виконання цієї команди виконавець запам’ятовує введені дані як значення відповідних змінних).

2. Обчислити значення виразу a – b і результат присвоїти змінній х (запам’ятати як значення цієї змінної).

3. Обчислити значення виразу c – d і результат присвоїти змінній у (запам’ятати як значення цієї змінної).

4. Обчислити значення виразух*у і результат присвоїти змінній z.

5. Повідомити значення змінної z.

У командах 2, 3 і 4 обчислюється значення виразу і результат обчислення присвоюється (запам’ятовується як значення) певній змінній. Такі команди називаються командами присвоювання.Для них прийнято використовувати таку форму запису:

2. х := a – b(читається: змінній х присвоїти значення виразу a – b)

3. у := c – d (читається: змінній y присвоїти значення виразу c – d)

4. z := х* у (читається: змінній z присвоїти значення виразу x * y)

Знак := називається знаком присвоювання і складається з двох символів: двокрапка і дорівнює, які записуються без пропуску між ними.

Наведемо блок-схему цього алгоритму (рис. 2.5).

Цей алгоритм також є лінійним, бо при кожному наборі значень змінних a, b, c, d кожна його команда обов’язково виконується, причому тільки 1 раз.

 

Проілюструємо виконання алгоритму розв’язування задачі 2 для значень змінних a = 3; b = 4; c = –2; d = –5.

Команда Результат виконання
Увести значення змінних a, b, c, d a = 3; b = 4; c = –2; d = –5
х : = a – b х = 3 – 4 = –1
у := c – d у = –2 – (–5) = 3
z := x*y z = –1*3 = –3
Повідомити значення змінної z z = –3

Аналогічно можна виконати цей алгоритм при іншому наборі значень змінних a, b, c, d.


<== попередня лекція | наступна лекція ==>
Властивості алгоритму | Перевірте себе


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн