Понятие типа данных

Рис. 4. Топология языков программирования четвертого поколения

Рис. 3. Топология языков программирования третьего поколения

Рис. 2. Топология языков программирования второго поколения

Рис. 1. Топология языков программирования первого поколения

Развитие концепции структуризации в программировании

Развитие концепции структуризации прежде всего нашло отражение в топологии языков программирования. Топология – это [ГНС1] основные элементы языка программирования и их взаимодействие.

1 ПОКОЛЕНИЕ (FORTRAN –1, ALGOL-58)

 
 


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

2 ПОКОЛЕНИЕ (FORTRAN-II, ALGOL-68, LISP, PL/1)

 
 


В языках реализованы разнообразные механизмы передачи параметров. Были заложены основы структурного программирования за счет введения в языки механизмов управления вложенностью подпрограмм и областями видимости (рис.2). Возникли методы структурного проектирования, позволяющие создавать большие программные системы, используя подпрограммы как готовые строительные блоки. Были заложены основы структуризации данных, т.е. появились типы данных, конструируемые пользователем, например, записи.

3 ПОКОЛЕНИЕ (PASCAL, MODULА, SIMULA, C, PROLOG)

 
 


3 ПОКОЛЕНИЕ (PASCAL, MODULА, SIMULA, C, PROLOG)

Для языков этого поколения характерно развитие и широкое использование метода структурного программирования, развитие средств абстрагирования типов (появилась даже теория типов). Получила развитие концепция модуля как программной оболочки, внутри которой можно скрыть данные и процедуры, а взаимодействие между различными модулями организовать с помощью интерфейса. Скрытие данных поддерживается за счет раздельной компиляции модулей, а также механизмов управления доступом к данным и процедурам внутри модуля. В языке SIMULA появились классы – основа объектно-ориентированного программирования.

4 ПОКОЛЕНИЕ (OBJECT PASCAL, C++, SMALLTALK, MODULA WITH CLASSES, ADA)

В объектно-ориентированных языках реализована идея совместной разработки алгоритмов и данных за счет реализации отношения тип-подтип (класс-подкласс), связанного с использованием наследования свойств и развивающего концепцию абстрактного типа данных. Основным конструктивным элементом программирования служит модуль, составленный из логически связанных классов и объектов, а не подпрограмм (рис. 4). Взаимодействие объетов организуется с помощью механизма “посылки сообщений”.

В настоящее время объектно-ориентированные языки реализуются как системы визуального программирования. Отличительной особенностью таких систем является мощная среда разработки программ из готовых «строительных блоков», позволяющая создать интерфейсную часть программного продукта в диалоговом режиме, практически без кодирования программных операций. К числу объектно-ориентированных систем визуального программирования относятся Visial Basic, Delphi, C++ Builder, Visual C++.

1. абстрагирование типов

Тип данных рассматривается как множество данных, т.е. допустимых значений, которые некоторый объект может принимать в программе, совместно с множеством операций по обработке этих данных. Данные задаются с помощью описания их свойств (атрибутов). Совокупность операций, т.е. действий, производимых над данными, определяется с помощью процедур и функций, реализующих эти действия.

Фундаментальные типы данных подразделяются на простые или встроенные в язык программирования, и конструируемые пользователем, т.е. абстрактные. Классификация типов данных в языке PASCAL приведена на рис. 5.

 
 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: