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

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

Показать ответ
Ответ:
nastyapuhova1
nastyapuhova1
04.09.2020 08:55

Если мы хотим вывести числа от 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(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота