Процедура Randomize используется в Паскаль для включения генератора случайных чисел. Функция Random определяет диапазон случайных чисел. Процедура Randomize и функция Random очень часто используются для демонстрации работы массивов в Паскаль.
Randomize и Random в Паскаль.
Строка №6. Инициализируем (включаем) генератор случайных чисел с помощью процедуры Randomize.
Строка №8. Присваиваем переменной «a» случайные числа в диапазоне от 0 до 999 (т.е. от 0 до 1000, но, не включая число 1000) с помощью функции Random. Т.е. запись (1000) означает, что все сгенерированные числа будут не меньше 0 и не больше 999. Предположим, что нам необходимо записать другой диапазон чисел, например от -1000 до 1000. В этом случае строка №8 будет иметь вид: a:= -1000 random(2001). Т.е. сначала записываем минимальное число диапазона (-1000), а в функции Random записываем сумму модуля минимального и максимального числа и прибавляем к ней 1. |-1000|+|1000|+1=2001. Таким образом, переменной «a» будут присвоены случайные числа в диапазоне от -1000 до 1000.
В строке №9 выводим сгенерированные числа на экран.
Строки №8 и №9 включены в цикл (строка №7 и №10). Случайные числа будут генерироваться и выводиться на экран до тех пор пока не выполнится условие цикла (строка №10), т.е. когда очередное сгенерированное число окажется числом 256.
Дополнение к материалу.
Предыдущая статья : Использование массивов (продолжение).
Оглавление : Уроки Паскаль. Массивы.
Следующая статья : Нахождение максимального элемента массива.
Комментарии
var a1,b1,c1 :integer;
a,b,c :string;
begin
writeln ('Я придумаю число, а ты посторайся отгадать его');
a1:=random(100) ;
writeln(a1);
readln (b1);
end.
begin
randomize; // используется, чтобы числа не повторялись
a := random(10);
writeln(a);
readln;
end;
program mes5;
var mes:array[1..10 00]of integer;
i:integer;
begin
randomize;
repeat;
i:=random(1000);
writeln(random);
if i>mes[998] then
writeln('Элемен т ',i,' больший');
readln;
end.
я хочу найди больший массив только рандомным путем т.е программа мне выдаст рандомно числа и там пусть определит какой из них больший
program game;
uses crt;
var d, i: string; x, y: integer;
begin
randomize;
x:=random(101);
y:=random(101);
writeln('хочешь поиграть?');
readln(d);
if d='да'
then writeln('загада й любое число от 0 до 100.');
writeln(' ');
writeln('это ', x, '?' );
readln(i);
if i='да'
then writeln('йехуу! да я же просто искуственный интеллект!')
else repeat
writeln('это ', a, '?' );
readln(i);
if i='да'
then writeln('йехуу! да я же просто искуственный интеллект!')
until i='да';
end.
как сделать, чтобы в цикле числа не повторялись?
Я написал тест на везение но варианты:привил ьно, не правильно всегда
Под теми же цифрами, мне нужно чтобы они менялись
n := 5; // сколько чисел выводить
for i := 1 to n do
begin
x := random(100) - 50; // из диапапоза она от -50 до 49
writeln(x); // печатаем значение