Программирование в примерах и задачах: учебное пособие
Автор:
Грацианова Т. Ю.
Год издания: 2020
Серия:
ВМК МГУ – школе
Издательство: Лаборатория знаний
Возрастное ограничение:
12+
Объем (стр.):
373
Постраничный просмотр для данной книги Вам недоступен.
Оплатить доступ к режиму онлайн-чтения.
Пособие поможет подготовиться к экзамену по информатике, научиться решать задачи по программированию на языке Паскаль. Рассмотрено большое количество программ; листинги приведены в расчете на использование среды Турбо Паскаль 7.0, однако в большинстве своем будут работать без всяких изменений и в других версиях Паскаля. Некоторые задачи имеют несколько вариантов решений, и в пособии подробно разобрано, какое из них является наилучшим.
Для школьников 8–11 классов, учителей информатики и методистов, а также студентов первых курсов технических вузов.
| ВВЕДЕНИЕ | 3 |
| ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ | 5 |
| Программирование | 5 |
| Этапы решения задачи | 5 |
| Что такое алгоритм? | 6 |
| Словесная формулировка алгоритма | 6 |
| Блок-схема. Основные конструкции | 7 |
| Переменная. Присваивание | 9 |
| Условие. Виды разветвлений | 10 |
| Цикл | 14 |
| Массив | 20 |
| Подпрограммы | 22 |
| Тестирование | 26 |
| Исполнитель алгоритма | 27 |
| Оптимальный алгоритм. Сложность алгоритма | 29 |
| Задачи 1.1–1.26. Составление алгоритмов | 30 |
| ГЛАВА 2. ПЕРВАЯ ПРОГРАММА НА ЯЗЫКЕ ПАСКАЛЬ | 35 |
| Понятие об алфавите языка | 35 |
| Принципы записи и «внешний вид» программы | 38 |
| ГЛАВА 3. ЭТАПЫ ПОДГОТОВКИ ПРОГРАММЫ. ПАСКАЛЬ-СРЕДА | 39 |
| Этапы подготовки программы | 39 |
| Основные функции Паскаль-среды | 40 |
| Задачи 3.1–3.4. Работа в редакторе | 50 |
| ГЛАВА 4. СТРУКТУРА ПАСКАЛЬ-ПРОГРАММЫ | 51 |
| ГЛАВА 5. ОСНОВНЫЕ ТИПЫ ДАННЫХ. ОПИСАНИЯ ПЕРЕМЕННЫХ. ПРИСВАИВАНИЕ | 53 |
| Некоторые типы данных и работа с ними | 54 |
| Оператор присваивания | 63 |
| Пример программы с разными типами данных и операторами присваивания | 65 |
| Задачи 5.1–5.17. Числа и формулы | 66 |
| ГЛАВА 6. ВВОД С КЛАВИАТУРЫ И ВЫВОД НА ЭКРАН | 68 |
| Оператор ввода | 69 |
| Оператор вывода | 70 |
| Форматный вывод | 71 |
| Грамотное использование операторов ввода и вывода | 72 |
| Примеры программ с вводом-выводом | 73 |
| Задачи 6.1–6.27. Ввод и вывод | 76 |
| ГЛАВА 7. РАЗВЕТВЛЕНИЯ | 78 |
| Условный оператор | 78 |
| Составной оператор | 81 |
| Решение задач с условным оператором | 83 |
| Оператор выбора | 91 |
| Задачи 7.1–7.35. Программы с разветвлениями | 93 |
| ГЛАВА 8. ТИП BOOLEAN. ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ | 96 |
| Логические значения, логические константы | 96 |
| Булева алгебра, алгебра логики | 97 |
| Логические операции | 98 |
| Составление логических выражений | 100 |
| Задачи с логическими выражениями | 101 |
| Программы с логическими выражениями | 107 |
| Задачи 8.1–8.11. Логическое выражение | 113 |
| ГЛАВА 9. ОПЕРАТОРЫ ЦИКЛА | 118 |
| Циклы с предусловием и с постусловием | 118 |
| Решение задач с помощью циклов с постусловием и с предусловием | 122 |
| Задачи 9.1–9.12. Циклы While и Repeat | 129 |
| Оператор цикла с параметром | 130 |
| Решение задач с помощью оператора цикла с параметром | 132 |
| Задачи 9.13–9.21. Цикл For | 135 |
| Задачи 9.22–9.24. Разные циклы | 136 |
| Цикл со сложным условием. Досрочный выход из цикла | 137 |
| Процедура Break | 141 |
| Обработка последовательностей | 142 |
| Задачи 9.25–9.55. Работа с последовательностью | 152 |
| Вокруг максимума | 155 |
| Задачи 9.56–9.65. Поиск наибольших и наименьших значений | 160 |
| Вложенные циклы | 161 |
| Задачи 9.66–9.70. Вложенные циклы | 163 |
| Решение задач методом перебора | 164 |
| Задачи 9.71–9.74. Метод перебора | 166 |
| Работа с таблицами | 166 |
| Задачи 9.75–9.81. Работа с таблицами | 169 |
| Задачи 9.82–9.115. Оператор цикла. Разные задачи | 171 |
| ГЛАВА 10. МАССИВ | 174 |
| Задание типов | 174 |
| Тип данных «Массив» | 176 |
| Задачи 10.1–10.21. Массив. Заполнение, печать | 188 |
| А нужен ли массив? | 190 |
| Перестановка элементов массива | 193 |
| Задачи 10.22–10.29. Перестановка элементов | 197 |
| Сортировка | 197 |
| Задачи 10.30–10.35. Сортировка | 205 |
| Поиск в массиве | 206 |
| Вспомогательный массив | 211 |
| Метод подсчета | 214 |
| Задачи 10.36–10.45. Метод подсчета | 222 |
| Строки | 223 |
| Задачи 10.46–10.58. Символьные массивы, строки | 237 |
| Матрицы | 238 |
| Решение задач с матрицами | 241 |
| Задачи 10.59–10.71. Работа с матрицей | 247 |
| ГЛАВА 11. ПРОЦЕДУРЫ И ФУНКЦИИ | 248 |
| Описание процедур и функций | 250 |
| Обращение к подпрограмме. Фактические параметры | 251 |
| Принцип локализации | 253 |
| Задачи 11.1–11.3. Вызов процедуры и функции | 255 |
| Работа с процедурами | 256 |
| Задачи 11.4–11.12. Процедуры с входными параметрами и функции | 263 |
| Параметры-переменные и параметры-значения | 264 |
| Примеры использования процедур и функций | 267 |
| Задачи 11.13–11.21. Процедуры и функции с входными и выходными параметрами | 270 |
| ГЛАВА 12. РЕКУРСИЯ | 272 |
| Работа рекурсивных процедур и функций | 272 |
| Задачи 12.1–12.5. Работа рекурсивных процедур и функций | 277 |
| Рекурсивные алгоритмы | 278 |
| Задачи 12.6–12.19. Написать рекурсивную процедуру или функцию | 288 |
| ГЛАВА 13. РАБОТА С ФАЙЛАМИ | 290 |
| Описание файла | 291 |
| Стандартные процедуры и функции для работы с файлами | 291 |
| Примеры работы с файлами | 297 |
| Задачи 13.1–13.17. Типизированные файлы | 301 |
| Текстовые файлы | 303 |
| Задачи 13.18–13.30. Текстовые файлы | 310 |
| ГЛАВА 14. КОМБИНИРОВАННЫЙ ТИП (ЗАПИСЬ) | 312 |
| Работа с типом «запись» | 313 |
| Задачи 14.1–14.5. Работа с записями | 319 |
| ГЛАВА 15. НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ЯЗЫКА ТУРБО ПАСКАЛЬ | 321 |
| Функция Random | 321 |
| Задачи 15.1–15.11. Работа с генератором случайных чисел | 323 |
| Модуль CRT | 324 |
| Работа со звуком | 324 |
| Задачи 15.12–15.18. Работа со звуком | 332 |
| Работа с экраном | 332 |
| Задачи 15.19–15.42. Работа с экраном | 341 |
| Работа с клавиатурой | 343 |
| Задачи 15.43–15.52. Работа с клавиатурой | 354 |
| Задачи 15.53–15.61. Общие задачи с модулем СRT | 355 |
| ГЛАВА 16. РАЗНЫЕ ЗАДАЧИ | 356 |






