Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Вывод данных в окно программы




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

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

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

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

 

program Project1;

{$APPTYPE CONSOLE}

uses

SysUtils, Math;

var

R:Extended;

Fi:Integer;

begin

//Вывод приглашения к вводу угла в градусах

Write('Введите значение угла в градусах: ');

ReadLn(Fi);//Ввод значения угла в переменную Fi

R:=Fi*Pi/180;//Перевод угла в радианы и присвоение переменной R

//Вывод значения R

WriteLn('Значение угла в радианах = ',R);

WriteLn; //Пропуск строки

//Вывод R и tg(R) с поясняющими текстами

WriteLn('tg(', R, ') = ', Tan(R));

ReadLn;

end.

 

где заключенные в апострофы тексты, например, 'Fi = ', 'tg(' и ') = ' – строковые константы, R и выражение Tan(R) представляют данные типа Extended.

Протокол ввода–вывода при выполнении этой программы при вводе для Fi значения 30 будет иметь вид:

а курсор перейдет в начало следующей, новой строки.

Первый оператор Write выводит приглашение к вводу, в ответ на которое пользователь вводит величину угла, в данном случае 30. Ввод данных заканчивается нажатием клавиши Enter, что приведет к переводу курсора в начало новой строки. Следующий далее оператор WriteLn('Значение угла в радианах = ',R) выводит значение угла в радианах и переводит курсор на начало следующей, пустой строки, оператор WriteLn без параметров оставит эту строку пустой и переведет курсор в начало еще одной новой пустой строки, в которую оператор WriteLn('tg(', R, ') = ', Tan(R)) выведет последовательность символов:

tg(5.23598775598299E-0001) = 5.77350269189626E-0001.

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

Программисту, чтобы определить свою форму вывода, следует использовать один из форматов вывода, записываемый непосредственно за элементом списка вывода либо в виде:n – для любого типа данных, либо в виде:n:m – при выводе вещественного числа в естественной форме (<целая часть><точка><дробная часть>), где n – выражение целого типа, значение которого задает длину поля (число знакомест) в строке на экране, отводимых для изображения значения, а m – выражение целого типа, значение которого задает количество цифр в дробной части числа.

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

Например, при выполнении следующей программы:

 

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils, Math;

var

R:Extended;

Fi:Integer;

begin

//Вывод приглашения к вводу угла в градусах

Write('Введите значение угла в градусах: ');

ReadLn(Fi);//Ввод значения угла в переменную Fi

R:=Fi*Pi/180;//Перевод угла в радианы и присвоение переменной R

//Вывод значения R

WriteLn('Значение угла в радианах = ',R:0);

WriteLn; //Пропуск строки

//Вывод R и Tan(R) с поясняющими текстами

WriteLn('tg(', R:0:2, ') = ', Tan(R):14);

ReadLn;

end.

 

протокол ввода–вывода при вводе для Fi значения 30 будет иметь вид:

Значение R первый раз выведено в экспоненциальной форме в минимально необходимое число позиций (формат вывода:0), а второй раз – в естественной форме также в минимально необходимое число позиций (формат вывода:0:2), так как в обоих случаях длина поля вывода указана равной нулю, то есть меньше минимально необходимой. Значение выражения Tan(R) выведено в экспоненциальной форме в поле из 14 позиций с 6 значащими цифрами мантиссы (формат вывода:14).





Поделиться с друзьями:


Дата добавления: 2017-03-18; Мы поможем в написании ваших работ!; просмотров: 288 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2538 - | 2391 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.