В Паскале есть функция Round, которая использует следующий "стандартный" алгоритм округления: Если число положительное, то при величине его дробной части меньше 0.5, она просто отбрасывается, если больше - отбрасывается и к числу прибавляется единица. Если число отрицательное, то при абсолютной величине его дробной части меньше 0.5, она просто отбрасывается, если больше - из числа вычитается единица. А функция Trunc возвращает целую часть числа.
var p:real; begin Write('Введите число: '); Read(p); Writeln('Округленное значение: ',Round(p),', целая часть: ',Trunc(p)) end.
Program z10; Var m,n:integer;Begin writeln('Задание 1: '); write('Введите двухзначное число m - '); readln(m); n:= m div 10 * 100 + 10 + m mod 10; writeln('N = ', n); writeln; writeln('Задание 2: '); write('Введите трехзначное число n - '); readln(n); m:= n div 100 * 100 + n mod 10; writeln('M = ', m); writeln; writeln('Задание 3: '); write('Введите трехзначное число n - '); readln(n); m:= n div 100 * 10 + n div 10 mod 10 * 100 + n mod 10; writeln('M = ', m); writeln; 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