Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP(3S)X.DOC
Скачиваний:
1
Добавлен:
14.08.2019
Размер:
184.32 Кб
Скачать

Самитов р.К. Избранные средства object pascal 2

  • языки программирования развиваются;

  • причины на то – разнообразны и нередко противоречивы, поэтому развитие происходит в разных направлениях (*);

  • Вирт Н. – после языка Pascal разработал несколько языков программирования, … Modula…

  • Object Pascal 2 – разработка Borland Int. Inc. с учетом, как исследований самого Вирта, так и других рекомендаций современной методологии программирования.

  1. МОДУЛИ

Изучая понятие процедура-функция, мы сначала на примере рассмотрели «зачем они нужны» и «как этим пользоваться», а потом рассмотрели соответствующий синтаксис и семантику, и подвели итоги. В этот раз мы поступим несколько иначе – сначала рассмотрим лишь общие соображения по поводу вышеотмеченных вопросов, потом синтаксис и семантику понятий, а, подводя итоги, попробуем разобраться с этими вопросами поточнее.

Традиционная методология программирования выделяет (и разделяет) два основных понятия: данные и действия (операторы, операции,…). Однако в курсе неоднократно подчеркивалось:

  • данные и действия «ходят парочкой» – одно без другого не возможно;

  • почти во всех рассуждениях хорошо просматривается отношение двойственности между этими понятиями – «что можно делать с данными, можно делать с действиями, и наоборот»;

  • видимо наиболее прозрачным проявлением двойственности являются способы группировки данных и действий:

ДАННЫЕ ДЕЙСТВИЯ

record begin … ; … end

array, file for, while, repeat

unionPascal имеется if, case

ограниченный вариант

– записи с вариантами)

рекурсивные структуры данных рекурсивные процедуры-функции

Традиционное понятие тип данных акцентирует внимание на конструировании более сложных структур данных из менее сложных. В 70-е годы в методологии программирования сложилось более общее понятие – абстрактный тип данных (АТД), которое объединяет данные и операции (с ними) в действительно полноценное единое понятие, которое хорошо соответствует математическим понятиям – (многоосновная, типизированная…) алгебраическая система, алгебраическая модель.

Абстрактный тип данных – можно трактовать как способ группировки данных и операций (над ними) по критерию «замкнутости для некоторого класса задач». Образно говоря, группировка данных и группировка действий дают две ортогональные классификации инструментов программирования, а абстрактный тип позволяет сгруппировать инструменты под класс задач.

Группировка действий

д

а

н

н

ы

х

Группировка

Хотелось бы сказать, модули (пакеты, кластеры,…) – аппарат языков программирования, предназначенный для определения и использования абстрактных типов данных (**). Однако реальность несколько иная, поэтому ограничимся менее категоричным утверждением. Если процедуры и функции, видимо достаточно адекватно соответствует понятию подзадача, то модули – видимо более соответствуют понятию набор инструментов для решения специализированного класса задач. Именно поэтому модули быстро вошли в практику программирования, как средство оформления разнообразных инструментальных библиотек – для работы с графикой, с базами данных, с объектами организации диалога (меню, окна,…) и т.д.

Описание модуля.

UNIT ИмяМодуля ;

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