Помогите с программой в паскале с помощью процедуры
Процедура выводит N целых случайных чисел с интервала a, b
Ответы
Ответ дал:
1
procedure RND(a,b,n:integer);
var
i:integer;
begin
Randomize;
for i:=1 to n do Write(Random(b-a+1)+a,' ')
end;
var
a,b,n:integer;
begin
Write('Задайте интервал для генерирования чисел ');
Read(a,b);
Write('Укажите количество случайных чисел: '); Read(n);
RND(a,b,n)
end.
Тестовое решение:
Задайте интервал для генерирования чисел -5 10
Укажите количество случайных чисел: 30
-4 1 4 -1 3 -4 9 1 5 -1 -1 9 1 -2 -5 -2 1 -2 2 -3 2 -4 7 10 -3 3 10 5 6 -1
var
i:integer;
begin
Randomize;
for i:=1 to n do Write(Random(b-a+1)+a,' ')
end;
var
a,b,n:integer;
begin
Write('Задайте интервал для генерирования чисел ');
Read(a,b);
Write('Укажите количество случайных чисел: '); Read(n);
RND(a,b,n)
end.
Тестовое решение:
Задайте интервал для генерирования чисел -5 10
Укажите количество случайных чисел: 30
-4 1 4 -1 3 -4 9 1 5 -1 -1 9 1 -2 -5 -2 1 -2 2 -3 2 -4 7 10 -3 3 10 5 6 -1
Функция Random(k) в языке Паскаль возвращает целочисленное случайное число из диапазона [0..k-1]. У нас диапазон [a,b], содержащий b-a+1 целых значений, поэтому для получения k приходится писать такое выражение. А чтобы "сдвинуть" полученное число от 0 к а, мы добавляем +а
Подправил ответ, там лишнее i было в var
спасибо большое Вам!
Пожалуйста!
Вас заинтересует
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад
(b-a+1)+a