Здравствуйте, дорогие друзья, меня заинтересовало программирование и я решил начать с прочтения книги "Песни о Паскале", дошел до 110 страницы, все было ясно, но вот немножко застрял на командах random and randomize.
В книге дан пример программы с random и вот, что пишет об этой команде:
Запустите эту программу еще пару раз и сравните результаты. Вы заметили, что они повторяются? Так и должно быть! Все потому, что функция Random
создает псевдослучайную последовательность чисел. «Псевдо» – значит «не совсем случайную».
Вот в чем проблема, я запускал много раз, мне всегда с 5 команд random выводило разные числа и они не повторялись.
А вот что пишет о randomize:
Randomize (что значит «уравнять шансы» или «перемешать») и не требует параметров. Вызвав эту процедуру единожды в начале программы, мы смешаем карты и заставим функцию Random при повторных запусках программы генерировать разные последовательности чисел.
Я так и не понял разницу между этими двумя командами, что та, что та выдавала мне разные цифры, пожалуйста, обьясните мне.
И еще один вопрос не по теме, вот я написал программу:
var A, B, C : integer;
r: boolean;
begin
Randomize;
repeat
A:= 1+ Random(10); B:= 1+ Random(10);
Write('Сколько будет ', A,' x ',B, ' ? ');
readln (c);
if с=0 then break;
r:=c=a*b;
if r
then Writeln('Молодец правильно')
else Writeln('Ошибка, повтори таблицу умножения');
until false;
writeln ('Good bye!');
end.
Все работает, но как сделать так, чтобы она выключалась при вводе команды "Stop", а не "0". Я это сделать не могу, потому что пытаюсь присвоить "с" типу integer тип string. Вводить другую сменную "q", к примеру, тоже как-то не вариант, потому что я там не могу просто заменить if с=0 then break; на if q='Stop' then break; я не знаю где мне поставить readln(q) или что сделать, чтобы я смог выключать ее словом, а не цифрой?
Огромное Вам спасибо, с уважением начинающий программист Владислав.