Предмет: Информатика, автор: nastulya9696

Помогите с программой в паскале с помощью процедуры
Процедура выводит 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




nastulya9696: спасибо большое! а не можете объяснить это:
(b-a+1)+a
Аноним: Функция Random(k) в языке Паскаль возвращает целочисленное случайное число из диапазона [0..k-1]. У нас диапазон [a,b], содержащий b-a+1 целых значений, поэтому для получения k приходится писать такое выражение. А чтобы "сдвинуть" полученное число от 0 к а, мы добавляем +а
Аноним: Подправил ответ, там лишнее i было в var
nastulya9696: спасибо большое Вам!
Аноним: Пожалуйста!
Похожие вопросы
Предмет: Английский язык, автор: lpp210103
Предмет: Алгебра, автор: Shym2418