- •Ф.Ф. Павлов языки программирования
- •Санкт-Петербург
- •230201 - Информационные системы и технологии
- •Тема 2 посвящена изучению жизненного цикла программы и основным этапам решения задач на эвм.
- •Тема 4 изучает типы пользовательских интерфейсов, классификацию диалогов и основные компоненты графических пользовательских интерфейсов.
- •Тема 8 посвящена структурам данных фиксированного размера (массивы), а также типам данных, определяемых пользователем (структуры, объединения, перечисления).
- •Тема 10 изучает динамические структуры данных: виды и способы реализации списков, динамическое выделение памяти.
- •Тема 12 затрагивает вопросы обработки файлов данных: понятия записи, файла данных и способы доступа, операции и средства обработки файлов, контроль операций обработки файлов.
- •Тема 14 вводит в технологию объектно-ориентированного программирования.
- •Раздел I Принципы программирования на языках высокого уровня
- •Тема 1. Эволюция языков программирования
- •1.1. Неструктурированное, «стихийное» программирование
- •1.2. Процедурное (модульное) программирование
- •1.3. Объектно-ориентированное программирование
- •1.4. Компонентные технологии программирования
- •Тема 2. Жизненный цикл программы и основные
- •2.1. Дружественность, жизненный цикл программы
- •2.2. Постановка задачи и спецификация программы
- •2.3. Проектирование и реализация программы
- •2.4. Способы записи алгоритма
- •2.5. Критерии качества программы
- •3.1. Классификация программных продуктов
- •3.3. Модели программирования в ms-dos и Windows
- •Тема 4. Диалоговые программы
- •4.1. Типы пользовательских интерфейсов
- •4.2. Классификация диалогов и их реализация
- •4.3. Основные компоненты графических
- •Тема 5. Программа на языке высокого уровня
- •5.1. Структура программы и функции
- •5.2. Стандартные типы данных и операции над ними
- •5.3. Адресные типы данных: указатели и ссылки
- •5.4. Стандартные библиотеки языка
- •5.5. Классы памяти
- •Раздел 2 Управляющие структуры и структуры данных
- •Тема 6. Представление управляющих структур
- •6.1. Структура следования
- •6.2. Структуры ветвления
- •6.3. Структуры повторения
- •Int kol, //счетчик введенных оценок
- •Int god; //число лет
- •Тема 7. Адресные типы данных
- •7.1. Указатели
- •7.2. Ссылки
- •Тема 8. Структуры данных фиксированного размера
- •8.1. Массивы
- •8.2. Типы данных, определяемые пользователем
- •Тема 9. Функции (процедуры)
- •9.1. Определение, прототип и вызов функции
- •9.2. Передача параметров
- •9.3. Программирование рекурсивных алгоритмов
- •Тема 10. Динамические структуры данных
- •10.1. Списки: основные виды и способы реализации
- •10.2. Динамическое выделение памяти
- •Раздел 3 Процедурное программирование
- •Тема 11. Ввод/вывод данных
- •11.1. Видеофункции библиотеки conio.H
- •11.2. Функции библиотеки потокового ввода/вывода
- •Тема 12. Обработка файлов данных
- •12.1. Записи и файлы данных
- •12.2. Операции и средства обработки файлов
- •12.3. Контроль операций обработки файлов
- •Тема 13 Технология процедурного программирования
- •13.1. Способы конструирования программ
- •13.2. Проектирование программы: методы декомпозиции и и модульного программирования
- •13.3. Реализация программы: методы структурного
- •Тема 14. Введение в технологию объектно-
- •14.1. Основные понятия объектно-ориентированного
- •14.2. Проектирование программы
- •14.3. Реализация программы
- •Утверждаю
- •Рабочая программа
- •Технология программирования
- •Санкт-Петербург
- •Тема 1. Технология программирования и этапы ее
- •Тема 2. Жизненный цикл программы и основные этапы
Тема 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-ых годах и их ненадежность привели к большим исследовательским работам в области создания технологий программирования.