Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Программирование C++ 2014n.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
886.86 Кб
Скачать

Федеральное агентство по образованию Российской Федерации

Ставропольский государственный университет

Е. В. Непретимова

Программирование

Часть I

Учебное пособие

Ставрополь

2014

Печатается по решению

редакционно-издательского совета

Ставропольского государственного

университета

Непретимова Е. В., Саманчук Л.Ф. Программирование: Учебн. пособие. Ч1 – Ставрополь: СГУ, 2006.- 128 с.

Пособие соответствует государственному образовательному стандарту дисциплины «Информатика» раздел «Программирование» специальности 010400 –физика, а также может быть использовано при преподавании дисциплины «Алгоритмизация и программирование» для студентов специальности 010100 - математика и дисциплины «Информатика» специальности 010500 - прикладная математика и информатика.

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

Предназначено для студентов физико-математических специальностей СГУ. Может быть использовано учителями информатики при обучении программированию учащихся старших классов.

Рецензенты: 1. Торопцев Е.Л., доктор экономических наук, профессор, зав. каф. автоматизации учетно-финансовых информационных систем ФГОУ ВПО Ставропольского государственного аграрного университета,

2. Копыткова Л.Б., канд. физ.-мат.наук, доцент, зав. каф. алгебры Ставропольского государственного университета

© Ставропольский государственный университет, 2006

Содержание

Предисловие 7

1. Основные понятия алгоритмизации и программирования 10

1.1. Этапы решения задач на ЭВМ 10

1.2. Основы алгоритмизации 13

1.3. Теоретические основы программирования 22

1.4. Правила записи в С++ арифметических выражений 23

Лабораторная работа № 1 Запись арифметических выражений 26

2. Программирование алгоритмов линейной структуры 30

2.1. Общая характеристика языка программирования С++ 30

2.2. Основные понятия языка 30

2.3. Данные и способы их организации 34

2.4. Стандартные простые типы данных 36

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

2.6. Операторы 43

2.7. Организация ввода/вывода данных 45

Лабораторная работа № 2 Программирование алгоритмов линейной структуры 46

3. Операторы ветвления 57

3.1. Простые и составные условия 57

3.2. Составной оператор 58

3.3. Условная операция (?:) 59

3.4. Условный оператор if 59

3.5. Оператор switch 62

3.6. Оператор перехода goto 63

Лабораторная работа № 3 Программирование алгоритмов разветвляющейся структуры 66

4. Циклы 76

4.1. Оператор цикла с параметром (for) 77

4.2. Оператор цикла с предусловием (while) 79

4.3. Оператор цикла с постусловием (do while) 81

4.4. Вложенные циклы 83

Лабораторная работа № 4 Программирование алгоритмов циклической структуры 86

5. Подпрограммы 97

5.1. Понятие подпрограммы 97

5.2. Формальные и фактические параметры 97

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

5.4. Функции 101

Лабораторная работа №5 Использование функций для решения прикладных задач 105

6. Итерация и рекурсия 111

6.1. Понятие итеративного процесса 111

6.2. Понятие рекурсии 111

Лабораторная работа №6 Программирование рекурсивных алгоритмов 114

7. Одномерные массивы 122

7.1. Понятие структурированного типа данных 122

7.2. Понятие и описание типа массив 122

7.3. Одномерные массивы 124

7.4. Основные действия над элементами массивов 125

Лабораторная работа №7 Использование числовых одномерных массивов 129

8. Двумерные массивы 136

Лабораторная работа №8 Двумерные массивы 141

9. Алгоритмы решения задач внутренней сортировки и алгоритмы поиска информации 146

9.1. Сложность алгоритмов 146

9.2. Постановка задачи поиска 147

9.3. Последовательный (линейный) поиск 147

9.4. Бинарный поиск 148

9.5. Постановка задачи сортировки данных 148

9.6. Прямые и быстрые методы внутренней сортировки 149

9.7. Сортировка вставками 150

9.8. Сортировка с помощью прямого выбора 151

9.9. Сортировка с помощью прямого обмена 152

Лабораторная работа № 9 Задачи сортировки и поиска 154

10. Указатели и массивы 155

10.1. Указатели 155

10.2. Взаимосвязь между массивами и указателями 156

10.3. Порядок объявления динамических массивов 159

10.4. Передача массивов в качестве параметров функции 160

Лабораторная работа №10 Применение массивов и указателей для решения прикладных задач 163

11. Особенности работы с функциями 170

11.1. Способы передачи параметров в функцию 170

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

11.3. Перегрузка функций 173

Лабораторная работа № 11 Исследование способов работы с функциями 175

12. Строки как массив элементов типа char 181

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

13. Строки как специальный класс string 190

Лабораторная работа № 13 Исследование способов работы с функциями 193

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

Форма отчета 196

14. Структуры 197

14.1. Изучение порядка объявления и инициализации структур 197

14.2. Программирование с использованием структур 199

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

Лабораторная работа № 14 Применение структур для решения прикладных задач 202

15. Файлы 203

15.1. Подход с использованием возможностей языка Си 203

15.2. Подход с использованием возможностей языка С++ 206

Лабораторная работа № 15 Исследование методов доступа к файлам данных 208

Литература 210

Приложение 1 Порядок выполнения лабораторных работ 211

Приложение 2 Базовые функции 212