Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634558)
Контекстум
.

Программирование в примерах и задачах (495,00 руб.)

0   0
Первый авторГрацианова Т. Ю.
ИздательствоМ.: Лаборатория знаний
Страниц373
ID443487
АннотацияПособие поможет вам подготовиться к экзамену по информатике, научиться решать задачи по программированию на языке Паскаль. Рассмотрено большое количество программ, листинги приведены в расчете на использование среды Turbo Pascal 7.0, однако в большинстве своем будут работать без всяких изменений и в других версиях Паскаля. Некоторые задачи имеют несколько вариантов решений, и в пособии подробно разобрано, какое из них является наилучшим.
Кому рекомендованоДля школьников 8–11 классов, учителей информатики и методистов, а также студентов первых курсов технических вузов.
ISBN978-5-00101-927-5
УДК004.9
ББК32.97
Грацианова, Т.Ю. Программирование в примерах и задачах : [учеб. пособие] / Т.Ю. Грацианова .— 6-е изд. (эл.) .— Москва : Лаборатория знаний, 2020 .— 373 с. — (ВМК МГУ — школе) .— Дериватив. эл. изд. на основе печ. аналога (М.: Лаборатория знаний, 2020); Электрон. текстовые дан. (1 файл pdf : 373 с.); Систем. требования: Adobe Reader XI; экран 10" .— ISBN 978-5-00101-927-5 .— URL: https://rucont.ru/efd/443487 (дата обращения: 18.04.2024)

Предпросмотр (выдержки из произведения)

Цифры первого числа будут обозначаться справа налево: a1 второго числа b1 их равными нулю (при работе на компьютере можно числа вводить по цифрам, начиная с конца, дополняя нулями). <...> Глава 2 Первая программа на языке Паскаль Пусть наша первая программа будет такой (это достаточно известная стандартная программа, используемая при изучении языков программирования): Program FIRST; {Первая программа} Begin Writeln('Здравствуй, мир! <...> Не рекомендуется их использование «вперемешку»: компьютер прекрасно поймет и слово BeGiN, и bEGin, человеку же придется напрягаться, чтобы уловить смысл такой программы. <...> Работа с файлами Каждая Паскаль-программа должна содержаться в отдельном файле. <...> Воспользуйтесь справочной системой, посмотрите, какой текст выдается к словам Begin, Writeln. <...> Глава 4 Структура Паскаль-программы Паскаль-программа состоит из заголовка и программного блока. <...> Операторы отделяются друг от друга точкой с запятой, а весь раздел заключается в операторные скобки Begin-End. <...> Описания переменных разного типа отделяются друг от друга точкой с запятой, а слово Var можно не повторять: Var K,M : Integer; Stroka : String; Здесь описаны две переменные K и M типа Integer и переменная Stroka типа String. <...> Вещественные числа — это числа, у которых есть целая и дробная части, пусть даже равные нулю. <...> Ко всем значениям ординального типа применима стандартная функция Ord, которая дает номер значения в типе. <...> Целые числа Для описания целых чисел обычно используется стандартное имя типа Integer. <...> Для хранения числа отводится фиксированный объем памяти, поэтому существует минимальное (отрицательное) и максимальное значение типа Integer. <...> Для этого составьте программу, в которой будет оператор WriteLn(MaxInt). <...> Наберите в редакторе слово Integer, подведите к нему курсор, вызовите справку нажатием Ctrl + F1. <...> Примеры изображения целых чисел: 1 100 0125 -53 +3200 Пример описания данных целого типа: Var K,M : Integer; Вещественные числа Для описания вещественных чисел обычно используется стандартное имя типа Real. <...> Примеры <...>
Программирование_в_примерах_и_задачах.pdf
Стр.2
Стр.3
Стр.366
Стр.367
Стр.368
Стр.369
Программирование_в_примерах_и_задачах.pdf
Т. Ю. Грацианова ИНФОРМАТИКА ПРОГРАММИРОВАНИЕ в примерах и задачах 6-е издание, электронное Москва Лаборатория знаний 2020
Стр.2
УДК 004.9 ББК 32.97 Г78 Грацианова Т. Ю. Г78 Программирование в примерах и задачах / Т. Ю. Грацианова.—6-е изд., электрон.—М. : Лаборатория знаний, 2020.—373 с.—(ВМК МГУ—школе).—Систем. требования: Adobe Reader XI ; экран 10".—Загл. с титул. экрана.—Текст : электронный. ISBN 978-5-00101-927-5 Пособие поможет подготовиться к экзамену по информатике, научиться решать задачи по программированию на языке Паскаль. Рассмотрено большое количество программ; листинги приведены в расчете на использование среды Турбо Паскаль 7.0, однако в большинстве своем будут работать без всяких изменений и в других версиях Паскаля. Некоторые задачи имеют несколько вариантов решений, и в пособии подробно разобрано, какое из них является наилучшим. Для школьников 8–11 классов, учителей информатики и методистов, а также студентов первых курсов технических вузов. УДК 004.9 ББК 32.97 Деривативное издание на основе печатного аналога: Программирование в примерах и задачах / Т. Ю. Грацианова.— 6-е изд.—М. : Лаборатория знаний, 2020.—368 с. : ил.— (ВМК МГУ—школе).—ISBN 978-5-00101-273-3. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации ISBN 978-5-00101-927-5 ○c Лаборатория знаний, 2015
Стр.3
Оглавление ВВЕДЕНИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Стр.366
366 Оглавление Пример программы с разными типами данных и операторами присваивания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Стр.367
Оглавление 367 Задачи 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
Стр.368
368 Оглавление ГЛАВА 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
Стр.369