Урок 10.2 Задача 3

Урок 10.2 Задача 3

В примере №2 есть код, перепишите его таким образом, чтобы сообщение "Игра окончена" выводилась, только если пользователь не угадал загаданное число.

var a, b, i:integer;
begin

  a := 5;
  writeln('Угадайте число от 1 до 10 с трех попыток');
  for i:=1 to 3 do
    begin
      writeln('Попытка №', i, ' выше число:' );
      readln(b);
      if (b = a) then
        begin
          writeln('Победа!');
          break;
        end 
      else
        if (b <> a) then
          writeln('Игра окончена!');
          break;
    end;
  readln();
end. 
vedro-compota's picture

а как же три попытки?

_____________
матфак вгу и остальная классика =)

var a, b, i : integer;

begin
  a := 5;
  writeln('Угадайте число от 1 до 10 с трех попыток');
  for i:=1 to 3 do
    begin
      write('Попытка №', i, ' ваше число: ');
      readln(b);
      if (b = a) then
        begin
          writeln('Победа!');
          break;
        end
      else
        writeln('Не угадали!');
      if (i = 3) then
        writeln('Игра окончена!');
    end;
  readln();
end. 
vedro-compota's picture

if (i = 3) then
writeln('Игра окончена!');

-- 1) Проверку и вывод сообщения лучше делать за пределами цикла -- после его выполнения
2) Просто вынести за цикл не получится - проверьте условие

_____________
матфак вгу и остальная классика =)

var a, b, i : integer;

begin
  a := 5;
  writeln('Угадайте число от 1 до 10 с трех попыток');
  for i:=1 to 3 do
    begin
      write('Попытка №', i, ' ваше число: ');
      readln(b);
      if (b = a) then
        begin
          writeln('Победа!');
          break;
        end
      else
        writeln('Не угадали!');
    end;
  if (i = 3) then
    writeln('Игра окончена!');
  readln();
end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)