|
Случайные числа. Функция RANDOM.
В Delphi есть функция RANDOM, которая выдает случайное число в диапазоне от 0 до 1, а точнее говоря, число которое принадлежит отрезку: [0, 1), например:
X:=RANDOM(1);
Это означает, что переменной Х присваивается значение случайного числа. Мы это значение не знаем, но оно не может быть больше 1 и меньше 0. Если нам необходимо взять случайное число из произвольного отрезка [А, В), то необходимо сделать следующие преобразования:
X:=RANDOM(B-A)+A;
А - начало отрезка, В - конец отрезка, B-A - длина отрезка.
Если нам нужно получить целое случайное число из отрезка [А, В), то необходимо записать так:
X=TRUNC(RANDOM(B-A)+A)
Если нам нужно получить целое случайное число из отрезка [А, В], то необходимо записать так:
X=TRUNC(RANDOM(B-A+1)+A)
Задание №1.
Дана последовательность из 20 случайных чисел из отрезка [15, 75]. Вывести все случайные числа. Определить сумму всех чисел, только четных по номеру, только нечетных по значению:
Решение:
var i,a,s1,s2,s3:integer;
begin
s1:=0; s2:=0; s3:=0;
for i:=1 to 20 do begin
a:=random(75-15+1)+15;
writeln(i,' ',a);
s1:=s1+a;
if i mod 2=0 then s2:=s2+a;
if a mod 2=1 then s3:=s3+a;
end;
writeln('сумма всех случайных чисел=',s1);
writeln('сумма четных по номеру случайных чисел=',s2);
writeln('сумма нечетных по значению случайных чисел=',s3);
end.
Задание №2.
Дана последовательность из 22 случайных чисел из отрезка [22, 89]. Вывести все случайные числа. Определить сумму тех чисел, которые:
а) больше 44;
б) меньше 55;
в) находятся между числами 42 и 61.
|
|
|