Вопрос задан 09.07.2023 в 11:02. Предмет Информатика. Спрашивает Мокрова Маша.

Работа с системой программирования на языке Паскаль Напишите программу, которая выводит на экран

случайные числа из диапазонов: a) от -30 до -20; b) от 112 до 138; с) от -15 до 15;
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Соколова Ксения.

Ответ:

Всё элементарно

Объяснение:

Пример :

1

2

3

var a : integer;

---------------

a := random(10);

И тут у нас переменная a может равняться числам от 0 до 9, не 10!!!!

Если мы хотим вывести числа от 0 до 1, то мы пишем следующее :

1

2

3

var a : integer;

---------------

a := random;

Т.е. random без всего.

Бывают случаи когда хочется иметь промежуток(диапазон) чисел. Допустим от -23 до 5, как его задать ?

Для начала мы складываем 23 и 5 без учета знаков и прибавляем 1(всегда) , у нас будет 29. Теперь пишем

1

2

3

var a : integer;

---------------

a := random(29);

Но это вернет нам числа от 0 до 28, теперь просто надо вычесть 23, не учитывая знаков. Так для промежутка c отрицательными числами.

С двумя положительными числами всё наоборот, сначала вычитаем из второго первое и прибавляем 1, мы получаем число, затем к нему прибавляем первое число :

1

2

3

5 до 29 = 29 - 5 + 1 = random(25) + 5

 

-1 до 13 = 13 + 1 + 1 = random(15) - 1

Так же есть формула для всех случаев:

1

x := random(max-min+1)+min; // тут уже все знаки учитываются

Т.е. если нам нужен диапазон отрицательных чисел, например от -5 до -10, то мы пишем:

1

2

3

// -5 это максимальное значение, потому что оно больше -10, а -10 это минимальное

 

random(-5-(-10)+1)+(-10) // все знаки учитываются

В основном random и randomize в pascal используются вместе. Если использовать random отдельно, то у нас будут случайные числа постоянно одинаковы.

Допустим у нас есть код :

1

2

3

4

5

6

var a : integer;

begin

  a := random(10);

  writeln(a);

  readln;

end;

И при запуске программы у нас выведется допустим 3. И если мы запустим заново, то у нас снова выведется 3 и так при каждом запуске.

Для этого и используется randomize, чтобы числа не повторялись :

1

2

3

4

5

6

7

var a : integer;

begin

  randomize; // пишем до использование random()

  a := random(10);

  writeln(a);

  readln;

end;

Если мы это напишем, то у нас функция random каждый раз при запуске программы будет выдавать разные числа.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на языке Паскаль, которая выводит случайные числа из указанных диапазонов:

pascal
program RandomNumbers; uses SysUtils; begin Randomize; // a) от -30 до -20 writeln('Случайные числа от -30 до -20:'); writeln; for var i := 1 to 10 do begin writeln(RandomRange(-30, -19)); end; writeln; // b) от 112 до 138 writeln('Случайные числа от 112 до 138:'); writeln; for var i := 1 to 10 do begin writeln(RandomRange(112, 138)); end; writeln; // c) от -15 до 15 writeln('Случайные числа от -15 до 15:'); writeln; for var i := 1 to 10 do begin writeln(RandomRange(-15, 16)); end; readln; end.

Программа использует функцию RandomRange, которая генерирует случайное число из заданного диапазона. Функция Randomize инициализирует генератор случайных чисел.

Программа выводит по 10 случайных чисел из каждого диапазона, разделенных пустыми строками. Вы можете изменить количество выводимых чисел, изменив значение 10 в цикле for.

Надеюсь, эта программа поможет вам!

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос