Documente Academic
Documente Profesional
Documente Cultură
type I = T;
q := a div b; r : = a mod b;
if (a < 0) and ( r < > 0) then
begin
r : = r + abs (y) ;
if b < 0 then q : = q + 1 else q : = q – 1
end
În limbajul standard, q şi r se calculează prin:
q : = a div b; r : = a mod b;
if. (a < 0 ) and ( r < > 0 ) then
if b > 0 then q : = q – 1
else begin q : = q + 1 ; r : = r – 2 * b end
EXEMPLU:
begin
writeln ( ' 8 div 3 = ' , 8 div 3 );
writeln ( ' -8 div 3 = ' , -8 div 3 );
writeln (' 8 div -3 =' , 8 div (-3) );
writeln (' -8 div -3 =' , -8 div (-3) );
writeln (' 8 mod 3 =' , 8 mod 3 );
writeln (' -8 mod 3 =' , -8 mod 3 );
writeln (' 8 mod –3)=', 8 mod (-3) );
writeln (' -8 mod -3 = ', -8 mod (-3) );
end.
Operatori raţionali uzuali = , < > , < , <= , >, >= conduc la
rezultate de tip boolean. Operanzii pot fi de tip integer prin reprezentări
binare bit cu bit.
Ex: not 1 este –2 , 6 or 3 este 7 , 6 and 3 este 2 .
Pentru tipurile integer , char şi boolean există funcţiile succ (succesor) şi
pred (predecesor).
Pred (c) = chr (ord (c) –1) şi succ (c) = chr (ord (c) + 1).
Operaţii şi funcţii predefinite asociate.
Ex:
var
a : integer ;
b : real ;
c : char ;
d : boolean ;
begin
c:='x';
a:=1;
b : = 1.5 ;
a : = a + trunc ( -b) + round ( b) ;
a : = a mod a div a + ord ( ' x ') ;
b : = succ (a) + b / b - pred ( succ (a) );
c : = chr (ord (c) );
d : = ( b < = b ) and true ;
write ( a , b , c , d )
end.