Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП - Краткие ответы.doc.doc
Скачиваний:
22
Добавлен:
15.04.2019
Размер:
479.74 Кб
Скачать

Вопросы к экзамену по курсу "Технология программирования"

  1. История развития языков программирования высокого уровня.

Этапы:

1)Машинный язык, с помощью которого программист мог задаbhвать команды, оперируя с ячейками памяти, полностью используя возможности машины. Однако использование большинства компьютеров на уровне машинного языка затруднительно

2)Машинно-ориентированные языки —  ассемблеры. Люди используют мнемонические команды взамен машинных команд

3)Языки высокого уровня. Структурные языки.

изобретения языков структурного программирования (англ. structured programming language), таких как Фортран(1954), Алгол(1958), Паскаль(1970), Си(1972).

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

Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.

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

4)Языки высокого уровня. ООП

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

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

  1. Архитектура языков программирования (три поколения).

Первое поколение (1954-1958)

FORTRAN I

Математические формулы

ALGOL-58

Математические формулы

Flowmatic

Математические формулы

IPL V

Математические формулы

Второе поколение (1959-1961)

FORTRAN II

Подпрограммы, раздельная компиляция

ALGOL-60

Блочная структура, типы данных

COBOL

Описание данных, работа с файлами

Lisp

Обработка списков, указатели, сборка мусора

Третье поколение(1962-1970)

PL/I

FORTRAN+ALGOL+COBOL

ALGOL-68

Более строгий приемник ALGOL-60

Pascal

Более простой приемник ALGOL-60

Simula

Классы, абстрактные данные

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

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

Программы, реализованные на таких языках, имеют относительно простую структуру, состоящую только из глобальных данных и подпрограмм. Нет разделения данных, много перекрестных связей между подпрограммами, поэтому много мест для ошибок.

Топология языков позднего второго и раннего третьего поколения.

Рост алгоритмических абстракций:

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

Топология языков конца третьего поколения

Появилась возможность решать все более сложные задачи, но это требовало умения обрабатывать самые разнообразные типы данных. Такие языки как ALGOL-68 и затем Pascal стали поддерживать абстракцию данных. Программисты смогли описывать свои собственные типы данных.

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