Общее·количество·просмотров·страницы

среда, 1 февраля 2012 г.

из троичной сс в десятичную

для индексации.может какому несчастному студенту пригодится
program Project2;  
{$APPTYPE CONSOLE} 
uses sysutils;  


function in_extent(a,b:extended):extended; 
begin 
result:=exp(b*ln(a));
end;  


function Three_to_dec(s:string;q:word):extended; 
var param,i:integer; m,n:extended; 
begin  
m:=0;  
for i:=1 to length(s) do  
begin  
val(s[i],n,param);  
if param<>0 then  
n:=10+ord(upcase(s[i]))-ord('A');  
m:=m+in_extent(q,length(s)-i)*n;  
end;  


Three_to_dec:=m; 
end;  


function is_three(a:extended):integer; 
var i:integer; 
c:set of char; 
s:string; 
begin 
c:=['0'..'2']; 
s:=floattostr(a);
for i:=1 to length(s) do 
if not(s[i] in c) then 
result:=1; 
if result=1 then 
writeln('error'); 
end;  


procedure calculate; 
var a,b,c,d,e,f,g:extended; 
begin 
writeln('vvedite #1'); 
readln(a); 
b:=is_three(a); 
if b=1 then exit;
c:=three_to_dec(floattostr(a),3); 

writeln('vvedite #2'); 
readln(d); 
e:=is_three(d); 
if e=1 then exit; 
f:=three_to_dec(floattostr(d),3); 
g:=abs(c-f); 
writeln('raznost =',g:4:2); 
end;  
begin 
calculate; 
readln;  
end.

Комментариев нет:

Отправить комментарий