[1] Имейте в виду, что я дал частное определение программы и алгоритма. В общем случае они определяются, как набор правил для получения нужного результата.
[2] Конечно же, не только процедуры, но и функции, о которых мы будем говорить еще не скоро (13.2). А в языке Си вообще нет процедур, а только функции. Сейчас, когда вы еще практически ничего не знаете о программировании, я вынужден прибегать к упрощениям, чтобы вы не утонули в обилии преждевременных подробностей.
[3] и функции (подчеркну еще раз)
[4] Программа на машинном языке состоит не из символов
[5] Опять же, числа в компьютере далеко не всегда состоят из символов-десятичных цифр. Когда компьютер производит над числами арифметические и другие операции, числа представлены совсем по-другому.
[6] В скобки условия нужно брать потому, что «приоритет» операции AND выше, чем у операций сравнения «=» и «<», то есть она выполняется раньше них, точно так же, как, скажем, умножение выполняется раньше сложения. В Паскале все арифметические, логические и другие операции объединены в единую систему приоритетов. Рассмотрение этой системы выходит за рамки книги.
[7] точнее, внутри стандартных модулей Паскаля, о которых вы узнаете позже
[8] и функций, и других элементов
[9] Тип Comp, несмотря на то, что является вещественным, принимает значения только целых чисел.
[10] если это не типизированная константа (речь о них – в следующем параграфе)
[11] Я приношу свои извинения за жаргон. Но что делать, если он широко распространен среди программистов. В конце концов, многие общепринятые слова раньше были жаргоном.
[12] Здесь и в следующей процедуре A – так называемый бестиповой параметр-переменная, который мы с вами не проходили.
0.1. Кому нужна эта книга?.................................................................................................................................................................. 5
0.2. Почему Паскаль?............................................................................................................................................................................. 5
0.3. Какой из Паскалей?........................................................................................................................................................................ 6
0.4. Краткое содержание с рекомендациями................................................................................................................................... 6
Часть I. Необходимые сведения о компьютере и программе..................... 8
Глава 1. Первое представление о компьютере и программе............................................................. 9
1.1. Что умеет делать компьютер........................................................................................................................................................ 9
1.2. Что такое компьютер. Первое представление о программе............................................................................................... 9
1.3. Как человек общается с компьютером.................................................................................................................................... 11
Глава 2. Программа и программирование......................................................................................... 12
2.1. Список команд. Командный и программный режимы........................................................................................................ 12
2.2. Что важно знать о программе.................................................................................................................................................... 13
2.3. Понятие о процедуре. Может ли робот поумнеть?............................................................................................................. 13
2.4. Программа для компьютера на машинном языке................................................................................................................ 14
2.5. Языки программирования........................................................................................................................................................... 15
2.6. Пример настоящей программы для компьютера на языке Лого...................................................................................... 16
2.7. Последовательность работы программиста на компьютере........................................................................................... 17
2.8. Основные приемы программирования.................................................................................................................................... 18
Глава 3. Устройство и работа компьютера........................................................................................ 21
3.1. Как устроен и работает компьютер......................................................................................................................................... 21
3.2. Устройство и размеры оперативной памяти......................................................................................................................... 23
3.3. Взаимодействие программ в памяти........................................................................................................................................ 23
3.4. Внешние устройства компьютера............................................................................................................................................ 24
3.5. Кодирование информации в компьютере............................................................................................................................... 27
Часть II. Программирование на Паскале – первый уровень..................... 29
Глава 4. Простые (линейные) программы. Операторы ввода-вывода. Переменные величины 30
4.2. Первая программа на Паскале.................................................................................................................................................. 31
4.3. Выполняем первую программу на компьютере................................................................................................................... 32
4.6. Описания переменных (VAR)..................................................................................................................................................... 35
4.7. Что делает оператор присваивания с памятью.................................................................................................................... 36
4.8. Имена переменных........................................................................................................................................................................ 37
4.9. Математика. Запись арифметических выражений.............................................................................................................. 38
4.10. Вещественные числа в Паскале.............................................................................................................................................. 39
4.11. Порядок составления простой программы.......................................................................................................................... 40
4.12. Операторы ввода данных ReadLn и Read......................................................................................................................... 42
4.15. Диалог с компьютером.............................................................................................................................................................. 45
Глава 5. Разветвляющиеся программы.............................................................................................. 46
5.1. Условный оператор IF или как компьютер делает выбор............................................................................................... 46
5.2. Правила записи оператора IF................................................................................................................................................... 48
5.3. Составной оператор..................................................................................................................................................................... 49
5.4. Ступенчатая запись программы............................................................................................................................................... 50
5.6. Символьный тип данных Char.................................................................................................................................................. 53
Глава 6. Циклические программы...................................................................................................... 56
6.1. Оператор перехода GOTO. Цикл. Метки................................................................................................................................ 56
6.2. Выход из цикла с помощью if.................................................................................................................................................... 58
6.3. Оператор цикла repeat................................................................................................................................................................. 59
6.4. Оператор цикла while................................................................................................................................................................... 60
6.5. Отличия операторов repeat и while........................................................................................................................................... 61
6.6. Оператор цикла for....................................................................................................................................................................... 61
Глава 7. Типичные маленькие программы....................................................................................... 64
7.2. Роль ошибок.................................................................................................................................................................................... 65
7.5. Вложение циклов в разветвления и наоборот....................................................................................................................... 68
7.7. Поиск максимального из чисел................................................................................................................................................. 69
Глава 8. Процедуры.............................................................................................................................. 71
8.1. Компьютер звучит......................................................................................................................................................................... 71
8.3. Процедуры и операторы............................................................................................................................................................. 75
8.4. Стандартные процедуры Halt и Exit....................................................................................................................................... 75
Глава 9. Графика................................................................................................................................... 77
9.4. Работа с цветом. Заливка. Стиль линий и заливки.............................................................................................................. 81
9.5. Используем в рисовании переменные величины.................................................................................................................. 83
9.6. Использование случайных величин при рисовании........................................................................................................... 84
9.7. Движение картинок по экрану................................................................................................................................................... 85
Глава 10. Создаем первую большую программу.............................................................................. 87
10.2. Программирование по методу “сверху-вниз”..................................................................................................................... 87
10.3. Сначала – работа над структурой программы................................................................................................................. 89
10.4. Зачем переменные вместо чисел............................................................................................................................................ 91
10.5. Записываем программу целиком............................................................................................................................................ 92
10.6. Порядок описания переменных, процедур и других конструкций Паскаля.............................................................. 95
10.7. Управление компьютером с клавиатуры. Функции ReadKey и KeyPressed............................................................... 96
10.9. Гетерархия. Задание на игру “Торпедная атака”.......................................................................................................... 100
Часть III. Программирование на Паскале – второй уровень................. 103
Глава 11. Алфавит и ключевые слова Паскаля.............................................................................. 104
11.3. Использование пробела.......................................................................................................................................................... 105
Глава 12. Работа с разными типами данных Паскаля.................................................................. 106
12.1. Список типов.............................................................................................................................................................................. 106
12.4. Определения констант............................................................................................................................................................ 111
12.7. Логический тип Boolean......................................................................................................................................................... 113
12.9. Ограниченный тип (диапазон).............................................................................................................................................. 114
12.10. Действия над порядковыми типами.................................................................................................................................. 115
12.11. Символьный тип Char. Работа с символами................................................................................................................... 116
12.12. Строковый тип String. Работа со строками..................................................................................................................... 117
Глава 13. Процедуры и функции с параметрами........................................................................... 125
13.1. Процедуры с параметрами.................................................................................................................................................... 125
13.3. Подпрограммы. Локальные и глобальные переменные................................................................................................ 128
13.4. Массивы как параметры........................................................................................................................................................ 129
13.5. Параметры-значения и параметры-переменные............................................................................................................. 130
Глава 14. Строгости Паскаля............................................................................................................ 135
14.1. Структура программы............................................................................................................................................................ 135
14.2. Структура процедур и функций........................................................................................................................................... 136
Глава 15. Другие возможности Паскаля.......................................................................................... 147
15.1. Работа с файлами данных..................................................................................................................................................... 147
15.2. Вставка в программу фрагментов из других программных файлов.......................................................................... 149
15.4. Дополнительные процедуры и функции модуля Graph................................................................................................. 152
15.5. Копирование и движение областей экрана...................................................................................................................... 152
15.6. Вывод текста в графическом режиме.................................................................................................................................. 154
15.7. Управление цветом в текстовом режиме (модуль CRT)................................................................................................ 154
15.8. Работа с датами и временем (модуль DOS)....................................................................................................................... 155
15.9. Нерассмотренные возможности Паскаля.......................................................................................................................... 156
15.10. Миг между прошлым и будущим....................................................................................................................................... 157