Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_методичка.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.66 Mб
Скачать

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Технологический институт

Федерального государственного образовательного учреждения высшего профессионального образования

«Южный федеральный университет»

Е.Ю.КОСЕНКО

Е.С. Никул

Программирование и основы алгоритмизации Практикум

Таганрог 2008

УДК 681.3

Е.Ю.Косенко, Е.С. Никул. Программирование и основы алгоритмизации. Практикум: Учебное поcобие. - Таганрог: Изд-во Технологического института ЮФУ, 2008 - 242 с.

ISBN

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

Табл. 11. Ил. 19. Библиогр.: 13 назв.

Рецензенты:

доктор технических наук, профессор, заведующий кафедрой информатики ТГПИ Ромм Я.Е.

доктор технических наук, профессор, заведующий кафедрой Автоматики и Телемеханики Ростовского Государственного Университета Путей Сообщения, Ковалев С.М.

 ТТИ ЮФУ, 2008

 Косенко Е.Ю., Никул Е.С., 2008

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 9

Лабораторная работа № 1 10

Краткие теоретические сведения 10

Структура программы. 10

Константы и переменные 13

Операции 13

Выражения 17

Ввод и вывод 17

Функция вывода 17

Функция ввода 18

Ввод и вывод в Си++ 18

Постановка задачи 19

Варианты. 20

Методические указания 23

Содержание отчета 23

Контрольные вопросы 23

Лабораторная работа № 2 25

Краткие теоретические сведения 25

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

Операторы выбора. 26

Постановка задачи 27

Варианты 27

Задание 1. 28

Задание 2. 31

Пример выполнения задания 39

Алгоритм решения задачи в виде блок-схемы 40

Алгоритм решения задачи в виде псевдокода 41

Программа решения задачи 41

Результаты работы программы 41

Содержание отчета 42

Контрольные вопросы 42

Лабораторная работа № 3 43

Краткие теоретические сведения 43

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

Цикл с предусловием 44

Цикл с постусловием 44

Цикл с параметром 44

Операторы передачи управления 45

Постановка задачи 48

Варианты 48

Задание 1. 48

Задание 2. 51

Методические указания 54

Указания по вычисление очередного слагаемого по рекуррентной формуле 58

Методические указания по выполнению контрольного расчета 59

Содержание отчета 64

Контрольные вопросы 64

Лабораторная работа № 4 66

Краткие теоретические сведения. 66

Обработка одномерных массивов. 67

Формирование псевдодинамических массивов. 68

Использование датчика случайных чисел для формирования массива. 69

Перебор массива по два элемента. 70

Варианты 70

Методические указания 76

Пример выполнения лабораторной работы 77

Дополнительные задания 78

Одномерные массивы 78

Двумерные массивы 85

Одномерные и двумерные массивы 90

Содержание отчета 97

Контрольные вопросы 97

Лабораторная работа № 5 98

Краткие теоретические сведения 98

Определение количества элементов массива в программе. 100

Постановка задачи 100

Варианты 101

Дополнительные задания 104

Содержание отчета 106

Контрольные вопросы. 106

Лабораторная работа № 6 107

Краткие теоретические сведения 107

Формирование динамических массивов с использованием операций new и delete. 109

Постановка задачи 111

Порядок выполнения работы 111

Варианты 111

Содержание отчета 115

Контрольные вопросы. 115

Лабораторная работа № 7 116

Краткие теоретические сведения 116

Постановка задачи 122

Варианты 122

Содержание отчета 125

Контрольные вопросы 125

Лабораторная работа № 8 126

Краткое теоритическое введение 126

Понятие структуры. 126

Инициализация структур 127

Присваивание структур 128

Доступ к элементам структур 128

Указатели на структуры 129

Постановка задачи. 129

Варианты 129

Содержание отчета 139

Контрольные вопросы. 140

Лабораторная работа № 9 141

Краткое теоретическое введение 141

Постановка задачи 144

Варианты 144

Порядок выполнения работы. 148

Содержание отчета 148

Контрольные вопросы 148

Лабораторная работа № 10 149

Краткие теоретические сведения 149

Постановка задачи 150

Варианты 150

Содержание отчета 156

Контрольные вопросы 156

Лабораторная работа № 11 157

Краткие теоретические сведения. 157

Понятие класса. 157

Доступность компонентов класса. 161

Указатель this 163

Конструктор 163

Конструктор копирования 166

Деструктор 168

Указатели на компоненты-функции 169

Порядок выполнения работы. 169

Методические указания. 170

Варианты 172

Содержание отчета. 177

Контрольные вопросы 177

Лабораторная работа № 12 179

Краткие теоретические сведения. 179

Бинарные и унарные операции 183

Предопределенные значения операций 185

Операции и определяемые пользователем типы 186

Определяемое преобразование типа 187

Конструкторы 188

Перегрузка операций new и delete 189

Перегрузка операции приведения типа 191

Перегрузка операции вызова функции 191

Перегрузка операции индексирования 192

Порядок выполнения работы. 192

Варианты задания. 193

Методические указания. 196

Содержание отчета. 197

Контрольные вопросы 197

Лабораторная работа № 13 198

Краткие теоретические сведения. 198

Указатель this 200

Наследование 200

Конструкторы и деструкторы производных классов 202

Виртуальные функции 203

Абстрактные классы 204

Порядок выполнения работы. 207

Варианты заданий. 208

Методические указания. 209

Содержание отчета. 209

Контрольные вопросы. 210

Самостоятельная работа № 1 211

Краткие теоретические сведения. 211

Основные свойства параметров шаблона функции 211

Шаблон класса 212

Основные свойства шаблонов классов 213

Компонентные функции 215

Порядок выполнения работы. 215

Варианты заданий. 216

Содержание отчета. 218

Контрольные вопросы 218

Самостоятельная работа № 2 220

Краткие теоретические сведения. 220

Пример шаблона потокового класса. 221

Потоковые классы в С++ 221

Схема иерархии 222

Базовые потоки ввода-вывода 222

Форматирование 226

Манипуляторы 227

Определение пользовательских манипуляторов 227

Файловый ввод-вывод 230

Порядок выполнения работы. 232

Методические указания 233

Содержание отчета. 234

Контрольные вопросы. 234

Самостоятельная работа № 3 235

Краткое теоретическое введение. 235

Постановка задачи. 237

Варианты заданий 237

Содержание отчета 238

Пример выполнения задания 238

Распечатка исходных данных и результатов выполнения программы. 239

Литература 241