Пример 2.1.

Создать программу преобразования численных данных из типа Start в типы Fin1, Fin2:

  • Для вещественных чисел: Start = Real, Fin1 = Extended, Fin2 = Single.
  • Для целых чисел: Start = Smallint, Fin1 = Cardinal, Fin2 = Longint.

Для контроля размеров данных в программе используется встроенная функция SizeOf, возвращающая размер аргумента в байтах. Каждый раз данные выводятся в виде значения, размера в байтах и типа данных. Числа для наглядности отображаются в формате с фиксированной точкой. При этом задается число позиций под выводимое значение, что позволяет позиционировать выводимые данные в строке.

Листинг программы

program prg_2_1;

{$mode objfpc}{$H+}

uses

Classes, SysUtils, RusTrans;

const

real_0:real=123.456789;

int_0:smallint=-1111;

var

real_1:extended;

real_2:single;

int_1:cardinal;

int_2:longint;

begin

writeln(Rus(‘Вещественное число в разных типах’));

writeln;

real_1:=real_0;

real_2:=real_0;

writeln(Rus(‘Значения и размер в байтах в разных типах’));

writeln(‘real_0=’,real_0:10:6,sizeof(real_0):4,’ real’);

writeln(‘real_1=’,real_1:10:6,sizeof(real_1):4,’ extended’);

writeln(‘real_2=’,real_2:10:6,sizeof(real_2):4,’ single’);

readln;

writeln(Rus(‘Целое число в разных типах’));

int_1:=int_0;

int_2:=int_0;

writeln;

writeln(Rus(‘Значения и размер в байтах в разных типах’));

writeln(‘int_0=’,int_0:10,sizeof(int_0):4,’ smallint’);

writeln(‘int_1=’,int_1:10,sizeof(int_1):4,’ cardinal’);

writeln(‘int_2=’,int_2:10,sizeof(int_2):4,’ longint’);

readln;

end.

В листинге программы в разделе констант (const) объявлены, как типизированные константы, стартовые числа Start. Значение int_0 выбрано таким, чтобы оно  умещалось в формате выбранного типа. В разделе переменных (var) объявлены группы переменных Fin1, Fin2 для каждого вида чисел.

Консоль перед закрытием программы:

paskal18

Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong



Copyright © 2009-2010 Программирование на паскале.