ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ ОПЕРАЦИЙ ВВОДА-ВЫВОДА В ПРОГРАММАХ НА ЯЗЫКЕ ПАСКАЛЬ
Лабораторная работа № 8
Цель работы:получение навыков по использованию операторов ввода-вывода.
Требования к выполнению заданий:
Для каждого упражнения записать отдельную линейную программу и выполнить эту программу в пошаговом режиме, наблюдая (и фиксируя на бумаге) значения заданных переменных в окне "Watch".
Задания для выполнения:
1. Обработка пустого входного потока
Задан пустой входной поток: . .
В списке ввода находятся:
1) две переменные целого типа;
2) две символьные переменные;
3) две переменные строкового типа.
Какие значения получат переменные?
2. Ввод целых 16-ричных и десятичных значений
В списке ввода находятся:
1) две целые переменные;
2) две вещественные переменные.
Заданы входные потоки:
1) $A $B
2) 10 11
Какие значения получат переменные?
3. Ввод символьных значений
В списке ввода находятся 4 переменные символьного типа.
Заданы входные потоки:
1) abcd
2) ‘a’’b’’c’’d’
Какие значения получат переменные?
4. Ввод и вывод булевских значений
Var
a, b : boolean;
Begin
a := false;
b := true;
end.
Дополнить программу операторами:
1) Read (a,b);
2) Write (a,b).
Зафиксировать и объяснить результаты.
5. Использование клавиши «Tab» в качестве разделителя
В списке ввода находятся:
а) две переменные целого типа;
б) две переменные символьного типа.
Входные потоки:
1) 1#92
2) 1 Tab 2
3) 1 Alt+9 2
Какие значения получат переменные?
6. Вывод значения в заданную позицию.
Для двух переменных целого и строкового типов вывести их значения, начиная соответственно с 25-й и 45-й позиции.
Выполнить эти действия двумя способами:
1) с помощью пробелов;
2) с помощью задания форматов вывода.
7. Исследование различий в работе операторов Read и Readln
Входной поток: 1234
Var
a, b : real;
S1, S2 : string;
Begin
Read (a, S1);
Readln (S2);
Read(b)
End.
Определить значения переменных a, b, S1 и S2. При выполнении каких операторов программа переходит в состояние ожидания ввода?
8. Вывод вещественных значений
Описаны переменные:
1) a : real;
2) a : single.
Зафиксировать образы экрана.
Var a : ...; Begin a := 0.25; ..... End. | Дополнить программу операторами: Writeln (a); Writeln (a:4); Writeln (a:4:1); Writeln (a:4:-1); Writeln (a:-4:1); |
9. Отображение знака «+» при выводе
Зафиксировать образы экрана для всех 3-х случаев.
1) Var a : real; Begin a := 0.25; Write (a); Write (a); Write (a); End. | 2) Var a : byte; Begin a := 25; Write (a); Write (a); Write (a); End. | 3) Повторить пункт 2 для a: shortint; |
10. Записать операторы ввода-вывода:
1) для ввода в одной строкезначений нескольких переменных с «подсказками»;
2) для вывода в одной строке значений нескольких переменных с «подсказками».
Контрольные вопросы
1. Что называется эхо-отображением при вводе/выводе?
2. В каком смысле файлы Input и Output называются стандартными?
3. Что такое входной поток?
4. Что такое список ввода?
5. Что такое список вывода?
6. Чем отличается список ввода от списка вывода?
7. Каковы особенности интерпретации входного потока:
- для целых и вещественных переменных;
- для символьных переменных;
- для строковых переменных?
8. В какой момент символы из входного потока поступают на вход процедур ввода?
9. Что такое бесформатный ввод и вывод?
10. В чем разница работы процедур Read и ReadLn?
11. Какое действие производит вызов процедуры Readln без списка ввода?
12. Какое действие производит вызов процедуры Wtiteln без списка вывода?
13. Какие символы во входном потоке рассматриваются (обрабатываются) как разделители?
14. Последовательности каких операторов соответствует один вызов процедуры ввода со списком ввода?
15. В каком случае выводимые значения выравниваются вправо, а в каком – влево?
16. В каком случае вещественные значения выводятся в форме с плавающей точкой, а в каком случае – с фиксированной точкой?
17. Какова минимальная ширина поля для вывода вещественного значения и что в эту ширину включается?
18. Какие значения (каких типов) нельзя ввести во входном поттоке и какие значения (каких типов) нельзя вывести на экран?