- •Р.К. Ахмадулин технология программирования
- •Оглавление
- •§1. Основные понятия
- •Основные символы языка Паскаль
- •Элементарные конструкции языка Паскаль
- •Примеры записи чисел и выражений на языке Паскаль
- •Вопросы для самопроверки
- •§2. Типы данных
- •Целые типы
- •Вещественные типы
- •Символьный тип
- •Логический тип
- •Скалярные типы, определяемые пользователем
- •Вопросы для самопроверки
- •§3. Операции и выражения
- •Приоритет операций и отношений в выражениях
- •Стандартные (встроенные) функции
- •Вопросы для самопроверки
- •§4. Структура программы
- •Комментарии
- •Директивы компилятора
- •Оформление исходного текста
- •Вопросы для самопроверки
- •§5. Переменные и константы. Оператор присваивания
- •Понятие константы
- •Понятие переменной
- •Оператор присваивания
- •Совместимость типов данных
- •Понятие типизированной константы
- •Вопросы для самопроверки
- •§6. Процедуры ввода и вывода
- •Процедуры вывода
- •Форматированный вывод
- •Процедуры ввода
- •Вопросы для самопроверки
- •§7. Условный оператор и оператор выбора. Оператор перехода
- •Условный оператор if
- •Понятие составного оператора
- •Оператор выбора
- •Оператор перехода
- •Вопросы для самопроверки
- •§8. Операторы цикла
- •Циклы с заданным числом итераций
- •Циклы с предусловием
- •Циклы с постусловием
- •Вопросы для самопроверки
- •§9. Пример использования циклов
- •Вычисление факториала
- •Вычисление суммы по заданной формуле
- •Вычисление суммы по формуле с заданной точностью
- •Вычисление максимального элемента последовательности
- •Вычисление длины последовательности элементов
- •Вопросы для самопроверки
- •§10. Массивы
- •Описание массива
- •Обращение к элементам массива
- •Многомерные массивы
- •Допустимые операции с массивами
- •Инициализация массива
- •Вопросы для самопроверки
- •§11. Алгоритмы сортировки
- •Сортировка выбором
- •Сортировка вставкой
- •Пузырьковая сортировка
- •Улучшенные сортировки
- •Вопросы для самопроверки
- •§12. Строковый тип
- •Описание строковых переменных
- •Операции над строками
- •Процедуры и функции для работы со строками
- •Вопросы для самопроверки
- •§13. Записи
- •Объявление записи
- •Обращение к записям
- •Оператор присоединения with
- •Записи с вариантами
- •Инициализация записи
- •Вопросы для самопроверки
- •§14. Множества
- •Описание множеств
- •Операции над множествами
- •Пример использования множеств
- •Множества как типизированная константы
- •Вопросы для самопроверки
- •§15. Процедуры и функции
- •Понятие процедуры и функции
- •Структура процедуры
- •Структура функции
- •Формальные параметры
- •Глобальные и локальные объекты
- •Вопросы для самопроверки
- •§16. Модули
- •Понятие модуля
- •Стандартные модули в Турбо Паскаль
- •Подключение модулей
- •Структура модуля
- •Вопросы для самопроверки
- •§17. Файлы
- •Понятие файла
- •Процедуры и функции для работы с файлами
- •Понятие буфера ввода-вывода
- •Вопросы для самопроверки
- •§18. Типизированные файлы
- •Описание типизированных файлов
- •Операции над типизированными файлами
- •Последовательный и прямой доступ
- •Вопросы для самопроверки
- •§20. Текстовые файлы
- •Описание типизированных файлов
- •Чтение и запись
- •Конец строки и конец файла
- •Дополнительные процедуры для работы с текстовыми файлами
- •Файлы Input и Output
- •Вопросы для самопроверки
- •§21. Ссылки и указатели
- •Понятие указателя
- •Описание указателей
- •Операции с указателями
- •Выделение и освобождение динамической памяти
- •Вопросы для самопроверки
- •Рекомендуемая литература
- •Технология программирования
- •625000, Тюмень, ул. Володарского, 38
- •625039, Тюмень, ул. Киевская, 52
Оформление исходного текста
Наряду с требованиями синтаксического характера существуют так называемые правила «хорошего тона». Так называют правила оформления исходного текста программ, которые не обязательны к выполнению, но которые при этом позволяют значительно упростить понимание кода. Другими словами, это рекомендации по оформлению исходного текста программ. Так, например, к таким рекомендациям относятся следующие:
1) в каждой строке исходного текста программы следует записывать только один оператор. Каждый новый оператор должен записываться с новой строки;
2) между операторными скобками begin..end все операторы должны записываться с отступом. Если в программе встречается еще одна пара begin..end, то внутри нее операторы записываются с дополнительным отступом. Чем больше глубина вложенности, тем больше будет отступ.
Пример:
var x: integer;
begin
readln(x);
if x>0 then
begin
x:=2*x;
x:=sqr(x);
end;
writeln(x);
end.
Вопросы для самопроверки
1. Является ли обязательным элементом заголовок программы?
2. Что такое «комментарии»?
3. Какие директивы компилятора Вы знаете?
4. Запись {I+} – это комментарий или директива компилятора?
5. Какие рекомендации к оформлению исходного кода программы Вы знаете?
§5. Переменные и константы. Оператор присваивания
Ранее были рассмотрены основные понятия языка программирования Паскаль, типы данных, структура программы и др. Начиная с этого параграфа, перейдем уже непосредственно к написанию исходного текста программ на языке программирования Паскаль.
Понятие константы
Нередко при построении выражений бывает удобно использовать вместо каких-либо конкретных значений некоторые их обозначения. Например, в математике используются такие константы, как π и e. При программировании порой также бывает удобно использовать подобные константы.
Например, Вы разрабатываете программу, которая должна вычислить объем некоторой произвольной фигуры с точностью не менее 0.001 ед. В этом случае Вы можете пойти двумя путями:
каждый раз, когда требуется проверить точность вычислений, явно в тексте программы записывать «0.001»;
описать один раз константу, например «eps», задать ей значение 0.001 и каждый раз, когда требуется проверить точность вычислений, в тексте программы записывать «eps».
Второй подход имеет ряд преимуществ:
не требуется каждый раз вспоминать значение точности – вместо этого просто пишете «eps»;
исключается возможность появления ошибки за счет того, что при написании исходного текста программист ошибется при записи значения точности (например, поставил не там точку).
Ну и, наконец, самое важное: если вдруг будет решено, что достаточно точности 0.1, то при использовании констант в программе будет достаточно сделать всего одну поправку: в разделе описания констант. Если же точность в тексте Вашей программы записывалась в явном виде, то придется искать все его вхождения в текст и исправлять их.
Как уже было отмечено ранее, константы описываются в разделе описания констант (см. структуру программы, §4).
Раздел описания констант начинается с ключевого слова const. Далее следует имя константы, знак «=» и ее значение. Запись заканчивается символом «;». Если требуется описать еще несколько констант, то слово const более не пишут.
Пример:
const
eps = 0.001;
MyConst = 10;
MyChar = ‘a’;
MyLogic = True;
При выполнении программы значение константы менять нельзя. Его может задать только сам программист при написании исходного текста программы.
Константы могут использоваться в любых выражениях в тексте программы, при этом ее словесное обозначение при вычислениях заменяется заданным в разделе описаний значением.
Пример: MyConst – 5 * sqr ( eps )