unit Temperature;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
type gradi=class
private
k:double;
function cifra(x:double; cifre,decimali:word):string;
public
constructor crea;
function aCelsius(t:double):string;
function aKelvin(t:double):string;
end;
implementation
constructor gradi.crea;
begin
k:=273.15;
end;
function gradi.aCelsius(t:double):string;
var risultato:double;
begin
risultato:=t-k;
if risultato>(0.0-k) then
aCelsius:=cifra(risultato, 4, 2)+' °C'
else
aCelsius:='Temperatura inesistente';
end;
function gradi.aKelvin(t:double):string;
var risultato:double;
begin
risultato:=t+k;
if risultato>=0.0 then
aKelvin:=cifra(k+t, 4, 2)+' K'
else
aKelvin:='Temperatura inesistente';
end;
function gradi.cifra(x:double; cifre,decimali:word):string;
var risultato:string;
begin
str(x:cifre:decimali, risultato);
cifra:=risultato;
end;
end.