Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.

Следовательно, любой язык программирования должен иметь инструменты как для ввода данных, так и их вывода. В Паскале ввод осуществляется с помощью процедур read() и readln() , а вывод — благодаря write() и writeln() . Процедуры, которые имеют окончание ln , после своего выполнения переводят указатель на новую строку.

Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.

Куда можно вывести данные? На экран, в файл, на принтер и др.

Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит "работающие по-умолчанию"; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.

Вывод данных на экран. Форматированный вывод

Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write ( ) и writeln ( ) . Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln() , если нет – то write() .

Write() чаще используется, когда надо вывести для пользователя сообщение на экран, после чего получить данные, не переводя курсора на новую строку. Например, выводим на экран "Введи число: " и не переводим курсор на новую строку, а ждем ввода.

Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.

Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).

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

Ввод данных с клавиатуры

Ввод данных в языке программирования Паскаль обеспечивается процедурами read() и readln() . Ввод данных осуществляется либо с клавиатуры, либо из файла. Здесь рассматривается только ввод с клавиатуры.

Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln() ), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.

В процедуры ввода можно передавать не один фактический параметр, а множество.

При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.

Существуют особенности ввода данных с помощью операторов read() и readln() . Если используются подряд несколько операторов read() , то вводимые данные можно разделять всеми допустимыми способами. При использовании нескольких вызовов readln() каждый последующий срабатывает только после нажатия Enter. Программа ниже иллюстрирует это. Комментарии поясняют последовательность возможных действий при вводе данных.

На прошлом уроке мы с Вами рассмотрели структуру программы на языке Паскаль, минимум необходимый программе и надеюсь Вы попробовали выполнить практическое задание.

В этом уроке мы попробуем вдохнуть жизнь в тот минимум, который мы рассмотрели на первом уроке.

Понятно, что программа которую я приводил ничего не делала. Напомню её:

Получение исходных данных принято называть "ввод данных" или "чтение данных".

Вывод ответа, полученного программой — "вывод данных"

Рассмотрим, для начала, Вывод данных в Паскале .

Для этой цели используются две стандартные процедуры: Writeln и Write .

Writeln (Список вывода) ; — стандартная процедура, которая используется для вывода данных на экран. Значения выводятся в порядке их записи в списке вывода. Затем курсор переходит в начало следующей строки.

Write (Список вывода) ; — стандартная процедура для вывода данных на экран без перевода курсора на новую строку.

Примеры использования процедур вывода с указанием местонахождения курсора после выполнения операторов вывода даны в таблице:
Символ «□» указывает место расположения курсора после вывода ин­формации.

Оператор

Результат выполнения

Writeln(‘Ответ: ‘, sqrt(5));

Ответ: 2.2360679775Е+00

Writeln(‘Введите число’);

Введите число

Write (‘Х=’);

Х=

Write (X, 1 , 1 , Y) ;
При Y=-3, Х=5
(X, Y описаны как Integer)

Writeln (2 + 3);

Writeln(‘Дано: а= ‘ , а) ;
Writeln(‘b=’ , b);
Writeln(‘а + b = ‘, a+b);

При а=-34.6, b=126.93
(a, b описаны как Real)

Дано: а=-3.4600000000Е+01
b=1.2693000000Е+02
а + b= 9.2330000000Е+01

Writeln (0.2-0.01);

1.9000000000Е-01

Writeln;

Переход на новую строку

Символ «□» указывает место расположения курсора после вывода ин­формации.

Рассмотрим, теперь, Ввод данных в Паскале .

Для ввода значений переменных с клавиатуры используют две стандартные процедуры ввода: Read и Readln .

Внимание! РАЗЛИЧИЯ READ B READLN ВАЖНЫ ПРИ ЧТЕНИИ ИСХОДНЫХ ДАННЫХ ИЗ ФАЙЛА

При наличии в списке ввода нескольких идентификаторов соответствующие значения после запуска программы следует вводить через пробел(ы) или нажимая после каждого значения клавишу Enter. При этом соответствующей переменной будет присвоено очередное по порядку значение.

При выполнении оператора ввода программа приостанавливает работу, пока пользователем не будут введены необходимые значения пере­менных.

Более комфортным для пользователя является сопровождение ввода данных приглашением к вводу, например:

Пример. Составить программу, которая запросит два целых числа и одно вещественное.

1. После запуска программы на выполнение она приостанавливает работу в ожидании ввода двух целых чисел. (n1 и n2)

2. После ввода с клавиатуры через пробел чи­сел и нажатия клавиши Enter произойдет присваивание переменным n 1 , n 2 введённых значений соответственно.

3. Затем на экран выводится сообщение Х= и программа вновь приостанавливает работу в ожидании ввода уже вещественного числа.

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

Практическое задание к Уроку 2

Ваша задача сейчас состоит в том, чтобы ввести программу в среде программирования Free Pascal (можно и в ABC Pascal) и запустить ее на исполнение.

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

Вопрос для любознательных.

В приведенной выше программе я использовал после слова Var следующую запись:

n1 , n2:Integer;
X:Real;

Как Вы думаете, для чего я их здесь написал?

Ответы жду в Личных сообщениях, отправлять по логину Dru24. За полный и правильный ответ Вам будет прибавлено к рейтингу 2 балла.

Цель работы:Научиться использовать в программах операторы ввода-вывода Write (Writeln) — Read(Readln)

Теория.

Процедуры ввода производят ввод данных с клавиатуры. Можно ввести любое количество значений переменных, идентификаторы которых перечислены в круглых скобках через запятую. Имеются две процедуры ввода:

READ производит ввод данных, не переводя при этом курсор на следующую строку. READLN производит ввод данных, и переводит при этом курсор на следующую строку. Например, для ввода трех чисел в переменные А, В, С, надо записать READ(A, В, С).

Процедуру READLN можно использовать без параметров для перевода строки и задержки экрана.

Для вывода данных используются процедуры вывода:

WRITE производит вывод данных, не переводя курсор на следующую строку, a WRITELN переводит курсор. При выводе данных можно управлять формой вывода т.е. указать сколько позиций нужно отвести для каждого выводимого значения. Для этого за переменной ставится двоеточие и указывается число занимаемых позиций (ширина поля вывода):

WRITE(X:n), где Х- выводимая переменная целого типа;

n — число позиций.

WRITE(X:m:n), где Х- выводимая переменная вещественного

m — общее число выводимых знаков вещественного

числа вместе с десятичной точкой,

n — число знаков после десятичной точки.

WRITE(‘ ’:n), число выводимых пробелов.

Пример:

Ввести две переменные а я b вещественного типа. Найти и вывести их сумму.

Программа:

Writeln(*введите два вещественных числа’); Readln(a,b);

Writeln(‘сумма двух чисел = ‘,S:6:2); Readln

Задание 1.

Вариант 1. В магазине продаются PC трёх наименований, цена их равна a, в и с тенге соответственно. Определить сколько PC каждого из наименований можно купить на сумму п.

Вариант 2. Дано вещественное число х.

а) выделить его целую часть (отбросить дробную часть);

б) округлить данное число до п значащих цифр после запятой.

Вариант 3. Найти остаток от деления целого числа а на целое число b.

Вариант 4. Вычислить координаты центра тяжести трёх материальных точек с массами m1, т2 т3 и координатами 11), (х22), (х33) по формулам:

;

Вариант 5. Вычислить координаты точки, делящей отрезок А1А2 в отношении щ:п2по формулам:

;

где , x1,y1 — координаты точки А1 x2 y2 координаты точки А2.

Вариант 6. Определить время падения камня на поверхность Земли с высоты h.

Вариант 7 . Даны действительные числа х, у, z. Вычислить а и b, если:

a) ; ;

б) ;

.

Вариант 8. Столбик термометра в Казахстане показывает t° С, а в США (штат Аляска) температура воздуха равна t° F, Используя соотношение t°F=9/5-t°C+32, определить на сколько градусов по Цельсию в Аляске холоднее, чем в Казахстане.

Вариант 9. Определить число, полученное выписыванием в обратном порядке цифр заданного трёхзначного целого положительного числа.

Вариант 10. Дано положительное вещественное число k. Определить:

а) п-ую от конца цифру целой части числа;

б) п-ую цифру дробной части этого числа.

Вариант 11. Шел n-й год (п — нечетное число). Язаметил, что цифры моего возраста совпадают с двумя последними цифрами года моего рождения, К огромному удивлению, оказалось, что с возрастом моего дедушки происходит то же самое. По вводимому п определить наши годы рождения.

Вариант 12. Дана некоторая сумма денег. Разменять эту сумму банкнотами 1, 3, 5, 10, 20 так, чтобы количество банкнот было минимальным.

Вариант 13. В девятиэтажном доме на каждом этаже расположено по 4 квартиры. Составить программу, которая по номеру этажа n (1 4 за две операции;

б) а 6 за три операции;

в) а 7 за четыре операции;

г) а 8 за три операции;

д) а 9 за четыре операции;

е) а 10 за четыре операции;

ж) а 13 за пять операций;

з) а 15 за пять операций;

и) а 21 а шесть операции;

к) а 28 за шесть операции;

л) а 64 за шесть операций.

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

1. Отличия в работе операторов read и readln ?

2. Как задать размерность при выводе вещественных чисел ?

3. Приоритет выполнения операций в выражениях ?

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

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