Редакционно-издательским советом Томского политехнического университета Издательство Томского политехнического университета 2011 ббк 32. 973. 2я73

Вид материалаДокументы

Содержание


В авторской редакции
В.Н. Шкляр
1. Общие вопросы информатики 8
1.3. Компьютерные вирусы 30
2. Арифметические основы
3. Основы технологии
3.3. Понятие алгоритма, свойства алгоритмов 81
3.7. Обобщённое программирование 100
4. Основы языка c++ 104
4.4. Основные операторы языка C++ 122
4.5. Примеры решения задач с использованием основных операторов C++ 128
4.6. Составные типы данных в C++ 137
4.7. Символьная информация и строки 157
4.9. Типы данных, определяемые пользователем 184
4.10. Динамические структуры данных 189
4.12 Вопросы для самоконтроля 208
1. ОБЩИЕ ВОПРОСЫ ИНФОРМАТИКИ 1.1. Определение информатики
Теоретическая информатика
Вычислительная техника
1.2. Технические средства информатики
...
Полное содержание
Подобный материал:
  1   2   3   4   5   6   7   8   9   ...   26


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»


Т.Е. Мамонова


И Н Ф О Р М А Т И К А


Общая информатика. Основы языка C++


Рекомендовано в качестве учебного пособия
Редакционно-издательским советом
Томского политехнического университета



Издательство

Томского политехнического университета

2011




ББК 32.973.2я73

УДК 681.3(075.8)

М22




М22

Мамонова Т.Е.

Информатика. Общая информатика. Основы языка C++: учебное пособие / Т.Е. Мамонова; Томский политехнический университет. – Томск: Изд-во Томского политехнического университета, 2011. – 206 с.

В авторской редакции


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

Пособие подготовлено на кафедре интегрированных компьютерных систем управления, соответствует программе дисциплины и предназначено для студентов ИДО, обучающихся по направлению 220700 «Автоматизация технологических процессов и производств».

ББК 32.973.2я73

УДК 681.3(075.8)


Рецензенты


Доктор технических наук,
профессор кафедры интегрированных
компьютерных систем управления ИК ТПУ

А.М. Малышенко


Кандидат технических наук,
доцент кафедры интегрированных
компьютерных систем управления ИК ТПУ

В.Н. Шкляр


© ФГБОУ ВПО НИ ТПУ, 2011

© Мамонова Т.Е., 2011

© Оформление. Издательство Томского политехнического университета, 2011

ОГЛАВЛЕНИЕ



ВВЕДЕНИЕ 6

1. ОБЩИЕ ВОПРОСЫ ИНФОРМАТИКИ 8

1.1. Определение информатики 8

1.2. Технические средства информатики 9

1.2.1. История развития вычислительной техники 9

1.2.2. Поколения ЭВМ 11

1.2.3. Архитектура ЭВМ 13

1.2.3.1. Классическая архитектура ЭВМ и принцип фон Неймана 14

1.2.3.2. Совершенствование и развитие внутренней структуры ЭВМ 16

1.2.3.3. Основной цикл работы ЭВМ 16

1.2.3.4. Система команд ЭВМ и способы обращения к данным 17

1.2.4. Типы и назначение компьютеров 19

1.2.5. Магистрально-модульный принцип построения
компьютера 22

1.2.6. Периферийные и внутренние устройства 23

1.2.6.1. Центральный процессор 24

1.2.6.2.Оперативная память 25

1.2.6.3. Устройства хранения информации 26

1.2.6.4. Устройства ввода 27

1.2.6.6. Устройства связи 29

1.2.7. Программный принцип управления компьютером 29

1.3. Компьютерные вирусы 30

1.3.1. Основные признаки появления в системе вируса 32

1.3.2. Правовая охрана программ и GPL 33

1.4. Операционные системы и сети 35

1.4.1. Операционные системы 35

1.4.1.1. Операционная система MS DOS 36

1.4.1.2. Microsoft Windows 39

1.4.1.3.Операционная система Linux 40

1.5. Обработка документов 41

1.5.1. Текстовый процессор MS Word 42

1.6 Вопросы для самоконтроля 55

2. АРИФМЕТИЧЕСКИЕ ОСНОВЫ
ПОСТРОЕНИЯ ЭВМ 56


2.1. Единицы измерения информации 56

2.2. Системы счисления 58

2.2.1. Двоичная система счисления 59

2.2.2. Восьмеричная и шестнадцатеричная системы счисления 62

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

2.3. Двоичное кодирование информации 66

2.4 Вопросы для самоконтроля 70

3. ОСНОВЫ ТЕХНОЛОГИИ
ПРОГРАММИРОВАНИЯ ЗАДАЧ 72


3.1. Технология программирования
и основные этапы её развития 72


3.2. Источники ошибок в программных средствах 76

3.2.1. Интеллектуальные возможности человека 76

3.2.2. Неправильный перевод как причина ошибок
в программных средствах 77

3.2.3. Основные пути борьбы с ошибками 80

3.3. Понятие алгоритма, свойства алгоритмов 81

3.4. Языки программирования 83

3.5. Структурное программирование 85

3.6. Объектно-ориентированное программирование 87

3.6.1. История 87

3.6.2. Основные понятия 88

3.6.3. Основные концепции ООП 89

3.6.4. Особенности реализации 92

3.6.5. Подходы к проектированию программ в целом 94

3.6.6. Родственные методологии 95

3.6.7. Производительность объектных программ 96

3.6.8. Критика ООП 98

3.6.9. Объектно-ориентированные языки 99

3.7. Обобщённое программирование 100

3.7.1. Общий механизм 101

3.7.2. Способы реализации 102

3.7.3. Обобщённое программирование в языке C++ 103

3.8 Вопросы для самоконтроля 103

4. ОСНОВЫ ЯЗЫКА C++ 104

4.1. Типичная среда C++ программирования 106

4.2. Структура программы на C++ 107

4.3. Базовые средства языка C++ 110

4.3.1. Состав языка C++ 110

4.3.1.1. Константы в C++ 111

4.3.2. Типы данных в C++ 113

4.3.3. Переменные 115

4.3.4. Знаки операций в C++ 117

4.3.5. Выражения 119

4.3.6. Ввод и вывод данных 120

4.4. Основные операторы языка C++ 122

4.4.1. Базовые конструкции структурного программирования 122

4.4.2. Оператор «выражение» 122

4.4.3. Составные операторы 123

4.4.4. Операторы выбора 123

4.4.5. Операторы циклов 125

4.4.6. Операторы перехода 127

4.5. Примеры решения задач
с использованием основных операторов C++ 128


4.5.1. Программирование ветвлений 130

4.5.2. Программирование арифметических циклов 132

4.5.3. Итерационные циклы 134

4.5.4. Вложенные циклы 136

4.6. Составные типы данных в C++ 137

4.6.1. Массивы 137

Определение массива в C/C++ 137

4.6.2. Указатели 147

4.6.3. Ссылки 152

4.6.4. Указатели и массивы 153

4.7. Символьная информация и строки 157

4.8. Функции в C++ 162

4.8.1. Объявление и определение функций 163

4.8.2. Прототип функции 166

4.8.3. Параметры функции 166

4.8.4. Локальные и глобальные переменные 169

4.8.5. Функции и массивы 170

4.8.5.1. Передача одномерных массивов как параметров функции 170

4.8.5.2. Передача строк в качестве параметров функций 172

4.8.5.3. Передача многомерных массивов в функцию 173

4.8.6. Функции с начальными (умалчиваемыми)
значениями параметров 174

4.8.7. Подставляемые (inline) функции 175

4.8.8. Функции с переменным числом параметров 175

4.8.9. Перегрузка функций 177

4.8.10. Шаблоны функций 178

4.8.11. Указатель на функцию 181

4.8.12. Ссылки на функцию 183

4.9. Типы данных, определяемые пользователем 184

4.9.1. Переименование типов 184

4.9.2. Перечисления 184

4.9.3. Структуры 185

4.9.5. Битовые поля 188

4.9.6. Объединения 188

4.10. Динамические структуры данных 189

4.10.1. Линейный однонаправленный список 190

4.10.2. Работа с двунаправленным списком 194

4.11. Ввод-вывод в C++ 198

4.11.1. Потоковый ввод-вывод 198

4.11.1.1 Открытие и закрытие потока 199

4.11.2. Стандартные файлы и функции для работы с ними 201

4.11.3. Символьный ввод-вывод 201

4.11.4. Строковый ввод-вывод 202

4.11.5. Блоковый ввод-вывод 203

4.11.6. Форматированный ввод-вывод 205

4.11.6.1 Прямой доступ к файлам 206

4.11.6.2 Удаление и добавление элементов в файле 207

4.12 Вопросы для самоконтроля 208

Список литературы 209

ПРИЛОЖЕНИЕ 210