- •Оглавление
- •§1. Первое знакомство с системой программирования Турбо Паскаль
- •§2. Основные элементы языка
- •§3. Команды редактора Команды управления движением курсора
- •§4. Первая программа
- •Пояснения к программе
- •Запуск программы
- •Сохранение программы
- •§5. Управление позициями и цветом вывода
- •§6. Арифметический квадрат.Абсолютная величина
- •§7. Типы данных
- •§8. Целый тип данных
- •Пример 6
- •Пример 7
- •Пример 8
- •§9. Вещественный тип данных
- •Пример 7
- •Пример 8
- •§10. Логический тип данных
- •§11. Условный оператор
- •Пример 1
- •Пример 2
- •Решение
- •§12. Оператор безусловного перехода. Раздел описания меток
- •§13. Вложенные условные операторы
- •Решение
- •Задание
- •Решение задач Задача 1
- •Задача 8
- •Задача 9
- •Задача 10
- •§14. Цикл с параметром
- •Пример 1
- •Пример 2
- •Пример 3
- •§15. Работа с окнами. Метод пошагового выполнения программ
- •§16. Решение задач с использованием цикла с параметром Задача 1
- •Решение
- •Задача 2.
- •§17. Цикл с предусловием
- •Оператор цикла с предусловием
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§18. Цикл с постусловием
- •Пример 1
- •Решение
- •Пример 2
- •§19. Алгоритм Евклида
- •§20. Вложенные циклы Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •Решение
- •Пример 5
- •§21. Решение задач с использованием циклов с условием Задача 1
- •Решение
- •Задача 2
- •§22. Символьный тип данных
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§23. Ограниченный тип данных
- •Var b:3..8; а не просто Vаг b:Integer;
- •Решение
- •§24. Оператор варианта (выбора)
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Пример 4
- •§25. Перечисляемый тип данных
- •§26. Описание переменных, констант и типов. Раздел описания констант
- •Раздел описания типов
- •§27. Преобразование типов. Совместимость типов
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение.
- •§28. Процедуры
- •Описание процедуры
- •Решение
- •Begin {основная программа}
- •Пример 2
- •Решение
- •Пример 3
- •§29. Функции
- •Пример 1
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •§30. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Пример 3
- •Задачи, которые можно решить как частный случай обобщенной
- •Задание
- •Задачи, в которых можно использовать характеристику или свойство функции Пример
- •Решение
- •§31. Файловый тип данных Операции для работы с файлами последовательного доступа
- •§32. Обработка файлов Связь переменной файлового типа с файлом на диске
- •Чтение из файла
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •§33. Прямой доступ к элементам файла
- •Удаление файлов. Процедура
- •Переименование файлов. Процедура
- •Пример 2
- •§34. Текстовые файлы
- •Обработка текстовых файлов
- •Пример 1
- •Решение
- •Пример 2
- •Нетипизированные файлы
- •§35. Одномерные массивы. Работа с элементами(разбор на примерах) Пример 1
- •Решение
- •Пример 2
- •Решение
- •Пример 3
- •Решение
- •Begin {Считываем очередную строку}
- •§36. Работа с элементами массива (разбор на примерах)
- •Пример 2
- •§37. Методы работы с элементами одномерного массива
- •Создание массива
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •Работа с несколькими массивами Пример
- •Решение
- •§38. Удаление элементов из одномерного массива Пример 1
- •Решение
- •Begin {Сдвиг элементов на один влево}
- •Пример 2
- •Решение
- •§39. Вставка элементов в одномерный массив
- •Вставка нескольких элементов
- •Решение
- •§40. Перестановки элементов массива
- •§41. Двухмерные массивы Описание. Работа с элементами
- •§42. Найти сумму элементов
- •Решение
- •§43.Нахождение количества элементов с данным свойством
- •Пример 1
- •Решение
- •Пример 2
- •Решение
- •§44. Работа с несколькими массивами Пример
- •Решение
- •§45. Определить, отвечает ли заданный массив некоторым требованиям Пример 1
- •Решение
- •Пример 2
- •Решение
- •§46. Изменение значений некоторых элементов, обладающих заданным
- •§47. Заполнение двухмерного массива по правилу
- •Пример 2
- •Решение
- •§48. Вставка и удаление элементов Вставка строки
- •Решение
- •Примечания
- •Удаление строки Пример
- •Решение
- •Примечания
- •§49. Перестановка элементов массива Перестановка двух элементов Пример 1
- •Решение
- •Пример 2
- •§50. Строковый тип данных
- •Операции со строками
- •Склеивание
- •Сравнение
- •Примеры
- •Пример 8
- •Пример 9
- •Пример 10
- •§51. Множественный тип данных
- •Операции над множествами
- •Примеры
- •Сравнение множеств
- •Пример 1
- •Пример 2
- •Вопросы для обсуждения
- •Пример 3
- •Вопросы для обсуждения
- •Пример 4
- •Решение
- •Пример 5
- •Решение
- •§52. Комбинированный тип данных (записи)
- •Пример 1
- •Пример 2
- •Пример 3
- •Решение
§2. Основные элементы языка
Язык Турбо Паскаль состоит приблизительно из 80 зарезервированных слов и специальных символов. Алфавит языка составляют буквы латинского алфавита, цифры, а также специальные символы, такие, например, как +, -, *. Специальными символами языка являются и некоторые пары символов. Зарезервированные слова, такие как Program, Begin, End, Writeln, Readln и т. д., в языке Паскаль могут применяться только по своему прямому назначению, то есть в качестве имен операторов, названий операций и т. д.
Кроме зарезервированных слов в программах на языке Паскаль используются как отдельные символы, так и пары символов, которые имеют специальное назначение. Перечень таких символов:
:= Присваивание переменной значения выражения.
; Разделитель операторов в программе.
( )Скобки для арифметических и логических
выражений.
: Разделитель в описаниях переменных и формате
операторов вывода.
.. Многоточие для списков.
+ Бинарные операции (не только арифметические).
-
*
/
= Логическое равенство, элемент описания констант
и типов.
<> Логическое неравенство.
< > Отношения «меньше чем» и «больше чем».
<= Отношение «меньше или равно».
>= Отношение «больше или равно».
. Конец программы или модуля.
' Ограничители константы строкового типа.
{ } Пары скобок для комментариев.
(* *) Пары скобок для комментариев.
, Разделитель элементов списка.
[ ] Скобки для ссылки на элемент массива или
указания диапазона значений индекса.
Из символов алфавита строят более сложные конструкции – слова, словосочетания, предложения. Слово – это некоторая минимальная единица языка самостоятельного значения, представляющая собой образованную в соответствии с некоторыми правилами последовательность символов. В языке Паскаль под словом понимают число, строку, имя. Словосочетание – это группа слов, имеющая некоторый смысл. В языке программирования эта конструкция, состоящая из слов и символов и задающая правило вычисления некоторого значения, называется выражением. Минимальная конструкция языка, представляющая собой законченную мысль есть предложение. Предложение либо задает полное описание некоторого действия, которое необходимо выполнить, и называется оператором, либо описывает структуру и организацию данных – объектов языка, над которыми эти действия производят, и называется описанием. Совокупность описаний и операторов, объединенная единым алгоритмом, образует программу. Для того, чтобы научиться писать программы, необходимо изучить синтаксис языка (правила записи его конструкций) и его семантику (смысл и правила использования этих конструкций).
Числа в языке Паскаль записываются в десятичной системе счисления и могут быть целыми и действительными (вещественными), положительными и отрицательными. Положительный знак числа (+) может быть опущен как для целых, так и для действительных чисел.
Действительные числа изображаются в естественной и экспоненциальной форме. В естественной форме число должно содержать десятичную точку, применяемую вместо десятичной запятой, причем число не может начинаться и оканчиваться точкой. Примеры правильной записи действительных чисел в естественной форме:
4.7 -0.71 +151.75
150.0 0.00067 0.0
Примеры неправильно записанных чисел:
15. – оканчивается точкой;
.65 – начинается с точки;
155.27.54 – содержит две точки.
Экспоненициальная (полулогарифмическая) форма записи используется для представления очень больших и очень маленьких чисел, которые нелегко изобразить обычной десятичной записью. Например, масса покоя электрона приблизительно равна 9,1*10-31кг. При записи таких чисел в языке Паскаль часть числа, которая читается как "умножить на десять в степени", обозначается буквой Е и число в программе выглядит следующим образом: 9.1Е-31. Цифры, предшествующие букве Е, образуют мантиссу числа, цифры, следующие за буквой Е, порядок. Следует помнить, что при написании числа мантисса не должна отсутствовать или начинаться и оканчиваться точкой.
Примеры правильно записанных чисел в экспоненциальной форме:
-0.131Е5 50Е7 -5Е-02 123.7Е-5
Примеры неправильно записанных чисел в экспоненциальной форме:
Е-05 – отсутствует мантисса;
-5.Е02 – мантисса числа оканчивается точкой;
-Е12 – отсутствует мантисса.
Строка – это последовательность символов языка, заключенная в апострофы (одиночные кавычки). Если в строку необходимо включить сам апостроф, то его записывают дважды.
Примеры строк: 'A', 'Таблица значений', 'контрольная работа по курсу информатики', 'XYZ', '575', '0.5+17E-5'.
Примеры неверно записанных строк:
'CONST – нет конечного апострофа;
PROGRAM – отсутствуют апострофы;
'15.8'E5 – апостроф стоит не в конце строки;
'+*.;" – не хватает еще одного апострофа в конце строки.
Используются строки для работы с текстами, например для вывода текстов и комментариев на печать. Максимальная длина строки определяется конкретной реализацией языка.
Имена (идентификаторы) служат для обозначения различных объектов и конструкций программы и отличаются от служебных слов программы тем, что выбираются (назначаются) самим программистом по следующему правилу: имя должно состоять из букв и цифр, но первым символом может быть только буква. Длина имени во многих реализациях языка не ограничивается, однако рекомендуется, чтобы она не превышала 6−8 символов.
Выбор имени следует осуществлять исходя из логической или физической сущности обозначаемого объекта, при этом рекомендуется придерживаться следующих правил:
1) в пределах области определения имя должно быть уникальным (каждому имени должен соответствовать лишь один обозначаемый объект и наоборот), в противном случае соответствие между именем и обозначаемым объектом будет неоднозначным;
2) в качестве имен не разрешается использовать служебные слова;
3) в языке определен некоторый набор заранее предопределенных имен, их называют стандартными; программист может переопределить эти имена (использовать не по стандартному назначению), но делать это не рекомендуется;
4) длинные имена или имена, состоящие из нескольких слов, следует сокращать;
5) следует избегать схожих по виду имен (АХ1 и AXI), подобных по написанию символов в пределах одного идентификатора (DO20, где второй символ – буква О, последний – цифра 0);
6) если в имени нужно использовать цифры, то лучше писать их в конце идентификатора (А32, REG15).
Имена используются для обозначения данных – величин, над которыми производятся некоторые действия. Постоянные величины, значения которых не меняются в процессе выполнения программы, называются константами. Константы в программе могут быть представлены либо непосредственно своим значением (числом, строкой), либо именем. Для некоторых констант в языке определены стандартные имена: FALSE, TRUE, MAXINT,
Величины, значения которых могут изменяться в процессе выполнения программы, называются переменными. Переменные в программе могут быть представлены в программе только именем. В ЭВМ каждой величине отводится определенная область памяти, где хранится ее значение.
Имена также используются для обозначения всей программы и отдельных ее частей (процедур и функций), дающих описание некоторого сложного действия или группы действий, производимых над данными и имеющих некоторое самостоятельное значение.