- •1. Основы алгоритмизации и программирования
- •1.1. Этапы подготовки и решения задач на эвм
- •1.2. Алгоритмы и способы их описания Понятие алгоритма
- •Способы описания алгоритмов
- •Структурные схемы алгоритмов
- •1.3. Компиляция и интерпретация программ
- •1.4. Стили программирования
- •Процедурное программирование
- •Функциональное программирование
- •Логическое программирование
- •Объектно-ориентированное программирование
- •2.1. Пример готовой программы.
- •2.2. Структура основной программы
- •2.3. Алфавит языка
- •2.4. Константы и переменные Константы
- •Переменные
- •Примеры записи имен переменных
- •2.5. Арифметические выражения
- •Примеры вычисления арифметических выражений
- •Стандартные функции
- •Примеры программирования арифметических выражений
- •Контрольные задания
- •1. Составить описания для заданных переменных
- •2.6. Линейные вычислительные процессы
- •Оператор присваивания
- •Странные операторы присваивания
- •Функции ввода-вывода
- •Функции ввода исходных данных с клавиатуры
- •Потоковый ввод данных числового типа
- •Функция форматного ввода
- •Операторы вывода данных на экран Потоковый вывод
- •Форматный вывод
- •Контрольные задания
- •2.7. Разветвляющиеся вычислительные процессы
- •If (логическое выражение) p1; else p2;
- •Логические выражения
- •Порядок выполнения операций в логических выражениях
- •Условные операторы
- •Короткий условный оператор
- •Полный условный оператор
- •If (логическое выражение) { p1;} else {p2;}
- •Вложенные структуры условных операторов
- •Оператор выбора
- •Контрольные задания
- •2.8. Циклические вычислительные процессы
- •Операторы цикла с условием
- •Оператор цикла с параметром
- •2.9. Базовые алгоритмы
- •Задача 1. Алгоритм организации счетчика
- •Задача 2. Алгоритм накопления суммы
- •Задача 3. Алгоритм накопления произведения
- •Задача 4. Алгоритм поиска минимального члена последовательности
- •Задача 5. Табулирование функции (или кратные циклы)
- •Задача 6. Вычисление сумм элементов последовательностей
- •2.10. Указатели и массивы
- •2.10.1. Указатели
- •2.10.2. Понятие массива
- •Одномерные массивы
- •Описание одномерного массива
- •Индексированные переменные
- •Ввод-вывод одномерных массивов
- •Обработка одномерных массивов
- •Задача 1. Организация счетчика
- •Задача 2. Накопление суммы и произведения
- •Задача 3. Поиск минимального и максимального элементов массива
- •Двухмерные массивы
- •Описание двухмерного массива
- •Ввод-вывод двухмерного массива
- •Обработка матриц
- •2.11. Подпрограммы Структура сложной программы
- •Функции
- •Общий вид описания функции
- •Int I,j; //локальные переменные
- •Обращение к функции
- •Пример программы с функцией
- •Механизмы замены параметров
- •Параметры-массивы в функциях
- •Примеры программирования задач с использованием подпрограмм Задача 1
- •Рекурсия
- •2.12. Текстовые данные
- •Символьный тип данных
- •Ввод-вывод символьных данных
- •Обработка символьных данных
- •Ввод-вывод строковых данных
- •Обработка строковых данных
- •Стандартные функции обработки строк
- •Сравнение строк:
- •Сцепление строк
- •Определение длины строки
- •Копирование строк
- •Поиск символа в стоке
- •Пример программы для задачи с текстовыми данными
- •Контрольные задания
- •2.13. Динамическое выделение памяти
- •Структуры данных Понятие структуры
- •Обработка структур
- •Пример задачи с использованием структурированных данных
- •2.15. Файлы данных Понятие файла
- •2.15.1. Работа с файлами в стиле с
- •Объявление файловой переменной
- •Открытие файла
- •Закрытие файла
- •// Обработка открытого файла
- •Обработка открытого файла
- •Функции ввода/вывода
- •Работа с текстовыми файлами
- •Обработка бинарных файлов
- •Контрольные задания
- •Заключение
- •Оглавление
Заключение
Система программирования С++ - мощная профессиональная система, предназначенная для решения задач любой сложности - от создания простых программ вычислительного характера до разработки сложных систем управления базами данных. Данное учебное пособие рассчитано на изучение основных приемов программирования и отладки программ на языке С++.
В главах учебного пособия рассматривается язык С++. Изложение ведется от простого к сложному, что позволяет обучающимся решать простейшие вычислительные задачи и постепенно переходить к разработке программ с использованием текстовых и файловых данных. В учебном пособии приводится достаточное число различных примеров программирования, облегчающих понимание отдельных разделов языка С++.
Оглавление
1. Основы алгоритмизации и программирования 5
1.1. Этапы подготовки и решения задач на ЭВМ 5
1.2. Алгоритмы и способы их описания 7
Понятие алгоритма 7
Способы описания алгоритмов 9
Структурные схемы алгоритмов 12
1.3. Компиляция и интерпретация программ 16
1.4. Стили программирования 17
Процедурное программирование 17
Функциональное программирование 20
Логическое программирование 22
Объектно-ориентированное программирование 22
2. Основы алгоритмического языка С++ 25
2.1. Пример готовой программы. 25
2.2. Структура основной программы 27
Простейшая программа на С++ 27
2.3. Алфавит языка 28
2.4. Константы и переменные 29
Константы 29
Переменные 30
2.5. Арифметические выражения 32
Стандартные функции 33
Контрольные задания 35
2.6. Линейные вычислительные процессы 38
Оператор присваивания 39
Странные операторы присваивания 40
Функции ввода-вывода 41
Контрольные задания 49
2.7. Разветвляющиеся вычислительные процессы 52
Логические выражения 53
Условные операторы 55
Контрольные задания 65
2.8. Циклические вычислительные процессы 66
Операторы цикла с условием 67
Оператор цикла с параметром 70
2.9. Базовые алгоритмы 73
Задача 1. Алгоритм организации счетчика 73
Задача 2. Алгоритм накопления суммы 74
Задача 3. Алгоритм накопления произведения 75
Задача 4. Алгоритм поиска минимального члена последовательности 75
Задача 5. Табулирование функции (или кратные циклы) 77
Задача 6. Вычисление сумм элементов последовательностей 78
2.10. Указатели и массивы 81
2.10.1. Указатели 81
2.10.2. Понятие массива 84
Одномерные массивы 84
Описание одномерного массива 84
Индексированные переменные 85
Ввод-вывод одномерных массивов 86
Обработка одномерных массивов 87
Двухмерные массивы 91
Описание двухмерного массива 92
Ввод-вывод двухмерного массива 92
Обработка матриц 95
2.11. Подпрограммы 102
Структура сложной программы 102
Функции 104
Параметры-массивы в функциях 110
Примеры программирования задач с использованием подпрограмм 112
Рекурсия 120
2.12. Текстовые данные 125
Символьный тип данных 125
Строки 127
Для работы со строками этих операций недостаточно. Для работы со строками целиком и для обработки частей строк в классе string определено множество разнообразных методов (функций). Библиотека С++ содержит функции присваивания части одной строки другой строке (assing), добавления части одной строки к другой строке (append),вставки в одну строку части другой строки (insert), очистки строки (clear), выделения части строки (substr), поиск подстроки в строке (find), сравнение частей строк (compare), получение характеристик строк: определение количества элементов строки (size или length), максимальная длина строки (max_size), определение, является ли строка пустой (empty). Наиболее употребительные из них описаны в библиотеке <string> приложения А. 135
Контрольные задания 136
2.13. Динамическое выделение памяти 138
Оператор C++ new позволяет вашей программе выделять память динамически во время выполнения. Если вашей программе больше не нужна выделенная память, она должна ее освободить, используя оператор delete. Для освобождения памяти с использованием оператора delete вы просто указываете этому оператору указатель на данную область памяти, как показано ниже: 141
Пример 5. 142
2.14.Структуры данных 144
Понятие структуры 144
Обработка структур 147
Пример задачи с использованием структурированных данных 148
2.15. Файлы данных 150
Функции ввода/вывода 153
Работа с текстовыми файлами 161
Обработка бинарных файлов 162
Контрольные задания 165
Заключение 166
ЛИТЕРАТУРА
Голицына О.Л. Основы алгоритмизации и программирования. М.: Форум. 2008.- 431с.
Страуструп Б. Язык программирования С++.: монография / пер. с англ. под ред. Н.Н. Мартынова. - М.: Бином, 2011. - 1135с.
Страуструп Б. Программирование: принципы и практика использования С++.: монография / Б.Страуструп. - Испр. изд. - М. : Издат.дом "Вильямс", 2011. - 1238с.
Павловская
Лаптев В.В. С++ объектно-ориентированное программирование : учеб. пособие / В. В. Лаптев. - СПб.: ПИТЕР, 2008. - 457с. - Библиогр.: с. 453-457.
Ашарина И. В. Объектно-ориентированное программирование в С++ : лекции и упражнения : учеб. пособие / И. В. Ашарина. - М. : Горячая линия-Телеком, 2008. - 319с.
Эпштейн М. С. Практикум по программированию на языке С. М.: Академия, 2007, -102с.
Шилдт Г. Полный справочник по C++. М.: Вильямс, 2006,- 217с.
http://256bit.ru/informat/index11.htm