Использование MOD в Паскале - PullRequest
0 голосов
/ 12 ноября 2018

Я только начинаю кодировать и программировать, а Уайт пытается завершить упражнение. Я заметил, что операция MOD не работает с переменными.Может кто-нибудь объяснить мне, почему?А также дайте мне несколько советов, как это сделать?Спасибо.

program Stack_Overflow;
var
 sec, hour, day: real;


begin

    WriteLn('Insert a number of seconds.');
    ReadLn (sec);


    hour := sec div 3600;
    writeln (hour);

readln;
end.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

MOD хорошо определен только для целых чисел, но не предназначен для реального. Мод дает вам остаток от целочисленного деления a / b, но в реальном делении нет остатков. Вместо этого, если вы хотите найти остаток от действительного числа, вы можете создать свою собственную функцию MOD.

// Вы можете закодировать его как функцию, так что его можно использовать повторно.

Остаток: = Усечение (с / 3600); \ truncate удаляет десятичную часть и дает целочисленную часть. Это как MOD.

0 голосов
/ 12 ноября 2018

DIV и MOD операторы работают только с целыми числами, а не с числами с плавающей запятой.

Просто объявите:

var
  sec, hour, day: integer; 

и тебе пора.

...