Ввод данных с помощью датчика случайных чисел. (Урок 13-14)

Слайд 2

Датчик случайных чисел Ещё один способ занесения данных в переменные –

Датчик случайных чисел

Ещё один способ занесения данных в переменные – вызов

датчика случайных чисел. Компьютер сам выдаёт число из заданного диапазона.
Пример 1. Ввод значения С от 0 до 1случайным образом.
Randomize;
C:=Random;
Пример 2. Ввод значения С от 0 до N-1случайным образом.
Randomize;
C:=Random(N);
Пример 3. Как получить случайное число >0?
Randomize;
С:=Random(N-Δ) + Δ
Пример 4. Как получить число в интервале от а до в?
Randomize;
С:= a + random (b – a + 1)

Инициализация датчика случайных чисел проводится
один раз в программе процедурой
Randomize

Важно!
Настоящий программный датчик случайных чисел создать невозможно. Функция Random выдаёт псевдослучайное число. Процедура Randomize каждый раз при запуске «встряхивает» начальное значение последовательности. Без неё она будет одинаковой.

Например:
C:=Random(16)
В результате переменной задаётся случайное число из диапазона 0…15

Например:
C:=-20+Random(41)
В результате переменной задаётся случайное число из диапазона -20…20

Например:
С:=Random(10) + 1
В результате переменной задаётся случайное число из диапазона 1…10
С:=Random(90) + 10
В результате переменной задаётся двузначное число из диапазона 10…99

Слайд 3

Функция Random (N) выдает целочисленные значения в диапазоне от 0 до

Функция Random (N) выдает целочисленные значения в диапазоне от 0 до

N-1 Например, чтобы сгенерировать число X в диапазоне -N..N , пишем так:  Randomize; X := Random (N + 1) - 2 * N; Если не написать сначала Randomize; , то будут генерироваться одни и те же числа.
Слайд 4

Program Operation; uses crt; var A, B, C: real; Begin clrscr;

Program Operation;
uses crt;
var
A, B, C: real;
Begin
clrscr;
A:=17.3;
B:=3.4;
C:=5.1;
C:=A*B*C; Writeln (‘объем= ' , C)
End.

Program

Operation;
uses crt;
var
A, B, C: real;
Begin
clrscr;
Randomize;
A:=Random(10)+1;
Writeln ('значение ребра А = ', A);
B:=Random(10)+1;
Writeln ('значение ребра В = ', B) ;
C:=Random(10)+1;
Writeln ('значение ребра С = ', C) ;
C:=A*B*C; Writeln ('объем= ' , C)
End.