Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
theory-2009-2010.docx
Скачиваний:
4
Добавлен:
05.09.2019
Размер:
5.41 Mб
Скачать

4. Теорія програмування та обчислень

1. Основні аспекти програм

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

  • Синтакичний аcпект

  • Семантичний аcпект

  • Прагматичний аcпект

Серйозно просунуті дослідження двох з них: семантики та синтаксису.

Принцип підпорядкованоті : Прагматика > Семантика>Синтаксис.

Дійсно, програми ми повинні розглядати в першу чергу з прагматичної точки зору, це як правило і відбувається в дійності (оскільки перед тим як почати створювати програму ми визначаємо нащо вона потрібна). Наступний крок - семантика, по ній будується синтаксис і в цілому інтегрована семантико-синтаксична структура. Зрозуміло, що цей підхід, безперечно, більш перспективний порівнюючи з синтаксико-семантичним підходом. Тому сучасне програмування, тим більше майбутнє програмування повинно базуватись на цьому підході . Але зараз панує синтаксисо-семантичний підхід (Сучасні заоби програмування дозволяють нам використовувати синтаксичні контрукції, а не оперувати семантикою, перевірити заздалегідь можна синтаксис, але не існує верифікаторів семантики програм).

4. Теорія програмування та обчислень

2. Основні поняття програмування

Найважливішим чинником (частиною всезагального) є поняття користувача (його елементи суть конкретні користувачі). Користувачі мають проблеми, для розв’язку яких використовують програми. Виникає головна тріада програмування:

користувач (теза) – проблема (антитеза) – програма (синтез).

Ці поняття пов’язані наступними відношеннями:

актуальність – адекватність – прагматичність.

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

користувачпрограмапроцес виконання (обчислення).

Ця тріада вводить нові відношення: обчислюваність (програм) та інтерфейс (між користувачем та процесом обчислення).

Нарешті, слід ввести ще одну тріаду – тріаду процесу програмування:

проблема – програма – процес програмування

Нові відношення в цій тріаді наступні: проблемна орієнтованість (процесу програмування на проблему) та генетичність (програми) і експлікативність (процесу).

4. Теорія програмування та обчислень

3. Методи подання синтаксису мов програмування

Применяют форму Наура-Бэкуса (ФНБ), которая предполагает использование в качестве нетерминальных символов комбинаций слов естественного языка, заключенных в угловые скобки, а в качестве разделителя знак, состоящего из двух двоеточий и равенства.

Чтобы сократить описание схемы грамматики, в ФБН разрешается объединять правила c одинаковой левой частью в одно правило, правая часть должна включать правые части объединяемых правил, разделенные вертикальной чертой. <список>::=<элемент списка><список>|<элемент списка>.

Для получения более компактных описаний синтаксиса применяют итерационную форму описания. Такая форма предполагает введение специальной операции. Итерация вида {a}*. Например, описание множества цепочек, каждая из которых должна начинаться знаком # и может состоять из произвольного числа букв x и y, может быть представлено <I> ® #{x | y}* .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]