- •Ф.Ф. Павлов языки программирования
- •Санкт-Петербург
- •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. Жизненный цикл программы и основные этапы
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Санкт-Петербургский государственный
инженерно-экономический университет»
Кафедра вычислительных систем и программирования
Ф.Ф. Павлов языки программирования
Конспект лекций
Направление 090900 – Информационная безопасность
Профиль
Отраслевая специализация__________________
Квалификация (степень) бакалавр
Санкт-Петербург
2012
Допущено
редакционно-издательским советом СПбГИЭУ в качестве методического издания
Составитель
канд. техн. наук, профессор Ф.Ф. Павлов
Рецензент
канд. техн. наук, доцент К.П. Голоскоков
Подготовлено на кафедре
вычислительных систем и программирования
Одобрено научно-методическим советом специальности
230201 - Информационные системы и технологии
Отпечатано в авторской редакции с оригинал-макета,
представленного составителем
© СПбГИЭУ, 2008
СОДЕРЖАНИЕ
Введение……….………………………………………….....5
Раздел I. Принципы программирования
на языках высокого уровня…………………………………7
Тема 1. Эволюция языков программирования..…………..7
1.1. Неструктурированное программирование……..…...7
1.2. Процедурное и модульное программирование……...9
1.3. Объектно-ориентированное программирование…..11
1.4. Компонентные технологии и CASE-технологии…..16
Контрольные вопросы……………………….……………...18
Тема 2. Жизненный цикл программы и
основные этапы решения задач на ЭВМ………………...18
2.1. Дружественность, жизненный цикл программы….18
2.2. Постановка задачи и спецификация программы…..21
2.3. Проектирование и реализация программы…………26
2.4. Способы записи алгоритма…………………..…..….30
2.5. Критерии качества программы………………….….31
Контрольные вопросы……………………………………...33
Тема 3. Среды разработки программ……………………..34
3.1. Классификация программных продуктов…………..34
3.2. Основные понятия Visual C++ 2005…………..…….36
3.3. Модели программирования в MS-DOS и
в Windows…………………………………………….........49
Контрольные вопросы……………………………………...51
Тема 4. Диалоговые программы…………………………...52
4.1. Типы пользовательских интерфейсов……….……...52
4.2. Классификация диалогов и их реализация…………53
4.3. Основные компоненты графических
пользовательских интерфейсов………………………….56
Контрольные вопросы……………………………..……....57
Тема 5. Программа на языке высокого уровня…….….…57
5.1. Структура программы и функции……………….….57
5.2. Стандартные типы данных и операции над ними..60
5.3. Адресные типы данных: указатели и ссылки…..…..65
5.4. Стандартные библиотеки языка ………………..…...66
5.5. Классы памяти………………..………………………67
Контрольные вопросы………..…………………………….69
Раздел II. Управляющие структуры
и структуры данных……………..........................................70
Тема 6. Представление управляющих структур
программирования……………………………………........70
6.1. Структура следования………………………….........70
6.2. Структуры ветвления (выбора)……..………………71
6.3. Структуры повторения………………..…….……….75
Контрольные вопросы…….……………………………….81
Тема 7. Адресные типы данных………….………….........81
7.1. Указатели……………………………………..………81
7.2. Ссылки………….….………………………..………..83
Контрольные вопросы……………………………………..84
Тема 8. Структуры данных фиксированного размера…….85
8.1. Массивы…………………………………....................85
8.2. Типы данных, определяемые пользователем:
структуры, объединения, перечисления…………….……..89
Контрольные вопросы……………………………………..92
Тема 9. Функции (процедуры)……………………………..93
9.1. Определение, прототип и вызов функции………….93
9.2. Передача параметров по значению и по ссылке……94
9.3. Программирование рекурсивных алгоритмов….......95
Контрольные вопросы……………………………………...97
Тема 10. Динамические структуры данных……..……….97
10.1. Списки: основные виды и способы реализации……97
10.2. Динамическое выделение памяти………………….98
Контрольные вопросы…………………………………….100
Раздел III. Процедурное программирование……………...100
Тема11. Ввод/вывод данных………..…………………….100
11.1. Видео функции библиотеки ……….………..…….100
11.2. Функции библиотеки потокового
ввода/вывода ……………………………………………..103
Контрольные вопросы……………..………………………107
Тема 12. Обработка файлов данных…………………..….107
12.1. Записи и файлы данных……………..……………..107
12.2. Операции и средства обработки файлов……...…..108
12.3. Контроль операций обработки файлов……..…….111
Контрольные вопросы…….………………………………113
Тема 13. Технология процедурного программирования..114
13.1. Способы конструирования программ……..…..….114
13.2. Проектирование программы: методы
декомпозиции и модульного программирования……..117
13.3. Реализация программы: методы структурного
программирования и программирования «сверху-вниз»..122
Контрольные вопросы…………………………………….127
Тема 14. Введение в технологию объектно-
ориентированного программирования…..……..………..128
14.1. Основные понятия объектно-ориентированного
программирования: инкапсуляция, наследование,
полиморфизм….………………………………………….128
14.2. Проектирование программы…………………....…131
14.3. Реализация программы…..……………………..…132
Контрольные вопросы…………………………………....133
Тестовые задания …..…………..………………….………133
Заключение….……………………………………………...148
Список литературы…………………………………………150
Терминологический словарь…………….…………..…….152
Приложение 1 Выписка из рабочей программы…………155
Введение
Целью дисциплины является формирование у студентов теоретических знаний и практических навыков в области технологии программирования.
В результате изучения дисциплины студенты должны:
-знать этапы технологии программирования, методы процедурного и объектно-ориентированного программирования, представление структур программирования.
-уметь разрабатывать программы задач информационных систем методом процедурного программирования на Microsoft Visual C++ 2005.
- иметь представление об основных понятиях объектно-ориентированного программирования: инкапсуляции, наследования и полиморфизма.
Лекции содержат 14 тем. В первых пяти темах изучаются методы и этапы разработки программ (раздел I).
В теме 1 рассматривается понятие технологии программирования и этапы ее развития