Диалоговый режим работы программы заключается в диалоге пользователя с программой в соответствии с запрограммированной схемой возможных вариантов. Во время выполнения программы происходит запрос к пользователю ввести дополнительные данные, определяющие дальнейшую работу программы. Приведем пример программы угадывания случайно выбранного числа в интервале от 5 до 16 с пяти попыток.
PROGRAM NUMBER; { угадать случайное число }
Var I, N, N1: integer;
BEGIN
Randomize; N1:= Random(12) + 5;
for i:= 1 to 5 do begin
Write('угадайте число от 5 до 16 N='); readln(N);
IF N<>N1 then begin Writeln('не угадал');
Writeln('осталось ', 5-i, ' попыток') end
else begin Writeln('угадал'); Writeln('Нажмите Enter');
Readln; Halt end
end; Writeln('Нажмите Enter'); readln;
END.
Определение формулы для "N1" производится по следующему алгоритму. Пусть дано N_Min и N_Max - интервал изменения N1, тогда случайное значение
N1:= Random(A) + B; где B:= N_Min; A:= N_Max - N_Min + 1;
Практическое задание N 1. 17
Составьте диалоговые программы:
1. Угадывания случайно выбранных координат цели в квадрате: по оси "х" от 3 до 7, по оси "у" от -4 до 2 с пяти попыток с сообщением корректировщика, например: уменьшить "Х", увеличить “Y”.
|
|
2. Угадывания случайно выбранных координат цели в квадрате: по оси "х" от -10 до 30, по оси "у" от 2 до 28 с восьми попыток с двойным сообщением корректировщика, например: уменьшить "Х", либо: немного уменьшить "Х" (если отклонение от цели меньше 3).
3/4. Выбора пути при наличии на указателе трех, либо четырех вариантов согласно приведенному ниже рисунку. Программа должна пригласить на прогрулку, а в случае согласия предложить на выбор варианты движения и в зависимости от введенного номера выдать сообщение, например: " Бац! Тебя предупреждали!" и т. п.