- •А.Д. Кононов, а.А. Кононов Информатика
- •Введение
- •1. История развития языков программирования. Парадигмы программирования
- •Контрольные вопросы и упражнения
- •2. Языки программирования высокого уровня. Метаязыки для описания синтаксических конструкций
- •3. Паскаль – язык структурно-ориентированного программирования
- •3.1. Лексика и конструкции языка
- •3.2. Типы данных. Структуры данных
- •3.3. Выражения и операции
- •Контрольные вопросы и упражнения
- •3.4. Алгебра логики
- •Контрольные вопросы и упражнения
- •3.5. Построение программы
- •3.6. Операторы языка
- •3.7. Организация ввода – вывода
- •Контрольные вопросы и упражнения
- •3.8. Вызов процедур и функций
- •Заключение
- •Библиографический список
- •Послесловие
- •Глоссарий
- •Список сокращений (аббревиатур)
- •Краткий русско – английский словарь терминов
- •Диагностика ошибок трансляции
- •Оглавление
- •Кононов Александр Давыдович Кононов Андрей Александрович
- •394006, Воронеж, ул. 20-летия Октября, 84
3.7. Организация ввода – вывода
Для ввода исходных данных, над которыми должны выполнятся преобразования в программе, используются операторы READ и READLN. Можно вводить данные целого, вещественного и символьного типа. Разделителем между числами служит пробел или ENTER (конец строки ). Символы при вводе не разделяются. Оператор READLN осуществляет переход к началу новой строки после ввода значения последней переменной в списке.
Вывод данных разрешает выводить значения всех стандартных типов. Общий вид операторов вывода значений целого, логического, символьного и строкового типа:
WRITE ( a : m); (1)
WRITELN ( a: m); (2)
где а – выводимое выражение, m – переменная или выражение целого типа; означает общее число позиций для вывода. Оператор (2) в отличие от (1) осуществляет переход к началу новой строки после окончания вывода значения последней переменной в списке объектов вывода.
При выводе вещественных чисел помимо задания общего количества позиций под выводимую величину можно задать количество позиций в дробной части числа
WRITE (b : m : n); (3)
WRITELN( b : m: n); (4)
где b – выводимое выражение, m – общее число позиций, n – количество позиций после запятой.
Контрольные вопросы и упражнения
1. Ответить на следующие вопросы:
а) можно ли вводить с помощью оператора READ значения булевского типа?
б) почему параметрами процедуры ввода READ могут быть только переменные, а не числа или выражения?
в) если в качестве исходных данных задано пять чисел, то можно ли ввести пятое из них, не вводя первые четыре?
2. Что получится в результате выполнения операторов:
а) write (‘A’:3,2:1); writeln (5*3.2);
б) writeln (5<6,5<=6:8); writeln (‘КОНЕЦ’);
в) writeln (5*3.3:4:1, ‘РЕЗУЛЬТАТ’) ?
3. Что будет напечатано программой:
а) program aba;
var a,b:integer;
` begin
read (a,b,a);
writeln (a,b,a)
end.
если для ввода заданы числа 1, 2 и 3?
б) program print1;
var x:integer;
begin
x:=2; writeln(’x+1’)
end.
в) program sq;
var b,c,d:real;
begin
read(b,c);
d:=sqrt(sqr(b) – 4*c);
writeln(’x1=’, (- b + d)/2, ’ x2=’,(- b – d)/2)
end.
если в качестве исходных данных заданы числа 1.0 и -2.0?
г) program time; var fi:real; h,m:integer; begin read
(fi); h:=trunc(fi/30); m:=trunc
(fi – 30*h/0.5); writeln (h,’_’, m) end.
Записать текст этой программы в более наглядной форме
д) program print2;
var x:real; t:boolean;
begin
read(x); t:= x< round(x);
read(x) y:= t and (x<trunc(x));
writeln (t)
end.
если для ввода заданы числа 1.5; -0.8?
Найти ошибки в каждой из следующих программ:
а) program A;
const d = 5;
begin
d:= sqr(d);
writeln(‘d*2=’,d)
end.
б) program B;
const k = true;
var x:real;
begin
read(x); writeln (ord(x) = k)
end.
в) program C;
var a,b,c : integer;
begin
read(a,b); writeln( (a+b+c)/3)
end.
г) program D;
var x:real;
begin
read(x);
y:=sqrt(x) + 1;
writeln(y)
end.
д) program E;
const B = 2.5;
var a,b,c : real;
begin
read(a,c); writeln(a*c > b)
end.