Название: Алгоритмы и программы (Афанасьева Т. В.) Жанр: Информационные системы и технологии Просмотров: 1375 |
2.5. вывод на экран
Общий вид процедур выводa: Write(V1[:W1[:D1]],...,Vn[:Wn[:Dn]]); Writeln(V1[:W1[:D1]],...,Vn[:Wn[:Dn]]);
В квадратных скобках – необязательные части процедур. Процедура вывода writeln обеспечивает завершение печати текущей строки и переход к следующей строке; V1,...,Vn –выражения, значения которых выводятся на печать; Wi и Di – выражения целого типа, определяющие соответственно общее число позиций и число позиций после запятой (Di – только для значений выражений вещественного типа). Примеры операторов вывода значений переменных a, s, d целого типа. а) ...write(a,s); write(d);... Все числа печатаются на одной строке. Предположим, a=12, s=-25, d=7. Тогда напечатанная строка будет иметь вид: 12-257 Аналогичный результат можно получить, написав одну процедуру write(a, s, d). б) ...writeln(a,s); write(d);... Значения a и s печатаются на одной строке. Следующая процедура вывода осуществляет печать со следующей строки. Результат печати: 12-25 7 в) ...write(a:2, s:7, d:4);... В этом случае под значение переменной a отводится 2 позиции, под s – 7 позиций, под d – 4 позиции, т. е. 12 –25 7 Если количество указанных позиций недостаточно, то происходит автоматическое увеличение поля до необходимых размеров. г) ...write('A=',a:2,' S=',s:7,' D=',d:4);... Здесь используется возможность вывода строк символов. При этом будет напечатано: A=12 S=-25 D=7
Рассмотрим вывод значений вещественных чисел. В случае задания общего количества позиций под выводимую величину можно задать и количество позиций после запятой. Пусть A, S, D – переменные вещественного типа, A=123,456; S=23456,7; D=-3,4567. д) ...writeln(a:6:2, s:9:2, d:8:4);... Печать: 123,45 23456,70 –3,4567 е) Если указывается общее число позиций (W) и не указывается число позиций после запятой (D), то числа выводятся в экспоненциальной форме с шириной поля W. ж) ...writeln(a, s, d);... Ширина поля стандартная, числа выводятся в экспоненциальной форме: 1.2345000000E+03 2.3456700000E+04 -3,456700000Е+00 При выводе значений символьного типа под каждый символ отводится 1 позиция, например, оператор writeln('S1=',s1:5,' S2=',s2); напечатает (Если символьной переменной s1 в программе присвоено значение '*', а s2 – 'W') следующую строку: S1= * S2=W. При выводе значений булевского типа на печать выводится TRUE или FALSE. Например, процедура writeln(a<s); напечатает слово TRUE, если значение переменной a<s, и слово FALSE в противном случае.
const Пример 2.5. a1=12; a2=234; a3=–2; x1=1342.567; x2=0.00234; s1='*'; s2='–'; str1='информатика'; str2='наука'; log=false; begin writeln('Вывод значений данных...'); writeln(' ...целого типа:'); write(a1,' ',a2,' ',a3); writeln(a2,a3); write(a1); writeln(a1:5,a2:7,a3:3); {под значение переменной a1 отводится 5 позиций, под a2 – 7 позиций, под a3 – 3 позиции} writeln(' ...вещественного типа:'); write(x1); writeln(' ',x2); write(x1:6:2,x2:8:3); {задается количество позиций под выводимые величины и количество позиций после запятой} writeln(x2:4,x1:5); writeln(' ...символьного типа:'); writeln(s1,s2); writeln(str1,' ',x1:4); write(log); write(a2:7,x2:3); writeln(str1,s2,str2); write(a1>x2); end.
Контрольные вопросы 1. Напишите оператор ввода целой переменной К с клавиатуры. 2. Для каких целей используется оператор присваивания? 3. Чем отличается именованная константа от типизированной? 4. Какие существуют способы ввода случайных значений? 5. Какие типы данных в Turbo Pascal нельзя вводить с клавиатуры? 6. Напишите оператор вывода вещественного Х в формате три знака до и два после запятой. 7. Какие существуют способы ввода значений данных? 8. Чем должны заканчиваться объявления и операторы? 9. Опишите форматный вывод. 10. Чем отличаются операторы ввода READ и READLN? 11. Чем отличаются операторы вывода write и writeln? |
|