- •Введение в object pascal
- •Лекция 1. Интегрированная Среда и Состав языка Object Pascal
- •1.1 Работа с окнами
- •1.2 Редактирование в Object Pascal
- •1.3 Команды меню
- •1.4 «Горячие» клавиши в Object Pascal
- •1.5 Состав языка
- •1.5.1 Алфавит и ключевые слова
- •1.5.2 Идентификаторы
- •1.5.3 Знаки операций, разделители, выражения и операторы
- •Лекция 2. Описательная часть программы
- •2.1 Структура программы
- •2.2 Описание констант
- •2.3 Описание и использование меток
- •2.4 Комментарии
- •Лекция 3. Описание переменных
- •3.1 Структура раздела описания переменных
- •3.2 Классификация типов данных
- •3.2.1 Целочисленные типы
- •3.2.2 Логический тип
- •3.2.3 Символьный тип
- •3.2.4 Вещественные типы
- •3.3 Описание типов пользователя
- •Лекция4. Выражения
- •4.1 Порядок выполнения операций
- •4.2 Выражения целого типа
- •4.3 Вещественные выражения
- •4.4 Логические выражения
- •Лекция 5. Программы Линейной структуры
- •5.1 Операторы ввода (Read, Readln)
- •5.2 Операторы вывода (Write, Writeln)
- •5.2.1 Форматирование численных значений
- •5.2.2 Вывод строковых, символьных и логических значений
- •5.2.3 Вывод вещественных значений в экспоненциальном формате
- •5.2.4 Расположение данного в поле вывода. Примеры
- •5.3 Оператор присваивания
- •5.4 Составной оператор
- •5.5 Стандартные процедуры и функции
- •5.5.1 Понятие процедуры и функции
- •5.5.2 Описание некоторых стандартных процедур и функций
- •5.5.3 Примеры программ линейной структуры
- •Лекция 6. Операторы ветвления (выбора)
- •6.1 Оператор ветвления if
- •6.2 Оператор множественного выбора (варианта) - case
- •Лекция 7. Операторы организации циклов
- •7.1 Цикл типа for
- •7.1.1 Прямая форма оператора for
- •7.1.2 Обратная форма оператора for
- •7.1.3 Советы для начинающих и примеры
- •7.2 Цикл типа While
- •7.3 Цикл типа Repeat... Until
- •7.4 Дополнительные операторы при программировании циклов
- •7.4.1 Досрочный выход из цикла - break
- •7.4.2 Переход к следующей итерации цикла - continue
- •Лекция 8. Массивы
- •8.1 Одномерные массивы
- •8.2 Сортировка одномерного массива
- •8.3 Массивы с большей размерностью
- •8.4 Констант-массивы
- •8.5 Генератор случайных чисел
- •8.5.1 Описание функции Random
- •8.5.2 Применение случайных чисел при работе с массивами
- •Лекция 9. Строки
- •9.1 Строковый тип
- •9.2 Операции над строками
- •Лекция 10. Записи и множества
- •10.1 Запись
- •10.2 Множества
- •11 Пользовательские процедуры и функции
- •11.1 Описание функции и процедуры
- •11.2 Понятие формальных и фактических параметров
- •11.3 Способы передачи параметров в подпрограмму через заголовок
- •11.4 Область видимости идентификаторов
- •12 Файлы
- •12.1 Основные понятия
- •12.2 Типизированные файлы
- •12.3 Текстовые файлы
Лекция 5. Программы Линейной структуры
В исполнительной части программы линейной структуры располагаются последовательно операторы ввода-вывода данных, операторы присваивания, операторы обращения к процедурам. Порядок этих операторов определяется логикой необходимых действий (вычислений) в программе.
Мы начнём изучение применения операторов в программе с операторов ввода-вывода. В языке Object Pascal имеется четыре основных оператора ввода/вывода: Read, Readln, Write, Writeln.
Ввод/вывод осуществляются с/на различные устройства. По умолчанию таким устройством является консоль: ввод данных происходит с клавиатуры, а вывод на экран монитора. Дальше, при работе с файлами, мы познакомимся с вводом/выводом в файл и на принтер.
5.1 Операторы ввода (Read, Readln)
Read (<список переменных через запятую>);
Readln (<список переменных через запятую>);
Как только вычислительный процесс доходит до операторов Read, Readln происходит останов вычислений. Пользователь обязан набрать на клавиатуре только значения тех переменных, которые перечислены в списке ввода. Разделителем между значениями – является пробел. После этого нажимается клавиша Enter. При этом на экране отображаются вводимые с клавиатуры символы, начиная с позиции текстового курсора, а курсор после вывода очередного символа перемещается на позицию вправо.
Примеры:
Read (А) ; Read (А, В, С);
Readln (X, У, Z) ;
Оператор Read отличается от оператора Readln тем, что первый из них из строки ввода данных вводит столько из них, сколько перечислено в списке ввода. Например, в программе имеется оператор Read (i, j), а на клавиатуре мы набрали следующие данные: 4 5 7 и нажали клавишу <Enter> . Переменным i и j будут присвоены значения 4 и 5. Однако при следующем выполнении оператора Read (i, j) независимо от того, что мы наберём на клавиатуре, переменной i будет присвоено значение 7.
Оператор Readln, независимо от длины списка ввода и длины строки ввода всегда игнорирует «лишнюю» информацию и ожидает нажатия клавиши <Enter>, даже если список ввода пуст. Поэтому, чтобы удержать экран пользователя перед глазами, полезно, перед завершением работы программы, вставить в неё оператор “Readln;” .
5.2 Операторы вывода (Write, Writeln)
Write(<список выражений, через запятую>);
Writeln(<список выражений, через запятую>);
На экран выводятся значения выражений, начиная с текущей позиции текстового курсора. Следует различать термины "переменная", "значение" и "выражение". "Выражение" - это наиболее общее понятие. "Значение" и "переменная" это тоже выражения, только простейшие.
Основное отличие оператора Write от Writeln в том, что после вывода на экран значений выражений оператором Write текстовый курсор остается в конце выведенной цепочки символов, а после вывода оператором Writeln курсор переходит на начало следующей строки.
Если вывод данных не отформатирован, то значение выводится вслед за предыдущим без какого-либо их разделения, то есть два последовательных данных «слипнуться».
5.2.1 Форматирование численных значений
Операторы Write и Writeln предоставляют возможность форматировать значения выражений различных типов при выводе их на экран. Формат при выводе чисел задаётся следующей строкой:
< выражение > [: n1 [:n2] ] .
Выводимым выражением может быть число, переменная или выражение, содержащее переменные и константы; n1 , n2 – целые числа без знака (квадратные скобки означают возможность отсутствия заключенных в них параметров). Подпараметр n1, если он присутствует, указывает ширину поля вывода ( количество позиций), в которое будет записываться значение выводимого выражения. Если символьное представление выводимого числа имеет меньшую длину, чем n1 , оно будет дополнено слева пробелами, если - большую длину, то подпараметр n1 игнорируется и выводится необходимое число символов.
Подпараметр n2 задает количество десятичных знаков в дробной части вещественного числа. Он может использоваться только совместно с n1 и только по отношению к выводимому выражению одного из вещественных типов.