
Работа с системой программирования на языке Паскаль Напишите программу, которая выводит на экран
случайные числа из диапазонов: a) от -30 до -20; b) от 112 до 138; с) от -15 до 15;

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

Ответ:
Всё элементарно
Объяснение:
Пример :
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 каждый раз при запуске программы будет выдавать разные числа.



Конечно! Вот пример программы на языке Паскаль, которая выводит случайные числа из указанных диапазонов:
pascalprogram 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
.
Надеюсь, эта программа поможет вам!


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili