В Паскале есть функция Round, которая использует следующий "стандартный" алгоритм округления: Если число положительное, то при величине его дробной части меньше 0.5, она просто отбрасывается, если больше - отбрасывается и к числу прибавляется единица. Если число отрицательное, то при абсолютной величине его дробной части меньше 0.5, она просто отбрасывается, если больше - из числа вычитается единица. А функция Trunc возвращает целую часть числа.
var p:real; begin Write('Введите число: '); Read(p); Writeln('Округленное значение: ',Round(p),', целая часть: ',Trunc(p)) 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
Также известна формула для определения времени движения тела до его падения (т.е. возвращения на исходную высоту, которая совпадает с осью X):
Считаем, что в начальных условиях задается количество точек, в которых нужно найти значения пути пройденного в осях координат.
uses Crt;
const
g=9.81;
pi=3.14;
var
alpha,ar,v0,t,x,y,tmax,ht,v0x,v0y:real;
n:integer;
begin
ClrScr;
Write('Vvedite alpha, v0: ');
Read(alpha,v0);
Write('Chislo tochek= ');
Read(n);
ar:=pi*alpha/180;
v0x:=v0*cos(ar);
v0y:=v0*sin(ar);
tmax:=2*v0*sin(ar)/g;
ht:=tmax/n;
t:=ht;
while t<=tmax do
begin
x:=v0x*t; y:=v0y*t-g*sqr(t)/2;
Writeln('t=',t:6:3,' x=',x:8:3,' y=',y:8:3);
t:=t+ht
end;
ReadKey
end.
Тестовое решение:
Vvedite alpha, v0: 45 126.4
Chislo tochek= 10
t= 1.821 x= 162.864 y= 146.461
t= 3.643 x= 325.728 y= 260.375
t= 5.464 x= 488.592 y= 341.742
t= 7.286 x= 651.456 y= 390.562
t= 9.107 x= 814.320 y= 406.836
t=10.929 x= 977.184 y= 390.562
t=12.750 x=1140.048 y= 341.742
t=14.572 x=1302.912 y= 260.375
t=16.393 x=1465.776 y= 146.461
t=18.215 x=1628.640 y= 0.000