Основы программирования на языке Паскаль
Внешними устройствами (файлами) могут быть: экран монитора, клавиатура, память на гибких дисках, память на жестком или лазерном дисках, линии связи и т.п. В операторах ввода-вывода указывается имя файла, с которым будет производиться ввод-вывод, этот файл считается логическим. Кроме того, есть понятие физического файла. Физический файл – это устройство, Например, гибкий магнитный диск, жесткий
диск и т. д. Логический файл имеет имя, которое можно указывать в операторах ввода-вывода.
5. 2. Ввод
Ввод производится с помощью операторов read или readln.
Формат операторов: read (FV, х1, х2, ., хn);
или readln (FV, х1, х2, ., хn);
где FV - имя файла, с которого считывается информация, а х1, х2 и т.д. – ячейки памяти, в которые заносится информация, считываемая с файла. Если FV отсутствует, то чтение производится с клавиатуры. Файл представляет собой как бы ленту с компонентами (рис 5.1):
Компонента может быть данным любого типа (см. с.9). Оператор readln начинает считывание с начала новой компоненты, а read может начинать не с начала. Если прежнее чтение закончилось внутри компоненты, то следующий read будет читать с того места, на котором закончилось предыдущее чтение (рис. 5.2).
В данном случае файл организован на каком-либо носителе (например на диске) и состоит из компонент, в каждой находится по три данных. Если для чтения из файлов применить операторы read (a, b); read (c, d); то в памяти будет а=3.2, b=8.6, c=0.2, d=7.01; если – операторы readln (a, b); readln (c, d), то в памяти а=3.2, b=8.6, c=7.01, d=8.3.
Замечание. При чтении данных с клавиатуры необходимо всегда использовать операторы readln (х1, х2, ., хn); (без указания имени файла).
5. 3. Вывод
Вывод производится с помощью операторов write или writeln.
Формат операторов: write (FV, x1, x2, ., xn);
writeln (FV, x1, x2, ., xn);
Работа оператора: в файл с именем FV выводится информация из ячеек оперативной памяти x1, x2, ., xn. Если FV отсутствует, вывод производится на экран монитора. При этом оператор write начинает вывод в то место компоненты файла, где был закончен прежний вывод, а оператор writeln начнет вывод с начала новой компоненты. Проиллюстрируем работу этих операторов на примере вывода данных на экран монитора.
Имеется фрагмент программы (напомним, что текст в скобках { } является комментарием и машиной не воспринимается);
Var a, b, c, d : integer;
Begin a: = 25; b: = 38; c: = 126; d: = 256;
writeln (a, b, c, d); {результат 2538126256}
writeln (a, b); writeln (c, d); {результат 2538 }
{126256 }
writeln (' a= ', a, ' b= ', b); {результат a=25 b=38}
{символы в апострофах выводятся как строковая константа}
write (a, b, c, d); {результат 2538126256}
write (a, b); write (c, d); {результат 2538126256}
write (' a= ', a, ' b= ', b);
write (' c= ', c, ' d= ',d); {результат a=25 b=38 c=126 d=256 }
5. 4. Некоторые возможности ввода-вывода
Оператор Readln; (без скобок, имени файла и списка ячеек памяти) вызовет остановку машины. Продолжение выполнения программы произойдет после нажатия кнопки Enter. Это очень удобно при просмотре каких-либо промежуточных результатов, например:
writeln ('a= ', a); Readln;
Машина выведет а=. . . и остановится, после нажатия кнопки Enter выполнение программы продолжится.
Оператор writeln; вызовет переход к новой компоненте, в случае вывода на экран – к новой строке экрана. Рассмотрим фрагмент программы:
Var i, k; integer;
Begin i: = 126; k: = 1997;
writeln ('i= ', i, ' k= ', k); {результат i=126 k=1997}
writeln (i: 3, k: 6); {результат 126 1997}
{числа, указанные после : определяют поле вывода, при выводе }
{данное "прижимается" в поле к правому краю 1997}
writeln (i: 7, k: 8); {результат 126 1997}
Пример:
Program Prim23;Var r,pl:real;BEGIN writeln('введите радиус шара'); readln(r); pl:=4*pi*sqr(r);writeln(' ');writeln('! площадь шара рад.r=',r:14,' = ',pl:14,'!');writeln(' ');
readln; END.
В результате на экран выведется информация:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
! площадь шара радиусом R=хххххххххххххх = ххххххххххххххх !
- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -
Здесь ххххххххххххх - изображения чисел.
С помощью такого приема строятся различные таблицы.
При выводе величины Real в операторах write и writeln отводится поле шириной 18 символов для вывода данных с "плавающей точкой" в следующем формате х.ххххххххххЕ*хх; здесь х – цифры, * – знак, который может быть '+' или '-', '.' – десятичная точка, отделяющая целую часть от дробной. Перед целой частью, в случае отрицательного данного, может стоять знак минус.
Таким образом:
в памяти машины вид оператора результат
R = 715.432 writeln (R); 7.1543200000E+02
R = -1.919e+01 writeln (R); -1.9190000000E+01
R = -567.986 writeln (R); -5.6798600000E+02
Напоминаем: Е+02 означает 102, а 7.1543200000Е+02 равносильно математической записи 7.15432*102.
Ширину поля вывода можно указывать для данных любого типа, например:
в памяти машины вид оператора результат
R = 511.04 writeln (R: 22); 5.1104000000E+02
ch = 'x' writeln (ch: 3); x
ch = '!' writeln (ch: 2, ch: 4,ch: 3); .! .! !
strin = 'Day N' writeln (strin: 8); .Dau.N
S = 'RDD' writeln (S: 5, S: 5); RDD RDD
Для данных типа Real можно еще указывать кроме ширины поля также количество цифр после десятичной точки.
Вывод данных с "фиксированной точкой".
в памяти машины вид оператора результат
R = 511.04 writeln (R: 8: 4); 511.0400
R = -46.78 writeln (R: 7: 2); .-46.78
R = -46.78 writeln (R: 9: 4); .-46.7800
R = -46.78 writeln (R: 12: 3); .-46.780
Program Prim24;
Var r1,r2:real;
BEGIN r1:=-46.78; r2:=-46.78;
writeln('r1=',r1:12:3,' r2=',r2:9:4);
writeln(' _');
readln; END.
6. Массивы
6. 1. Описание массивов
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности