Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Написание программы на Паскале с использованием операторов ввода-вывода данных

Поиск

Цель работы: формирование знаний и умений по работе с простейшими операторами языка. Приобретение навыков написания программ с использованием операторов ввода-вывода данных.

Краткие теоретические сведения

Решение самой простой задачи на ЭВМ не обходится без операций ввода-вывода информации. Ввод данных - это передача информации от внешнего носителя (например, экрана) в оперативную память для обработки. Вывод информации - обратный процесс, когда данные передаются после обработки из оперативной памяти на экран (внешний носитель).

В языке Паскаль стандартным средством общения пользователя и ЭВМ являются предопределенные файлы Input и Output, которые по умолчанию являются параметрами программы. Программа получает входные данные из файла Input и помещает результат обработки в файл Output. Стандартно файлу Input назначена клавиатура, а файлу Output- экран.

Процедуры ввода-вывода

Для выполнения операций ввода-вывода служат четыре процедуры: Read, Readln, Write, WriteLn.

Процедура чтения Read

Процедура чтения Read обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой.

Формат процедуры Read:

Read (x1, x2, …, xn);

или

Read (fv, x1, x2, …, xn);

где x1, x2, …, xn- переменные допустимых типов данных; fv- переменная, связанная с файлом, откуда будет выполняться чтение.

Значения x1, x2, …, xn набираются минимум через один пробел на клавиатуре и высвечиваются на экране. После набора данных для одной процедуры Read нажимается клавиша ввода Enter.

Значения переменных должны вводится в строгом соответствии с синтаксисом языка Паскаль. Если соответствие нарушено (например, х1 имеет тип Integer, а при вводе набирается значение типа Char), то возникают ошибки ввода-вывода. Сообщение об ошибке имеет вид: I/O error XX, где ХХ - код ошибки.

...

Var

I:Real;

J:Integer;

K:Char;

Begin

Read(I,J,K);

...

Первый вариант ввода данных: 21,5 23 ’B’

Второй вариант ввода данных: 34 ’A’ 12,4

Первый вариант обеспечивает правильный ввод данных, так как набираемые значения 21,5 23 ’B’ соответствуют типам переменных I, J, K в процедуре Read. Второй вариант ввода вызовет ошибку, так как для переменной I типа Real вводится значение типа Char.

Если в программе имеется несколько процедур Read, данные для них вводятся потоком, т.е. после считывания значений переменных для одной процедуры Read данные для следующей процедуры Read набираются в той же строке, что и для предыдущей, до окончания строки, затем происходит переход на следующую строку.

...

Var

A, B, Sum1: Integer;

C, D, Sum2: Real;

...

Begin

Read (A, B);

Sum1:=A+B;

Read (C, D);

Sum2:=C+D;

...

End.

В результате на экране появятся те данные, которые пользователь вводит с клавиатуры. Например:

12 34 12,5 34,5

Процедура чтения ReadLn

Процедура чтения ReadLn аналогична процедуре Read, единственное отличие заключается в том, что после считывания последнего в списке значения для одной процедуры ReadLn данные для следующей процедуры ReadLn будут считываться с начала новой строки.

...

ReadLn (A, B);

Sum1:=A+B;

ReadLn (C, D);

Sum2:=C+D;

...

После набора на клавиатуре значений для A и B курсор автоматически перейдет на новую строку, где будут набираться данные для C и D.

Например:

12 34

12,5 34,5

Процедуры записи Write, WriteLn

Процедура записи Write производит вывод числовых данных, символов, строк, булевских значений.

Формат процедуры Write:

Write (y1,y2,... yn);

или

Write (fv,y1,y2,...,yn);

где y1, y2, …, yn- переменные допустимых типов данных; fv- имя файла, куда производится вывод.

Для вывода на принтер fv равно Lst. Чтобы устройство Lst стало доступным, необходимо подключить модуль Printer с помощью зарезервированного слова Uses:

Uses Printer;

Var

...

Begin

Write (234); {выражение представлено значением}

Write(A+B-2);{выводится результат выражения}

Write(Lst, ’Результат вычислений = ’, Result);{данные выводятся на принтер}

End.

Процедура записи WriteLn аналогична процедуре Write, единственное отличие заключается в том, что после вывода последнего в списке значения для одной процедуры WriteLn данные для следующей процедуры WriteLn будут выводиться с начала новой строки.

Порядок выполнения работы

1. Изучить теоретические сведения по теме “Операторы ввода-вывода данных”.

2. Получить индивидуальное задание у преподавателя и разработать программу в соответствии с поставленной задачей.

3. Показать работающую программу преподавателю.

4. Ответить на контрольные вопросы.

Контрольные вопросы

1. Общие сведения о вводе-выводе данных.

2. Процедуры ввода данных. Read. Формат, примеры.

3. Процедура ReadLn. Формат, примеры.

4. Процедуры вывода данных. Write, WriteLn. Форматы, примеры.

 

 

Лабораторная работа № 5

Написание программы на Паскале

С использованием операторов ввода-вывода данных с различными форматами выводимых данных

 

Цель работы: формирование знаний и умений по работе с простейшими операторами языка. Приобретение навыков написания программ с использованием различных форматов вывода данных.

Краткие теоретические сведения

В процедурах вывода Write и WriteLn имеется возможность записи выражения, определяющего ширину поля вывода. В приведенных ниже форматах используются следующие обозначения:

I, p, q – целочисленное выражение;

R –выражение вещественного типа;

B – выражение булевского типа;

Ch –выражение символьного типа;

S –выражение строкового типа;

# -цифра;

* - знак “+” или “-“;

_ -пробел.

I -выводится десятичное представление величины I, начиная с позиции расположения курсора.

Значение I Выражение Результат

134 Write (I); 134

287 Write (I,I,I); 287287287

I:p -выводится десятичное представление величины I в крайние правые позиции поля шириной p.

Значение I Выражение Результат

134 Write (I: 6); _ _ _134

1 Write (I: 1); _ _ _ _ _ _ _ _ _ 1

312 Write (I+I:7) _ _ _ _624

R - в поле шириной 18 символов выводится десятичное представление величины R в формате с плавающей точкой. Если R>=0.0, используется формат _#.##########E*##.

Если R<0.0, формат имеет вид: -#.##########E*##.

Значение R Выражение Результат

715.432 Write (R); _ _ 7.1543200000E+02

-1.919E+01 Write (R); _ -1.9190000000E+01

567.986 Write (R/2); _ _ 2.8399300000E+02

R:p –в крайние правые позиции поля шириной p символов выводится десятичное представление значения R в формате с плавающей точкой. Если R>=0.0, используется формат _ _…_##..#E*##, причем минимальная длина поля вывода составляет 7 символов. Если R<0.0, формат имеет вид:

_ _ …_--#.##..#E*##. Минимальная длина поля вывода 8 символов. После десятичной точки выводится, по крайней мере, одна цифра.

Значение R Выражение Результат 511.04 Write (R:15); 5.110400000E+02

-511.04 Write (R:15); -5.11040000E+02

46.78 Write (-R:12); -4.67800E+01

R:p:q –в крайние правые позиции поля шириной p символов выводится десятичное представление значения R в формате с фиксированной точкой, причем после десятичной точки выводится q цифр (0<=q<=24), представляющих дробную часть числа. Если q=0, ни дробная часть, ни десятичная точка не выводится. Если q>24, то при выводе используется формат с плавающей точкой.

Значение R Выражение Результат

511.04 Write (R:8:4); 511.0400

-46.78 Write (R:15); _-46.78

-46.78 Write (R:9:4); _-46.7800

Ch -начиная с позиции курсора выводится значение Ch.

Значение Ch Выражение Результат

’X’ Write (Ch); X

‘Y’ Write (Ch); Y

’!’ Write (Ch, Ch, Ch);!!!

Ch:p -в крайнюю правую позицию поля шириной p выводится значение Ch.

Значение Ch Выражение Результат

’X’ Write (Ch:3); _ _X

‘Y’ Write (Ch:5); _ _ _ _Y

’!’ Write (Ch:2, Ch:4); _!_ _ _!

S- начиная с позиции курсора, выводится значение S (строка или массив символов, если его длина соответствует длине строки).

Значение S Выражение Результат

’Day N’ Write (S); Day N ‘Ведомость 11’ Write (S); Ведомость 11

’RRRDDD’ Write (S, S); RRRDDDRRRDDD

S:p- значение S выводится в крайние правые позиции поля шириной p символов.

Значение S Выражение Результат

’Day N’ Write (S:10); _ _ _ _ _ Day N ‘Ведомость 11’ Write (S:13); _Ведомость 11

’RRRDDD’ Write (S:7, S:7); _RRRDDD_RRRDDD

B- выводится результат выражения B True или False, начиная с текущей позиции курсора.

Значение B Выражение Результат

True Write (B); True

False Write (B, not B); False True

B:p- в крайние правые позиции поля шириной p символов выводится результат булевского выражения B True или False.

Значение B Выражение Результат

True Write (B:6); _ _ True

False Write (B:10); _ _ _ _ _False

True Write (B:5,not B:7); _True_ _False

Оператор записи WriteLn аналогичен процедуре Write, но после вывода последнего в списке значения для текущей процедуры WriteLn происходит перевод курсора к началу следующей строки.

Процедура WriteLn, записанная без параметров, вызывает перевод строки.

Пример программы с использованием процедур ввода-вывода данных с различными форматами выводимых данных

Program Demo;

Var

A,B,S:Integer;

Begin

Writeln(‘Введите сторону А = ’);

Readln(A);

Writeln(‘Введите сторону B = ’);

Readln(B);

S:=A*B;

Writeln(‘--------------------------------------------‘);

Writeln(‘ | Сторона А | | Сторона B | | Площадь | ‘);

Writeln(‘---------------------------------------------‘);

Writeln(‘|‘,А:7,B:11,S:11, ‘|‘:5);

Writeln(‘---------------------------------------------‘);

End.

В результате работы данной программы на экране будет изображена следующая таблица:

--------------------------------------------------

| Сторона А | | Сторона B | | Площадь |

--------------------------------------------------

| 8 4 32 |

--------------------------------------------------

каждая строка которой будет печататься с первой позиции новой строки экрана.

Порядок выполнения работы

1. Изучить теоретические сведения по теме “Операторы ввода-вывода данных. Различные форматы выводимых данных”.

2. Получить индивидуальное задание у преподавателя и разработать программу в соответствии с поставленной задачей.

3. Показать работающую программу преподавателю.

4. Ответить на контрольные вопросы.

Контрольные вопросы

1. Общие сведения о форматах выводимых данных.

2. Форматы I, I:p. Примеры.

3. Форматы R, R:p, R:p:q. Примеры.

4. Форматы Ch, Ch:p. Примеры.

5. Форматы S, S:p. Примеры.

6. Форматы B, B:p. Примеры

 

Лабораторная работа № 6



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 610; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.102.138 (0.011 с.)