Ввод целых 16-ричных и десятичных значений

Отчет

О лабораторной работе по языкам программирования №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) две переменные строкового типа.

programv81;

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 .

Какие значения получат переменные из списка ввода для каждого входного потока?

programv82;

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’ .

Какие значения получат переменные из списка ввода для каждого входного потока?

programv83;

Var

a,b,c,d:char;

Begin

read(a,b,c,d);

write('a=',a,' b=',b,' c=',c,' d=',d);

end.