Отчет
О лабораторной работе по языкам программирования №8
«Простейший ввод-вывод на Паскале»
Выполнил
Студент гр. 541Сайкин В.Ю.
Проверил
Кузьмин Ю. М.
Конкин Ю.В.
Рязань 2016
Цель работы: получение навыков по использованию операторов ввода-вывода.
1. Теоретическая часть
Операторы Write и WriteLn
Write (англ. писать) - оператор, который используется для вывода информации на экран. Оператор WriteLn выполняет то же самое действие, но так как у него есть еще окончание Ln (line - англ. линия, строка), то после вывода на экран нужного сообщения, он дополнительно переводит курсор в начало следующей строки.
Общий вид:
Write (список выражений)
WriteLn (список выражений)
Процедуры Write и WriteLn используются не только для вывода результата, но и для вывода различных сообщений или запросов. Это позволяет вести диалог с пользователем, сообщать ему, когда ему нужно ввести значения, когда он получает результат, когда он ошибся и др.
Например, при выполнении процедуры WriteLn(‘Найденное число ‘,а), будет напечатана строчка, заключенная в апострофы, а затем выведено значение переменной а.
Оператор WriteLn можно применить и без параметров. В этом случае курсор просто будет переведен в начало следующей строки. Это иногда нам нужно для лучшего восприятия ввода данных.
Операторы Read и ReadLn
Основное назначение ЭВМ - сэкономить человеческий труд. Поэтому необходимо обеспечить возможность, однажды написав программу, многократно ее использовать, вводя каждый раз другие данные. Такая гибкость в языке обеспечивается операторами Read и ReadLn. Этими операторами вводится информация с клавиатуры.
Общий вид:
Read(переменная, переменная...)
ReadLn(переменная, переменная...)
При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.
Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a,b) переменной а будет присвоено число 53, а переменной b - буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае а:integer, а b:char.
Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу <Enter> результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.
2. Практическая часть
1. Обработка пустого входного потока
Задан пустой входной поток:.
В списке ввода находятся:
1) две переменные целого типа;
2) две символьные переменные;
3) две переменные строкового типа.
program v81;
Var
a,b:integer;
c,d:char;
e,f:string;
Begin
readln(a,b);
readln(c,d);
read(e,f);
writeln('a= ',a,'b= ',b);
writeln('c= ',c,'d= ',d);
writeln('e= ',e,'f= ',f);
end.
Какие значения получат переменные из списка ввода?
Комментарий:после запроса на ввод программа будет находиться в ожидании при пустом входном потоке,так как целый тип не воспринимает пробел,как символ,если же считывать a и b после символьного типа,то последнему пробел присвоется.
Ввод целых 16-ричных и десятичных значений
В списке ввода находятся:
1) две целые переменные;
2) две вещественные переменные.
Заданы входные потоки:
1) $A $B;
2) 10 11.
Какие значения получат переменные из списка ввода для каждого входного потока?
program v82;
Var
a,b:integer;
c,d:real;
Begin
read(a,b,c,d);
write('a=',a,'b=',b,'c=',c,'d=',d);
end.
Комментарий:целый тип долускает только ввод цифр,то есть 10-тичных значений, без знака доллара.
Ввод символьных значений
В списке ввода находятся 4 переменные символьного типа.
Заданы входные потоки:
1) abcd;
2) ‘a’’b’’c’’d’.
Какие значения получат переменные из списка ввода для каждого входного потока?
program v83;
Var
a,b,c,d:char;
Begin
read(a,b,c,d);
write('a=',a,' b=',b,' c=',c,' d=',d);
end.