Процедуры вывода WRITE и WRITELN
Процедуры вывода WRITE и WRITELN служат для вывода на экран констант (как числовых, так и текстовых), значений переменных и выражений. Они вызываются с помощью одноименных операторов вызова процедур, например:
WRITE ('программа', X, Y – Z * 3).
По этому оператору на экран будет выведено в одной строке слово «программа» и далее без пробелов значения переменной X и выражения Y – Z * 3. Например, если имеем X = -3, Y = -5, Z = 12, то на экран будет выведено: программа-3-41.
Чтобы отделить элементы вывода друг от друга, используется прием форматирования вывода. Так, WRITE (А:20) – одиночное форматирование – показывает, что значению переменной А отводится 20 позиций на экране монитора. Если в значение переменной А входит менее 20 символов, то они сдвигаются вправо, а слева строка заполняется пробелами.
Двойное форматирование используется только для вывода вещественных значений. Например, WRITE (C:17:7) означает, что для вывода значения переменной C отведено всего 17 позиций, из них 7 позиций предназначены для представления дробной части. Если формат не указан, то вещественные константы выводятся на экран в экспоненциальной форме. Заметим также, что форматировать в операторах WRITE можно не только переменные, но и выражения, например: WRITE (cos (x + 4) : 5 : 2);
Работа оператора WRITE отличается от работы оператора WRITELN тем, что по завершении вывода у WRITE курсор остается в конце списка вывода, а у WRITELN он переходит на следующую строку. Часто используют оператор WRITELN без списка вывода для вывода на экран пустой строки.
.
Проиллюстрируем работу этих операторов на следующем примере:
program AVERAGE;
var FIRST, SECOND, TROIS, SUM: integer;
begin
writeln ('Введите 3 числа ');
readln (FIRST, SECOND, TROIS);
SUM := FIRST + SECOND + TROIS;
writeln ('Среднее значение ', FIRST:4,',',SECOND:4,',');
write (TROIS:4,' равно ';(SUM div 3):3)
end.
На экран будет выведено:
Введите 3 числа 2 12 9 Среднее значение 3, 12,9 равно 8 |
Лабораторная работа № 1
Цель работы: выработать практические навыки использования системы программирования Borland Pascal или Delphi, научиться создавать, вводить, отправлять на выполнение и исправлять простейшие программы на языке Паскаль, познакомиться с диагностическими сообщениями компилятора об ошибках на примере программ, реализующих линейные алгоритмы.
Основные теоретические положения.
Линейным называется алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых значениях исходных данных. Операторы программы выполняются последовательно, один за другим, в соответствии с их расположением в программе.
Перед выполнением работы необходимо ознакомиться с теоретическим материалом по темам «Описание языка Паскаль», «Простые операторы. Ввод/вывод данных».
Пример. Определить расстояние на плоскости между двумя точками с заданными координатами M1(x1,y1) и M2(x2,y2).
Решение задачи.
В этом примере проведем полный разбор решения задачи.
Математическая модель: расстояние на плоскости между двумя точками M1(x1,y1) и M2(x2,y2) высчитывается по формуле:
Составим блок-схему алгоритма, а затем уточним содержимое блоков "Вычисление расстояния" и "Вывод расстояния" (см. рис.1):
Рис. 1. Блок-схема алгоритма
Дальнейшая детализация не требуется. Переводим блок-схему на язык Паскаль, доработав программу, чтобы улучшить ее интерфейс:
program example1;
var x1, x2, y1, y2: Integer;
d:Real;
begin
Writeln('Эта программа вычисляет расстояние между двумя точками на плоскости');
Writeln('Введите координаты двух точек:');
Write('x1= '); Readln(x1);
Write('y1= '); Readln(y1);
Write('x2= '); Readln(x2);
Write('y2 ='); Readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
Writeln('d= ',d:6:2);
Writeln('нажмите Enter для завершения работы программы');
Readln;
end.
Варианты заданий
Задание 1. Даны x, y. Составить программу вычисления значения выражения:
a | a ) | b) | c) | d) |
Задание 2. Составить программу для решения следующей задачи:
a) Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.
b) Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.
c) Вычислить высоту треугольника, опущенную на сторону а, по известным значениям длин его сторон a, b, c.
d) По данным сторонам прямоугольника вычислить его периметр, площадь и длину диагонали.
Задание 3. Вывести значение true, если приведенное высказывание для предложенных исходных данных является истинным, и значение false в противном случае (все числа, для которых не указано иное, являются действительными):
a) данное число x принадлежит отрезку [-a, a];
b) данное число x не принадлежит интервалу (a, b);
c) данное целое число x является нечетным;
d) данное число x является корнем уравнения: ax2+bx+c=0;
Дополнительные задания
1. Ученик начал решать задачи данного урока программирования, когда электронные часы показывали h1 часов и min1 минут, а закончил, когда было h2 часов и min2 минут. Составьте программу, позволяющую определить, сколько времени (в часах и минутах) ученик решал эти задачи.
2. Дано действительное число а. Не пользуясь никакими другими операциями, кроме умножения, получить: а) а4 за две операции; б) а6 за три операции; в) а7 за четыре операции; г) а8 за три операции.
Варианты заданий
1. 1а,2а,3а
2. 1b,2b,3b
3. 1c,2c,3c
4. 1d, 2d, 3d
5. 1a,2b,3c
6. 1d,2a,3b
7. 1b,2c,3d
8. 1c,2d,3d
9. 1d,2c,3d
10. 1b,2d,3a
11. 1c,2a,3a
12. 1b,2c,3c
13. 1a, 2d,3c
14. 1c,2a,3d
15. 1b,2a,3c
Содержание отчета
1. Постановка задачи.
2. Описание алгоритма.
3. Тестовые примеры и анализ результатов тестирования.
4. Вывод.
Контрольные вопросы
1. Каковы назначение и возможности системы программирования?
2. Как запустить программу на трансляцию и выполнение?
3. Как обозначается начало и конец программы?
4. Из каких разделов состоит программа на языке Паскаль?
5. Как в языке Паскаль осуществляется вывод на экран?
6. Для чего предназначен оператор присваивания?
7. Как вывести на экран значение переменной?