Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛекцииЯзыки прогрИб.doc
Скачиваний:
27
Добавлен:
12.11.2019
Размер:
922.11 Кб
Скачать

Тема 2 посвящена изучению жизненного цикла программы и основным этапам решения задач на эвм.

В теме 3 рассматривается среда разработки программ: основные понятия Visual C++ , модели программирования в MS-DOS и Windows.

Тема 4 изучает типы пользовательских интерфейсов, классификацию диалогов и основные компоненты графических пользовательских интерфейсов.

При изучении темы 5, посвященной программам на языке высокого уровня, уделяется внимание структурам программ и функциям, стандартным типам данных.

Следующие пять тем (раздел II) посвящены структурам программирования: управляющие структуры программирования, адресные типы данных, структуры данных фиксированного размера и динамические структуры данных.

В теме 6 рассматриваются примеры программирования с использованием трех основных управляющих структур: следования, ветвления и повторения.

Адресные типы данных (указатели и ссылки) изучаются в теме 7.

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

В теме 9 рассматриваются основные понятия функций (процедур): определение, прототип и вызов функции, передача параметров, программирование рекурсивных функций.

Тема 10 изучает динамические структуры данных: виды и способы реализации списков, динамическое выделение памяти.

Остальные 4 темы (раздел III) рассматривают вопросы технологии процедурного программирования и основные понятия объектно-ориентированного программирования: потоковый ввод-вывод данных, потоковая обработка файлов данных, способы конструирования программ и основные этапы процедурного программирования, введение в технологию объектно-ориентированного программирования.

В теме 11 рассматриваются видео функции библиотеки conio и функции библиотеки потокового ввода вывода iostream.

Тема 12 затрагивает вопросы обработки файлов данных: понятия записи, файла данных и способы доступа, операции и средства обработки файлов, контроль операций обработки файлов.

В теме 13 на примере информационной системы рассматриваются этапы технологии процедурного программирования.

Тема 14 вводит в технологию объектно-ориентированного программирования.

Раздел I Принципы программирования на языках высокого уровня

В пяти темах мы изучим методы и этапы разработки программ: понятие технологии программирования и этапы ее развития; жизненный цикл программ и основные этапы решения задач на ЭВМ; среды разработки программ и модели программирования в MS-DOS и Windows; типы пользовательских интерфейсов, классификацию диалогов и основные компоненты графических пользовательских интерфейсов; структуры программ и функций; стандартные типы данных.

Тема 1. Эволюция языков программирования

1.1. Неструктурированное, «стихийное» программирование

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

До середины 60-ых годов существовала неструктурированная, «стихийная» технология программирования. Структура первых простейших программ состояла собственно из программы на машинном языке (двоичных или 16-ричных кодов) и обрабатываемых ею данных.

Появление машинно-ориентированных языков (ассемблеров) позволило программистам вместо 16-ричных кодов использовать мнемонические обозначения кодов операций и символические имена данных. Программы стали «читаемыми».

Затем появились языки программирования высокого уровня (FORTRAN, ALGOL), позволившие снизить уровень детализации операций, а также имеющие средства использования подпрограмм. Были созданы большие библиотеки различных подпрограмм. Теперь структура программы состояла из основной программы, области глобальных данных и набора подпрограмм. Недостаток такой структуры – возрастание вероятности искажения части глобальных данных какой-либо подпрограммой при увеличении количества подпрограмм. Для сокращения таких ошибок было предложено размещать в подпрограммах локальные данные. Появилась возможность осуществлять разработку программного обеспечения несколькими программистами параллельно.

В 60-ых годах 20-го века при разработке сложного программного обеспечения (например, операционных систем) стали срываться сроки разработки программ. Разразился «кризис программирования». Причина – несовершенство неструктурированного, «стихийного» программирования. Использовался метод программирования «снизу – вверх», т.е. сначала разрабатывались простые подпрограммы, а затем строилась сложная программа путем их сборки. При сборке программы появлялось большое количество ошибок согласования, а при их исправлении появлялись новые ошибки. Процесс тестирования и отладки занимал 80% времени разработки программного обеспечения.

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

Было разработано много языков, но лишь некоторые из них получили тогда широкое применение (FORTRAN, ALGOL, COBOL). Продолжающийся рост стоимости больших программных продуктов в 60-ых годах и их ненадежность привели к большим исследовательским работам в области создания технологий программирования.