Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
розділ_1_28_08_15.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

4.1.2. Огляд мови

Мова Plankalkul була незвичайно повною і володіла декількома дуже перспективними властивостями в області структур даних. Найпростішим типом даних у мові Plankalkul був окремий біт. На основі цього типу створювалися типи для представлення цілих чисел і чисел із плаваючою крапкою. Для представлення чисел із плаваючою крапкою, використовувалися додатковий код числа у двійковій системі і схема "прихованого біта", у даний час застосовувана для того, щоб не зберігати в пам'яті старший значущий біт у нормалізованій мантисі числа.

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

Хоча мова і не містила явного оператора goto, вона мала оператор циклу, подібний до оператора for мови Pascal. У мові також була команда Fin, верхній індекс якої означав вихід із внутрішнього циклу на зазначене число вкладених ітераційних циклів чи до початку нового ітераційного циклу. Мова Plankalkul містила оператор галуження, який не містив оператора else.

Найцікавішою особливістю програм Конрада Цузе було включення математичних виразів, що показують відношення між змінними в програмі. Ці вирази встановлювали, що саме в процесі виконання повинно бути істинним у тих точках програми, де знаходилися дані вирази. Самі ці вирази дуже схожі на твердження, використовувані в сучасній мові програмування Eiffel (Meyer, 1992) і аксіоматичній семантиці.

Рукопис Цузе містив програми, що були значно складніші програм, написаних до 1945 року! У ньому були наведені програми сортування масивів цілих чисел; перевірки зв’язності заданого графа; програми, які виконують дії з цілими числами і з числами з плаваючою крапкою, у тому числі добування квадратного кореня; програми, які робили синтаксичний аналіз логічних формул, що містять дужки й оператори із шістьма різними рівнями пріоритету. Ймовірно, найпримітнішими були 49 сторінок алгоритмів гри в шахи (гри, у якій сам Цузе фахівцем не був).

Якби на початку 1950-х років який-небудь фахівець з комп'ютерних наук знайшов створений Цузе опис мови Plankalkul, то єдиним аспектом, який би ускладнив реалізацію цієї мови в описовому вигляді, була би форма запису. Кожен оператор складався з двох-трьох рядків команд. Перший рядок був дуже схожий на оператори сучасних мов програмування. Другий рядок, який був необов'язковим, містив список індексів масивів, що згадуються в першому рядку. Цікаво відзначити, що той же метод вказування індексів використовувався Чарльзом Бебіджем (Charles Babbage) у програмах, написаних ним для його "аналітичної машини" у середині XIX сторіччя. Останній рядок кожного виразу мовою Plankalkul містив назви типів змінних, які згадувалися в першому рядку. На перший погляд, подібний запис виглядає лякливо.

Зараз ми можемо тільки здогадуватись, по якому шляху пішов би розвиток мов програмування і комп'ютерів, якби робота Конрада Цузе стала б широко відомою в 1945 чи навіть у 1950 році. Також цікаво припустити, як відрізнялася б зроблена Цузе робота, якби вона виконувалася в мирний час у колективі вчених, а не у фактичній ізоляції в Німеччині 1945 року.

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