Найти остаток от деления целой части значения функции на число

Задача: 

Найти остаток от деления целой части значения функции y = ln(x²+ab) на 7 и, в зависимости от его величины, напечатать сообщение об одном из дней недели, пронумеровав их от 0 до 6. Значения переменных а, b, x получить случайным образом на произвольном интервале (границы интервала ввести с клавиатуры).

Алгоритм решения задачи: 
  1. Сгенерировать случайные значения переменных x, a и b в диапазоне от min до max. Для этого используется выражение random() * (max - min) + min. max - min - размер диапазона; умножив на него случайное число от 0 до 1, получим случайное число от 0 до числа-размера диапазона. Прибавив затем минимум, сдвинем диапазон в нужную сторону.
  2. Вычислить значение функции.
  3. Отбросить дробную часть значения функции и затем найти остаток от деления на 7. Присвоить результат переменной n.
  4. Из массива-констранты извлечь значение по индексу n.
Программа на языке Паскаль: 

const
    day: array[0..6] of string = ('пн','вт','ср','чт','пт','сб','вс');
var
    min,max,x,a,b,y: real;
    n: byte;
begin
    randomize;
    write('min: '); readln(min);
    write('max: '); readln(max);
    x := random() * (max - min) + min;
    a := random() * (max - min) + min;
    b := random() * (max - min) + min;
    y := ln(x*x + a*b);
    writeln('y = ',y:6:2);
    n := trunc(y) mod 7;
    writeln(day[n]);
end.

Примеры выполнения программы:

min: -2.5
max: 8.9
y =   0.79
пн
min: 1
max: 32000
y =  19.60
сб

Комментарии

извините за нубство но в

извините за нубство но в строчке writeln('y = ',y:6:2)почему мы пишем (y:6:2)&

означает формат

«6:2» определяет поле длинной 6 символов, включая дв десятчных знака.
Например:
1) Дорисует нулик.
x:=123,1;
writeln('y = ',x:6:2);
Мы увидем результат как: y = 123,10;
2) Или же наоборот окрузгит в тком случае:
x:=123,123;
writeln('y = ',x:6:2);
Мы увидем результат как: y = 123,12;

Потому что выводим дробное

Потому что выводим дробное (вещественное) число и указываем общее количество знакомест (в данном случае 6) и количество знаков-чисел после запятой (в данном случае 2).

Алейкум)

А почему где "x := random() * (max - min) + min" в рандоме в скобках пустое значение, у меня ошибку выдает)

Если функции random() не

Если функции random() не передать аргумент, то генерируется дробное число от 0 до 1. Если передать аргумент, например random(100), то сгенерируется целое, в примере от 0 до 99 включительно.

У вас в чем-то другом ошибка.