В Паскале есть функция Round, которая использует следующий "стандартный" алгоритм округления: Если число положительное, то при величине его дробной части меньше 0.5, она просто отбрасывается, если больше - отбрасывается и к числу прибавляется единица. Если число отрицательное, то при абсолютной величине его дробной части меньше 0.5, она просто отбрасывается, если больше - из числа вычитается единица. А функция Trunc возвращает целую часть числа.
var p:real; begin Write('Введите число: '); Read(p); Writeln('Округленное значение: ',Round(p),', целая часть: ',Trunc(p)) end.
uses Crt; const n=50; type Vec=array [1..n] of integer; var A: Vec; i, Sum, Col: integer; begin ClrScr; Randomize; Sum:=0; Col:=0; for i:=1 to n do begin A[i]:=10+random(40); Write(A[i]: 4); if (i mod 10 =0 ) then WriteLn; if (A[i] mod 7 = 1) or (A[i] mod 7 = 2) or (A[i] mod 7 = 5 ) then begin Sum:=Sum+A[i]; Col:=Col+1; end; end; WriteLn; WriteLn (' Sum = ', Sum); WriteLn (' Col = ', Col); ReadLn; end.
Если число положительное, то при величине его дробной части меньше 0.5, она просто отбрасывается, если больше - отбрасывается и к числу прибавляется единица. Если число отрицательное, то при абсолютной величине его дробной части меньше 0.5, она просто отбрасывается, если больше - из числа вычитается единица.
А функция Trunc возвращает целую часть числа.
var
p:real;
begin
Write('Введите число: '); Read(p);
Writeln('Округленное значение: ',Round(p),', целая часть: ',Trunc(p))
end.
Тестовое решение:
Введите число: -12.74
Округленное значение: -13, целая часть: -12
Введите число: 12.93
Округленное значение: 13, целая часть: 12
Введите число: 9.4323
Округленное значение: 9, целая часть: 9
uses Crt;
const n=50;
type Vec=array [1..n] of integer;
var A: Vec;
i, Sum, Col: integer;
begin
ClrScr;
Randomize;
Sum:=0;
Col:=0;
for i:=1 to n do
begin
A[i]:=10+random(40);
Write(A[i]: 4);
if (i mod 10 =0 ) then WriteLn;
if (A[i] mod 7 = 1) or (A[i] mod 7 = 2) or (A[i] mod 7 = 5 ) then
begin
Sum:=Sum+A[i];
Col:=Col+1;
end;
end;
WriteLn;
WriteLn (' Sum = ', Sum);
WriteLn (' Col = ', Col);
ReadLn;
end.