натуральные числа в определяются как целые положительные, получающиеся при счете. т.е. это числа 1, 2, 3,
в языке паскаль (собственно, как и в большинстве других языков программирования) нет специального типа данных для натуральных чисел. поэтому натуральные числа отображаются на целочисленные типы. указание на то, что вы имеете дело с натуральным числом, дается с тем, чтобы учесть это при разработке алгоритма. например, если сказано что n - натуральное число, можно не беспокоиться, что при делении на него будет ошибка деления на ноль. можно не озабочиваться тем, что оно попадет под квадратный корень и даст ошибку из-за появления код корнем отрицательного числа. и так далее.
подходящим типом данных в паскале может быть тот целочисленный, в котором разместятся любые натуральные числа, которые заданы или могут образоваться в процессе вычислений, даже как промежуточные данные. например, если вы возьмете тип integer, современные версии паскаль позволят разместить в нем значение, не превышающее 2 147 483 647, т.е. примерно 2.1 миллиарда. пусть дано n = 2 000 000 000 и надо найти остаток от деления n² на 97.
если написать sqr(n) mod 97, получим забавный результат -41, хотя ответ тут 65. это потому, что 2 миллиарда в квадрате нельзя разместить в переменной типа integer (но можно в int64) и часть разрядов числа будет молча утеряна. это одна из неприятностей неграмотной работы с целыми числами. одна - потому что есть и
Популярные вопросы