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

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный

инженерно-экономический университет»

Кафедра вычислительных систем и программирования

Ф.Ф. Павлов языки программирования

Конспект лекций

Направление 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 рассматривается понятие технологии программирования и этапы ее развития