Карта сайта

sotau.cbg.ru

Turbo Pascal
Turbo Pascal
Случайные числа (Операторы Random и Randomize)

Иногда при решении задач удобно не задавать значения переменным с клавиатуры, а вводить их случайным образом: пусть число выбирает сам компьютер.

Для этого следует:

включить генератор (псевдо)случайных чисел "Randomize". Эта процедура записывается в программе сразу после оператора "Begin"

выбрать значение для переменной с помощью функции "Random"
    для дробных чисел из интервала [X0 .. X1):
        X := Random * (X1-X0) + X0
    для целых чисел из интервала [X0 .. X1]:
        X := Random * (X1-X0) + X0

напечатать полученное число, чтобы знать, что выбрал компьютер: Writeln ('X=', X)

Примечание #1:

Random (X) - возвращает случайное целое число в диапазоне [0 .. X]. Если аргумент не указан (т.е. просто написать Random), то возвращается случайное вещественное число из диапазона [0 .. 1]

Примечание #2:

Перед использованием Random в программах рекомендуется сначала инициализировать генератор (псевдо)случайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел.

Задача #1:

Когда дядя Петя вышел во двор с ружьем, с 1-ой яблони упало f, а со 2-ой - g соседей. Ввести случайным образом значения для f и g, найти общее количество упавших соседей.

          program D_Petya;   
           const X0=1; {х0 и х1 – границы промежутка случайных чисел }   
                 X1=8;   
           var f, g, vsego : integer;   
          begin   
           randomize;   
           f := random (X1 - X0) + X0; {стандартная формула для получения случайного числа}   
           g := random (X1 - X0) + X0; {стандартная формула для получения случайного числа}   
           writeln ('на 1 яблоне ', f, ' соседей'); {выводим на экран кол-во соседей на 1-й яблоне}   
           writeln ('на 2 яблоне ', g, ' соседей'); {выводим на экран кол-во соседей на 2-й яблоне}   
           vsego := f + g; {находим общее кол-во соседей}   
           writeln ('всего ', vsego, ' соседей'); {выводим на экран общее кол-во соседей}   
          readln;   
         end.

    © 2009 - 2024 Acid Ulcer