Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Словниковий запис



Існує декілька способів запису алгоритмів. Спосіб, який ми використовували досі, — словесний запис.

Словниковий запис алгоритму — це запис послідовності дій на одній з мов людського спілкування.

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

2.3.2 Графічне представлення

Якщо по ходу алгоритму доводиться залежно від виконання якоїсь умови вибирати ті або інші варіанти дій, то словесний запис стає громіздким і в ній легко заплутатися. Згадайте, як ми шукали чергову дію після того, як ви узяли хліб з хлібника, а алгоритм все одно посы-пал вас за хлібом в магазин. В цьому випадку наочнішим і переважнішим стає графічне представлення алгоритму.

Графічне представлення (блок-схема) алгоритму — це набір спеціальних графічних символів, розташованих в порядку виконання дій алгоритму.

Для цього способу запису алгоритмів використовуються стандартні графічні позначення (символи).

Початок алгоритму позначається знаком

Лінія, що йде вниз, означає перехід до першої дії алгоритма. Таким же знаком позначається і кінець алгоритму, до якого лінія від останнього символу підходить згори:

Будь-яка дія алгоритму зображається прямокутником, в який зазвичай вписують назву дії:

Якщо алгоритм містить декілька дій, що виконуються послідовно одно за іншим, то усі вони можуть бути вписані в один прямокутник.

Перевірка виконання умови і вибір гілки алгоритму, відповідній виконанню або невиконанню умови, представлені ромбом, в який умова вписується у вигляді питання. При виконанні умови перехід до потрібної гілки відбувається в напрями відповіді «Так», а якщо умова не виконана — відповідь «Ні»:

Часто для виконання алгоритму потрібне введення інформації у вигляді чисел або в іншій формі. Результатом виконання алгоритма (чи його частини) може бути виведення інформації в тому або іншому вигляді. Операція введення даних або виведення результатів обозначається таким чином:

Символ виклику допоміжного алгоритму має вигляд

Є і інші символи для позначення різних операцій в алгоритмі.

Графічні символи з'єднуються між собою прямими лініями відповідно до послідовності дій, що ведуть до досягнення мети. Стандартний напрям переходу від символа до символу — зверху вниз і зліва направо. Якщо з якихось причин розташувати символи в такому порядку не вдається і перехід до чергового символу повинен статися в іншому направ-лении, то цей напрям вказують стрілкою.

Складемо блок-схеми деяких з розглянутих раніше алгоритмів. Блок-схеми сортування виробів — приведені на рисунку 2. Вони наочно показують перевагу графічного представлення алгоритмів — легко простежується послідовність дій як при виконанні, так і при невиконанні умови, що перевіряється.

Рисунок 2 - Блок-схема алгоритму сортування виробі

На рисунку 3 представлена блок-схема циклічного алгоритму, що є розвитком алгоритму сортування виробів. Передостанній алгоритм є циклом, який повторюється при позитивному результаті перевірки умови наявності виробів на конвеєрі.

Рисунок 3 - Блок-схема циклічного алгоритму сортування виробів

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

Лінія повернення фактично замінює рядок «Кінець циклу», «яке обмежує цикл знизу при словниковому описі алгоритму» і вона ж вказує на умову «Чи є вироби на конвеєрі?», котра є верхньою межею циклу. Якщо умова не виконується, тобто виробів на конвеєрі немає, то цикл не повторюється і виконання алгоритму закінчується.

У цьому алгоритмі перевірка умови виконується до початку циклу і можлива ситуація, коли цикл не виконується жодного разу: якщо виробів на конвеєрі немає, то перевірка умови відразу выво-дит на закінчення циклу.

Розглянемо блок-схему циклічного алгоритму завантаження контейнерів, де перевірка умови повторення циклу робиться після його виконання (рисунок.4). Услід за символом Початок слідують дії алгоритму, тому цикл виконується завжди, як мінімум, один раз. Якщо завантаження контейнера призвело до відсутності вільного місця у вагоні, то перевірка умови відразу виводить на символ Кінець. Лінія повернення охоплює цикл, вказуючи його нижню і верхню межі.

Рисунок 4 - Блок-схема алгоритму завантаження контейнерів

Блок-схема розширеного варіанту цього алгоритму, який містить умови, що перевіряються як до, так і після виконання команд циклу (см підрозд. 2.2.3), показана на рисунку 5. Простежити по цьому малюнку хід виконання алгоритму при різних комбінаціях умов наявності вільного місця у вагоні і наявності контейнерів для вантаження.

Рисунок 5 - Блок-схема алгоритму завантаження контейнерів з двома умовами

Розглянемо блок-схеми допоміжних алгоритмів. У алгоритмі, використовуваного в якості допоміжного, є одна особливість: в ньому виконуються дії з інформацією, переданою йому з основного алгоритму, і туди ж при необхідності повідомляється результат виконання допоміжного алгоритму. Тому блок-схема допоміжного алгоритму містить символ введення даних, а при необхідності — і символ виведення результатів, що підкреслює взаємодію допоміжного алгоритму з основним.

На рисунку 6 приведена блок-схема алгоритму «Нагріву до t». Символ введення даних вказує на отримання з основного алгоритму значення температури нагріву t. Після виконання алгоритму нагріву триває виконання основного алгоритму з дій, виклику допоміжного алгоритму, що йде за командою. Сама команда виклику позначається у блок-схемі основного алгоритму приведеним вище спеціальним символом, в котрому вписується назва алгоритму, що викликається.

Рисунок 6 - Блок-схема алгоритму «Нагріву до

2.3.3 Алгоритмічна мова

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

Можливо, з часом машини навчаться мислити і зможуть самі аналізувати ситуації, створювати і виконувати алгоритми, просуваючись до ними поставленим цілям. У нас викликає сьогодні захоплення «розумна» машина, що обіграє кращих гросмейстерів в шахи. По суті ж вона просто швидша, точніша, у більшому об'ємі і за менший час перебирає можливі варіанти гри, які заклала в неї людина. Отже єдиний спосіб змусити машину зробити якусь дію — дати їй команду, що точно і однозначно відповідає саме цій дії. Причому машина повинна цю команду правильно і однозначно зрозуміти.

Послідовність дій повинна чітко виражатися послідовністю команд, а оскільки додумувати і здогадуватися машина не уміє, кожному кроку алгоритму (наприклад, аналізу виконання якоїсь умови) повинна відповідати команда, що чітко розуміється машиною.

Тому якщо передбачається, що виконавцем алгоритму буде машина, то розроблений алгоритм потрібно представити у виді, що враховує обмежені можливості машини правильно розуміти і виконувати команди. Для цього існує особливий спосіб опису алгоритмів — запис на алгоритмічній мові.

Алгоритмічна мова — це набір спеціальних службових слів і правил для запису алгоритмів.

Службові слова — це звичайні слова нашої мови, але їх запис в алгоритмічній мові однозначний і ніякі інші варіанти запису цих слів не недопустимі. Наприклад, якщо ви пишете адресу на конверті, ви можете написати: «місто Пенза», або «м. Пенза». Якби слово «місто» входило в список службових слів алгоритмічної мови, то його завжди треба було б писати тільки в одному виді. Навіть точка після скорочення слова має бути особливо обумовлена — ставити її або ні.

Перед назвою кожного алгоритму, записаного на алгоритмічній мові, ставиться службове слово АЛГ (букви заглавні, без точки). Для вказівки початку і кінця алгоритму використовуються службові слова ПОЧ і КІН. Кожен крок алгоритму записується окремим рядком.

Загальний вигляд лінійного алгоритму на алгоритмічній мові:

АЛГ «<назва>»

ПОЧ

<дія 1>

<дія 2>

КІН

Контрольні питання

1. Сформулюйте поняття алгоритму.

2. У чому особливість сприйняття алгоритмів машинами?

3. Дайте визначення програми.

4. Назвіть види алгоритмів.

5. Що таке лінійний алгоритм? Наведіть приклад.

6. Що таке умовний алгоритм? Наведіть приклад.

7. Що таке циклічний алгоритм? Наведіть приклад.

8. Що таке допоміжний алгоритм? Наведіть приклад.

9. Розкажіть про способи записи алгоритмів.

10. Намалюйте і поясните графічні символи, вживані для запису алгоритмів.

11. Що таке блок-схема алгоритму?

12. Сформулюйте поняття алгоритмічної мови.





Дата публикования: 2014-12-11; Прочитано: 415 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...