В паскале существует довольно таки простое решение в работе с вещественными числами:
<переменная>:<число знаков целой части>:<число знаков после запятой>
В коде паскаля это будет выглядеть так:
var number :Real; begin writeln('Введите четное число '); Readln(number); number:=number/3; writeln('2 знакапосле запятой в pascal - number = ', number:0:2); writeln('3 знака после запятой в pascal - number = ', number:0:3); writeln('4 знака после запятой в pascal - number = ', number:0:4); writeln('5 знако впосле запятой в pascal - number = ', number:0:5); end.
Результатом данной программы будет:
Введите четное число
10
number = 3.33333333333333
2 знака после запятой в pascal - number = 3.33
3 знака после запятой в pascal - number = 3.333
4 знака после запятой в pascal - number = 3.3333
5 знаков после запятой в pascal - number = 3.33333
Метод работает, если производить математические операции прямо во writeln. Он возьмет полученное значение и будет работать с ним:
var number :Real; begin writeln('Введите четное число '); Readln(number); number:=number/3; writeln('number = ', number); writeln('2 знака после запятой в pascal - number = ', number+number:0:2); writeln('3 знака после запятой в pascal - number = ', number+number:0:3); writeln('4 знака после запятой в pascal - number = ', number+number:0:4); writeln('5 знаков после запятой в pascal - number = ', number+number:0:5); end.
Результатом алгоритма будет следующим:
Введите четное число
20
number = 6.66666666666667
2 знака после запятой в pascal - number = 13.33
3 знака после запятой в pascal - number = 13.333
4 знака после запятой в pascal - number = 13.3333
5 знаков после запятой в pascal - number = 13.33333
Преобразуем наш код, чтобы пользователь сам решал, сколько ему необходимо знаков после запятой в вещественных числах. Для этого введем переменную n:
var number:Real; n:integer; begin writeln('Введите четное число '); Readln(number); writeln('Введите количество знаков после запятой '); Readln(n); number:=number/3; writeln('number = ', number); writeln('n = ', n); writeln(n,' знака(ов) послез апятой в pascal - number = ', number+number:0:n); end.
Результат:
Введите четное число
16
Введите количество знаков после запятой
4
number = 5.33333333333333
n = 4
4 знака(ов) после запятой в pascal - number = 10.6667