Найти остаток от деления целой части значения функции y = ln(x²+ab) на 7 и, в зависимости от его величины, напечатать сообщение об одном из дней недели, пронумеровав их от 0 до 6. Значения переменных а, b, x получить случайным образом на произвольном интервале (границы интервала ввести с клавиатуры).
random() * (max - min) + min. max - min - размер диапазона; умножив на него случайное число от 0 до 1, получим случайное число от 0 до числа-размера диапазона. Прибавив затем минимум, сдвинем диапазон в нужную сторону.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 включительно.
У вас в чем-то другом ошибка.