Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 основи програмування книга.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.77 Mб
Скачать

1:Кінець.

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

Розглянемо тепер ті команди, що ми використовували вперше. По-перше, це команда

Якщо D < 0

то (Відповідь := “Рішень немає”; Перейти 1);

Ця команда має наступну загальну форму запису:

Якщо <умова>

то (<послідовність команд>)

Виконуючи цю команду, Виконавець перевіряє, чи виконано умову, зазначену після службового слова Якщо. Якщо умова виконана, Виконавець переходить до виконання послідовності команд, що стоїть після слова то й взята в дужки. Якщо ж умова не виконана, Виконавець переходить до виконання наступної команди. Порівняйте цю команду з командою розгалуження, що ми використовували в алгоритмі Евкліда (приклад 1.3) і Ви побачите, що вона є спрощеним варіантом розгалуження – неповним розгалуженням.

Команди розгалуження дозволяють направити виконання алгоритму по тому або іншому шляху в залежності від виконання умови. Такі команди називають командами вибору.

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

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

Якщо <умова> то

(<послідовність команд>)

Повне розгалуження структурують звичайно так:

Якщо <умова> то

(<послідовність команд>)

інакше

(<послідовність команд>)

Другою характерною командою в прикладі є команда переходу Перейти 1. Вона має форму запису

Перейти <N>,

причому число N використовується в записі алгоритму як спеціальна мітка тієї команди, яку потрібно виконати наступною.

У нашому прикладі використовуються команди переходу Перейти 1, а міткою 1 позначена команда 1:Кінець.

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

1.10. Команди управління

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

В рамках розглянутого нами імперативного підходу до опису алгоритмів використовують наступну класифікацію команд управління: команди вибору, повторення, переходу. Ми уже ввели до вживання дві команди вибору – команди повного і неповного розгалуження, одну команду повторення і команду (безумовного) переходу. Деякі інші команди управління будуть розглянуті пізніше. Ще раз звернемо Вашу увагу на два важливих аспекти у визначенні команди: її форму запису (синтаксис) і її зміст (семантику).

Синтаксис

Оскільки алгоритми повинні бути визначені точно і недвозначно, форма їхнього запису повинна бути визначена з математичною точністю. З цією метою використовуються так звані синтаксичні правила. Сукупність синтаксичних правил опису алгоритмів визначає мовне-формально-язикове середовище – алгоритмічну мову.

Сукупність синтаксичних правил описів алгоритму можна розбити на три групи правил:

  • загальні правила оформлення алгоритму;

  • правила опису величин;

  • правила запису команд.

У розглянутих прикладах ми використовували наступні правила:

Правила оформлення алгоритму:

Алгоритм <Ім'я>;

Вхід

<опис вхідних величин>;

Вихід

<опис вихідних величин>;

Доп

<опис допоміжних величин>;

Початок

<опис команд>

Кінець.

Правила опису величин

Опис однієї величини:

<Ім'я величини> : <Тип величини>

Опис декількох величин одного типу:

<Імена величин через кому> : <Тип величин>

Кілька описів величин:

<Описи величин через крапку з комою>

Правила запису команд

Команда присвоєння:

<Ім'я величини> := <Вираз>

Команди вибору:

Якщо <Умова> то <Команда>

Якщо <Умова> то <Команда> інакше <Команда>

Команда повторення:

Поки <Умова> виконувати <Команда>

Складена команда:

(<послідовність команд через крапку з комою>)

Складені команди складаються з інших команд і розглядаються виконавцем як одна команда. Правило пропонує брати кілька команд, відділених одна від одної крапкою з комою, у круглі дужки. Ми використовували складені команди в прикладі 1.5 для того, щоб об'єднати кілька команд в одну.

(x1 := -p/2;

x2 := x1;

Відповідь := “Єдине Рішення”;

Перейти 1)

Команда переходу:

Перейти <Натуральне число>

Семантика

Сукупність правил, що визначають виконання алгоритму, можна також розбити на дві такі групи:

  • правила інтерпретації даних;

  • правила інтерпретації команд.

Ми звернемо зараз увагу на правила інтерпретації команд управління. Для визначення цих правил ми будемо використовувати так звані блок-схеми алгоритмів.