Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль_Конспект лекций.doc
Скачиваний:
41
Добавлен:
27.05.2015
Размер:
1.39 Mб
Скачать

Лекция 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 и только по отношению к выводимому выражению одного из вещественных типов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]