
- •Информационные технологии
- •Информационные технологии
- •Содержание
- •Процесс создания программного кода
- •1 Этап. Препроцессирование
- •2 Этап. Трансляция
- •3 Этап. Ассемблирование
- •4 Этап. Линковка (компоновка)
- •Программирование на Visual с
- •Лабораторная работа №1. Типы данных. Ввод-вывод
- •Алгоритмические конструкции языка с
- •Операторы выбора
- •Операторы цикла
- •Оператор безусловного перехода
- •Лабораторная работа № 2. Операторы языка с.
- •Указатели
- •Динамическое распределение памяти
- •Функции динамического распределения памяти
- •Лабораторная работа № 3. Указатели.
- •Подпрограммы
- •Передача параметров в тело функции
- •Перегрузка функций
- •Отладка программ. Трассировка программного кода. Окно watch
- •Лабораторная работа № 4. Подпрограммы.
- •Массивы
- •Передача массива в функцию
- •Лабораторная работа № 5. Одномерные массивы
- •Двумерные массивы. Выделение динамической памяти
- •Массивы указателей. Двумерные динамические массивы
- •Лабораторная работа № 6. Двумерные массивы
- •Работа со строками
- •Символьный массив
- •Функции преобразования типов
- •Лабораторная работа № 7. Строки.
- •Работа с файлами
- •Лабораторная работа № 8. Работа с файлами.
- •Структуры языка с
- •Переименование типов (typedef)
- •Перечисления (enum)
- •Структуры (struct)
- •Битовые поля
- •Объединения (union)
- •Указатели на структуру
- •Лабораторная работа № 9. Структуры
- •Операции с разрядами
- •Поразрядные логические операции
- •Поразрядные операции сдвига
- •Обращение к разрядам при помощи битовых полей
- •Лабораторная работа № 10. Поразрядные операции
- •Введение в понятие класс
- •Отделение интерфейса от реализации
- •Лабораторная работа № 11. Классы
- •Наследование
- •Перегрузка операторов
- •Лабораторная работа № 12. Наследование
- •Шаблоны
- •Шаблоны функций
- •Динамические структуры. Список, очередь, стек
- •Сложные динамические струкутры данных
- •Шаблоны классов
- •Лабораторная работа № 13. Шаблоны
- •Список рекомендуемой литературы
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
Михальченко C. Г.
Информационные технологии
Руководство по организации самостоятельной работы
ТОМСК 2013
У программистов есть свой собственный покровитель - святой Исидор. К сожалению, больше ничего святого у них нет...
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники
УТВЕРЖДАЮ
Зав. кафедрой ПрЭ
_______ А.В. Кобзев
Информационные технологии
Руководство по организации самостоятельной работы студентов
Разработчик:
Доцент каф. ПрЭ
________ С. Г. Михальченко
ТОМСК 2013
Михальченко С.Г.
Информационные технологии: Руководство по организации самостоятельной работы студентов / С. Г. Михальченко; Томский государственный университет систем управления и радиоэлектроники, Кафедра промышленной электроники – Томск: ТУСУР, 2013. – 217 с. : ил., табл. – Библиогр.: с. 207.
Руководство по организации самостоятельной работы студентов предназначено для студентов специальности 210100 «электроника и наноэлектроника».
Настоящее руководство имеет целью получение профессиональных компетенций в области информационных технологий, курс базируется на изучении языка С++ и применении полученных знаний в различных видах деятельности (инженерной, научно–исследовательской, управленческой, и др.).
Руководство может быть использовано для проведения практических занятий и лабораторных работ как аудиторно, так и в режиме самоподготовки. Наличие вариантов индивидуальных заданий позволяет использовать настоящее руководство для проведения контрольных работ и итогового тестирования.
Для освоения дисциплины Информационные технологии достаточно знаний, полученных студентом в школьном курсе информатики.
Михальченко С.Г., 2013
ТУСУР, 2013
Содержание
1. Основы программирования на С++ 7
1.1. Процесс создания программного кода 7
1.2. Программирование на Visual С 8
1.3. Структура программы на языке С++ 9
1.4. Стандартные типы данных языка С++ 11
1.5. Стандартные функции ввода-вывода С++ 13
1.6. Лабораторная работа №1. Типы данных. Ввод-вывод 15
2. Алгоритмические конструкции языка С 19
2.1. Операторы выбора 19
2.2. Операторы цикла 19
2.3. Оператор безусловного перехода 20
2.4. Лабораторная работа № 2. Операторы языка С. 21
3. Указатели 23
3.1. Динамическое распределение памяти 24
3.2. Функции динамического распределения памяти 25
3.3. Лабораторная работа № 3. Указатели. 26
4. Подпрограммы 27
4.1. Передача параметров в тело функции 29
4.2. Перегрузка функций 31
4.3. Фукции библиотеки <math.h> 31
4.4. Отладка программ. Трассировка программного кода. Окно watch 32
4.5. Лабораторная работа № 4. Подпрограммы. 34
5. Массивы 36
5.1. Указатели и массивы в C++ 37
5.2. Передача массива в функцию 37
5.3. Лабораторная работа № 5. Одномерные массивы 38
5.4. Двумерные массивы. Выделение динамической памяти 40
5.5. Массивы указателей. Двумерные динамические массивы 41
5.6. Лабораторная работа № 6. Двумерные массивы 43
6. Работа со строками 46
6.1. Символьный массив 46
6.2. Библиотека <string.h> 46
6.3. Функции преобразования типов 48
6.4. Лабораторная работа № 7. Строки. 49
7. Работа с файлами 51
7.1. Файловые операции библиотеки <stdio> 52
7.2. Работа с файлами посредством библиотеки <fstream> 53
7.3. Лабораторная работа № 8. Работа с файлами. 55
8. Структуры языка С 56
8.1. Переименование типов (typedef) 56
8.2. Перечисления (enum) 56
8.3. Структуры (struct) 57
8.4. Битовые поля 58
8.5. Объединения (union) 58
8.6. Указатели на структуру 59
8.7. Лабораторная работа № 9. Структуры 60
9. Операции с разрядами 62
9.1. Поразрядные логические операции 62
9.2. Поразрядные операции сдвига 63
9.3. Обращение к разрядам при помощи битовых полей 64
9.4. Лабораторная работа № 10. Поразрядные операции 65
10. Классы 66
10.1. Введение в понятие класс 66
10.2. Отделение интерфейса от реализации 69
10.3. Лабораторная работа № 11. Классы 72
10.4. Наследование 74
10.5. Перегрузка операторов 79
10.6. Лабораторная работа № 12. Наследование 81
11. Шаблоны 83
11.1. Шаблоны функций 83
11.2. Динамические структуры. Список, очередь, стек 84
11.3. Сложные динамические струкутры данных 87
11.4. Шаблоны классов 88
11.5. Лабораторная работа № 13. Шаблоны 88
Список рекомендуемой литературы 91
- Ваш родной язык. - Как это родной язык? - Ну, который Вы с детства знаете... - Basic. - Да нет, настоящий. - А! Настоящий! - Тогда Си!
Основы программирования на С++
Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который должен быть настолько «близок к машине», что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. С таким умыслом первоначально задумывался C.
Второй цели идеально отвечает язык, который настолько «близок к решаемой задаче», чтобы концепции ее решения можно было выражать прямо и коротко. С таким умыслом предварительно задумывались средства, добавленные к C для создания С++.