Помощь в учёбе, очень быстро...
Работаем вместе до победы

Ввод и вывод данных

РефератПомощь в написанииУзнать стоимостьмоей работы

Операторы read и readln требуют обязательного ввода некоторых данных. В случае если пользователь вместо ввода значения просто нажал на Enter, работа оператора не закончится и перехода к следующему оператору программы не произойдет. От пользователя по-прежнему будет ожидаться ввод значения. В качестве аргументов write и writeln могут выступать текстовые строки, которые должны быть заключены… Читать ещё >

Ввод и вывод данных (реферат, курсовая, диплом, контрольная)

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

По умолчанию ввод и вывод данных в языке Pascal осуществляется в текстовом (консольном) режиме, когда взаимодействие пользователя с программой осуществляется в специальном окне только с помощью печатаемых символов и символов псевдографики. В PascalABC.NET вывод данных осуществляется в окне «Вывод данных». Оно представляет собой множество строк, каждая из которых состоит из отдельных символов. Место непосредственного вывода данных определяется положением текстового курсора. При запуске первоначальным его положением является первый символ первой строки окна «Вывод данных».

Для ручного ввода данных в языке Pascal используются операторы read и readln, имеющие следующий синтаксис:

read (список_переменных);, readln (список_переменных);, где список_переменных — перечисленные через символ, (запятая) имена переменных, значения которых необходимо ввести. Отличие оператора read от readln заключается в том, что последний после ввода пользователем данных переводит текстовый курсор на новую строку.

Указанные операторы имеют следующие особенности:

  • 1) тип вводимых данных должен быть совместимым с типом переменной (см. параграф 3.4);
  • 2) если аргументом оператора read или readln является одна переменная, то при исполнении этого оператора программа будет ожидать ввода некоторого значения. После ввода должна быть нажата клавиша Enter;
  • 3) если список_переменных содержит более одной переменной, то значения вводятся в одной строке через разделитель (пробел). Также можно вводить по одному значению, завершая ввод нажатием клавиши Enter;
  • 4) операторы read и readln требуют обязательного ввода некоторых данных. В случае если пользователь вместо ввода значения просто нажал на Enter, работа оператора не закончится и перехода к следующему оператору программы не произойдет. От пользователя по-прежнему будет ожидаться ввод значения.

Примеры:

read (name); readln (х, у, z) ;.

Оператор readln может использоваться без аргументов:

readln;.

При этом:

  • • выполнение программы приостанавливается — ожидается нажатие пользователем какой-либо клавиши;
  • • после нажатия в окне вывода происходит перевод текстового курсора на следующую строку;
  • • программа продолжает выполняться со следующего за readln; оператора.

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

Для вывода данных в языке Pascal используются операторы write и write In, имеющие следующий синтаксис:

write (список_переменных);, writeln (список_переменных);, где список_переменных — перечисленные через символ, (запятая) имена переменных, значения которых необходимо вывести. Отличие оператора write от writeln заключается в том, что последний после вывода данных переводит текстовый курсор на новую строку.

В качестве аргументов write и writeln могут выступать текстовые строки, которые должны быть заключены в одинарные кавычки ('). Все, что находится между двумя символами ', в том числе и символ, (запятая), считается текстовой строкой и выводится без изменений.

Пример:

writeln ('Произведение чисел ', а,' и ', Ь, ' равно ', а*Ь);.

Данный оператор имеет шесть аргументов, три из которых — текстовые строки. Пусть переменные, а и b имеют значения 2 и 3 соответственно. Тогда в результате выполнения приведенного оператора пользователь увидит на экране:

Произведение чисел 2 и 3 равно 6.

Вывод каждого следующего аргумента начинается с той позиции, на которой находится текстовый курсор, поэтому программист должен самостоятельно позаботиться о расстановке пробелов для более наглядного отображения информации. Так, если переменные, а и b имеют значения 2 и 3 соответственно, то в результате выполнения оператора.

writeln (a, b, a*b);

пользователь увидит на экране строку 2 3 6.

Оператор writeln может использоваться без аргументов:

writeln;.

При этом происходит перевод текстового курсора на следующую строку, после чего начинает исполняться следующий за writeln; оператор.

Операторы write и writeln позволяют выводить форматированные числовые значения. Для этого необходимо указать выводимую переменную в виде переменная: всего:дроби, где переменная — имя переменной (выражение); всего — количество позиций, отводимых на запись всего числа; дроби — количество позиций, отводимых на дробную часть.

Особенности форматированного вывода:

  • 1) десятичная точка занимает в записи числа одну позицию, поэтому для вывода целой части числа остается всего-дробн-1 позиция;
  • 2) при выводе целой части подавляется печать «ведущих нулей». Если для вывода числа 12 было отведено пять позиций, то будет выведено не 12, а просто 12;
  • 3) если дроби превышает размер дробной части числа, то оставшиеся позиции дроби заполняются нулями;
  • 4) если выводимое число не помещается в отведенное число позиций всего, то, вопреки указанному формату, часть числа до десятичной точки будет выведена полностью, а дробная часть будет занимать указанное число позиций дроби;
  • 5) если дробная часть выводимого числа превышает дроби, то выводится округленное число. Округление не влияет на значение переменной, оно касается только отображения ее значения;
  • 6) если необходимо вывести только целую часть вещественного числа, то следует указать дроби равным 0.

Пример использования форматированного вывода для различных числовых значений приведен в листинге 2.2.

Листинг 2.2

а:=1.65 784 320 976; b:=0.2Е-3;

с:=1 984 725 486 087 457; d:=6 784 623.456896783;

writeln (а:10:3); writeln (а:5:3); writeln (b:10:6); writeln (с:10:6); writeln (с:5:0); writeln (d:8:0); writeln (d:4:3);

В результате исполнения этого программного кода пользователь увидит на экране данные в форме, приведенной в листинге 2.3.

Листинг 2.3

  • 1.658
  • 1.658
  • 0.200
  • 1 984 725 486 087 460.000000
  • 1 984 725 486 087 460
  • 6 784 623
  • 6 784 623.457

Для форматированного вывода целочисленных типов данных часть дроби можно не указывать, например: writeln (а: 5) ;.

Совместное использование операторов ввода и вывода позволяет организовать диалоговый режим пользователя и программы. В листинге 2.4 показан пример организации такого режима.

Листинг 2.4

writeln ('3Ta программа позволяет вычислить среднее арифметическое трех чисел'); write ('Введите число а: '); Readln (a); write (1 Введите число Ь: '); Readln (b); write (1 Введите число с: '); Readln (c); s:=(a+b+c)/3;

writeln ('Среднее арифметическое введенных чисел равно ', s);

Показать весь текст
Заполнить форму текущей работой