КП-доп-1: формат чисел

*В задачах школьного курса, иногда нужно вывести число в форматированном виде. Особенно это касается вещественных чисел. Модуль Log имеет для этого нужные процедуры. Среди них — RealForm.
Рассмотрим на её примере оформление формата вывода чисел. Другие процедуры можно изучить самостоятельно. Выделите имя модуля Log и вызвав контекстное меню правой кнопкой мыши («Исходники», «Интерфейс» и «Документация»).
Процедура RealForm имеет пять аргументов.

1) число, которое нужно вывести. Тип данных REAL.

MODULE Study;
IMPORT Out,Log;
VAR x,y,z:REAL;
BEGIN
	x:=1.111;
	y:=2.222;
	z:=3.333;
	Log.RealForm(x,4,6,-4,' ');Out.Ln;
	Log.RealForm(y,4,6,-4,' ');Out.Ln;
	Log.RealForm(z,4,6,-4,' ');Out.Ln;
END Study.

2) Показатель «precision» («точность») — число допустимых десятичных позиций. Тип данных INTEGER.

MODULE Study;
IMPORT Out,Log;
VAR x:REAL;
BEGIN
	x:=1.111;
	Log.RealForm(x,1,6,-4,' ');Out.Ln;
	Log.RealForm(x,2,6,-4,' ');Out.Ln;
	Log.RealForm(x,3,6,-4,' ');Out.Ln;
	Log.RealForm(x,4,6,-4,' ');Out.Ln;
	Log.RealForm(x,5,6,-4,' ');Out.Ln;
END Study.

3) Показатель minW — минимальная длина представления в литерах. Тип данных INTEGER.

MODULE Study;
IMPORT Out,Log;
VAR x:REAL;
BEGIN
	x:=1.111;
	Log.RealForm(x,4,5,-4,' ');Out.Ln;
	Log.RealForm(x,4,6,-4,' ');Out.Ln;
	Log.RealForm(x,4,7,-4,' ');Out.Ln;
	Log.RealForm(x,4,8,-4,' ');Out.Ln;
END Study.

4) Показатель expW — формат представления данных.
expW < 0: формат с фикс. точкой с -expW разрядами после точки. expW = 0: формат с фикс. или плав. точкой в зависимости от x. expW > 0: научный формат с не менее чем expW разрядами в экспоненте.

MODULE Study;
IMPORT Out,Log;
VAR x:REAL;
BEGIN
	x:=1.111;
	Log.RealForm(x,4,6,-4,' ');Out.Ln;
	Log.RealForm(x,4,6,-3,' ');Out.Ln;
	Log.RealForm(x,4,6,-2,' ');Out.Ln;
	Log.RealForm(x,4,6,-1,' ');Out.Ln;
	Log.RealForm(x,4,6,0,' ');Out.Ln;
	Log.RealForm(x,4,6,1,' ');Out.Ln;
	Log.RealForm(x,4,6,2,' ');Out.Ln;
	Log.RealForm(x,4,6,3,' ');Out.Ln;
END Study.


5)Показатель-литера fillCh — именно ей, а не пробелами, заполняется пустое пространство при применении minW.
Вообще, пробел — это тоже литера.

MODULE Study;
IMPORT Out,Log;
VAR x:REAL;
BEGIN
	x:=1.111;
	Log.RealForm(x,4,5,-4,'q');Out.Ln;
	Log.RealForm(x,4,6,-4,'q');Out.Ln;
	Log.RealForm(x,4,7,-4,'q');Out.Ln;
	Log.RealForm(x,4,8,-4,'q');Out.Ln;
END Study.
Прокрутить вверх