Учебно-методическое пособие

Часть 1

Технология программирования

В.В. Угаров

Ульяновск – 2010


УДК 681.142.2

 

Печатается по решению Ученого Совета

факультета математики и информационных технологий

Ульяновского государственного университета

Рецензенты:

доктор технических наук, профессор И.В. Семушин;

кандидат педагогических наук Г.А. Жаркова

Угаров В.В.

Технология программирования. Часть 1: учебно-методическое пособие / В.В.Угаров.–Ульяновск: УлГУ, 2010.–83 с.

 

Данное учебное пособие представляет собой курс лекционного материала по дисциплине «Технология программирования» с некоторыми сокращениями, в который добавлено значительное количество примеров, заданий для самостоятельного выполнения и приложений.

Пособие состоит из введения, 4 глав, списка литературы и двух приложений.

В первых главах пособия рассматриваются некоторые вопросы информационных технологий, затем краткое изложение основ языка программирования C++. В основном же пособие посвящено вопросам формирования структур данных и алгоритмов их обработки.

Отличие данного пособия от многих аналогичных состоит в том, что в нем более глубоко рассматриваются структуры данных и методы их обработки, а не собственно язык программирования, который служит в основном для реализации алгоритма. Тем не менее, средства языка C++ в значительной мере влияют на способы реализации тех или иных алгоритмов обработки. Естественно, в некоторых случаях такие моменты в данном пособии оговариваются.

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

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

 

 

© Угаров В.В., 2010-06-21

© Ульяновский государственный университет, 2010
СОДЕРЖАНИЕ

 

Введение. 5

1. Элементы информационных технологий. 6

1.1. Системы счисления. 6

1.1.1. Исторический аспект. 6

1.1.2. Двоичная система счисления. 7

1.1.3. Арифметические операции в двоичной системе счисления. 8

1.1.4. Восьмеричная и 16-ричная система счисления. 9

1.1.5. Перевод чисел из одной системы счисления в другую. 9

1.2. Элементы информационной метрики. 13

1.2.1. Понятие информации. 13

1.2.2. Методы измерения количества информации. 14

1.2.3. Структурные меры информации. 15

1.2.4. Комбинаторные меры информации. 15

1.2.5. Статистические меры информации. 16

1.3. Основы вычислительной техники. 18

1.3.1. Кодирование числовой и символьной информации. 18

1.3.2. Архитектура ЭВМ. 20

1.3.3. Исполнение программы на компьютере. 21

1.3.4. Файловые системы.. 22

1.3.5. Операционные системы.. 24

1.3.6. Инструментальные системы.. 25

2. Основы программирования. 26

2.1. Алгоритмы и их свойства. 26

2.2. Способы описания алгоритмов. 27

2.2.1. Метаязык Бэкуса-Наура (язык БНФ) 27

2.2.2. Синтаксическая диаграмма Н. Вирта. 28

2.2.3. Графические блок-схемы.. 29

2.3. Язык программирования высокого уровня C++. 29

2.3.1. Основные принципы языка С++. 30

2.3.2. Структура программы на языке С++. 30

2.3.3. Типы данных языка С++. 32

2.3.4. Стандартные типы данных. 32

2.3.5. Указатели. 33

2.4. Операторы языка программирования C++. 34

2.4.1. Принципы структурного программирования. 34

2.4.2. Оператор ветвления. 36

2.4.3. Операторы повторения. 37

2.5. Механизмы циклического процесса. 38

2.6. Функции ввода-вывода. 40

2.7. Работа в текстовом режиме. 41

2.8. Использование символов псевдографики. 41

 

 

3. Функции. 43

3.1. Определение функции. 43

3.2. Оператор return. 43

3.3. Параметры функции. 44

3.4. Обмен данными между функциями. 44

3.5. Рекурсия и рекурсивные алгоритмы.. 45

3.6. Перегрузка функций. 47

4. Сложные структуры данных. 47

4.1. Последовательность. 47

4.1.1. Свойства последовательности. 47

4.1.2. Обработка данных последовательности. 48

4.2 Сложные структуры данных – массивы.. 50

4.2.1. Одномерные массивы.. 50

4.2.2. Многомерные массивы.. 52

4.3. Сложный тип данных – строки. 53

4.4. Сложный тип данных – структура. 56

4.5. Сложный тип данных – файлы.. 57

4.5.1. Файл и файловая система. 57

4.5.2. Текстовые файлы.. 58

4.5.3. Бинарные файлы.. 61

4.5.4. Простой пример работы с бинарным файлом. 62

Литература. 64

Приложение 1. Полезные программы.. 65

1.1. Реализация меню. 65

1.2. Программа с использованием текстового режима. 67

1.3. Собственная библиотека функций. 68

Приложение 2. Практическое программирование. 70

2.1. Тема 01: Линейные программы и программ с ветвлением. 70

2.2. Тема 02: Операторы цикла. 71

2.3. Тема 03: Целочисленная арифметика. 72

2.4. Тема 04: Суммирование числовых рядов. 73

2.5. Тема 05: Обработка элементов последовательности. 74

2.6. Тема 06: Одномерные массивы. 75

2.7. Тема 07: Обработка текстовых строк. 77

2.8. Тема 08: Двумерные массивы. 79

2.9. Тема 09: Текстовые файлы. 79