fork download
  1. program ideone;
  2. // Перед вами - WEB-среда разработки PascalABC.NET (версия 1.0, апрель 2011 г.).
  3. // Она основана на современном языке PascalABC.NET, совместимом с Turbo Pascal
  4. // и Delphi Pascal. Программа запускается на сервере, ввод-вывод передается по сети.
  5. // Программу можно опубликовать и ссылаться на нее в Интернете в виде
  6. // http://p...content-available-to-author-only...c.net/WDE/?file=имя_опубликованного_файла.pas
  7. // Зарегистрированные пользователи получают дополнительные возможности:
  8. // долговременное хранение своих программ, возможность работы с папками
  9. var
  10. c,d:integer;
  11.  
  12. procedure P(x,y:integer);
  13. begin
  14. y:=x+1;
  15. end;
  16.  
  17. procedure Q(x:integer; var y:integer);
  18. begin
  19. y:=x+1;
  20. end;
  21.  
  22. // procedure R(var x,y:integer);
  23. // begin
  24. // y:=x+1;
  25. // end;
  26.  
  27. begin
  28. c:=2; d:=0; P(sqr(c)+c,d); writeln(d);
  29. //c:=2; d:=0; Q(sqr(c)+c,d); writeln(d);
  30. //c:=2; d:=0; R(sqr(c)+c,d); writeln(d);
  31. end.
Success #stdin #stdout 0s 5288KB
stdin
program GuessTheNumber;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  System.Math;

var
  SecretNumber: Integer;
  Guess: Integer;
  GuessCount: Integer;
  MaxGuesses: Integer;
  Difficulty: Integer;

procedure InitializeGame;
begin
  // Выбор сложности
  repeat
    WriteLn('Выберите сложность:');
    WriteLn('1 - Легкая (1-10, 5 попыток)');
    WriteLn('2 - Средняя (1-50, 7 попыток)');
    WriteLn('3 - Сложная (1-100, 10 попыток)');
    Write('Ваш выбор: ');
    ReadLn(Difficulty);
  until (Difficulty >= 1) and (Difficulty <= 3);

  case Difficulty of
    1:
    begin
      SecretNumber := RandomRange(1, 10);
      MaxGuesses := 5;
    end;
    2:
    begin
      SecretNumber := RandomRange(1, 50);
      MaxGuesses := 7;
    end;
    3:
    begin
      SecretNumber := RandomRange(1, 100);
      MaxGuesses := 10;
    end;
  end;

  GuessCount := 0;
end;

procedure PlayGame;
begin
  InitializeGame;

  WriteLn('Я загадал число. Попробуйте его угадать!');
  WriteLn('У вас есть ' + IntToStr(MaxGuesses) + ' попыток.');

  repeat
    Inc(GuessCount);
    Write('Попытка ' + IntToStr(GuessCount) + ': ');
    try
      ReadLn(Guess);
    except
      on EConvertError do
      begin
        WriteLn('Ошибка: Введите целое число.');
        Guess := -1; // Установка невалидного значения для повторной попытки
        Continue; // Переход к следующей итерации цикла
      end;
    end;

    if Guess = SecretNumber then
    begin
      WriteLn('Поздравляю! Вы угадали число ' + IntToStr(SecretNumber) +
             ' за ' + IntToStr(GuessCount) + ' попыток.');
      Exit;
    end;

    if Guess < SecretNumber then
      WriteLn('Загаданное число больше вашего.')
    else
      WriteLn('Загаданное число меньше вашего.');

    if GuessCount >= MaxGuesses then
    begin
      WriteLn('Вы исчерпали все попытки. Загаданное число было ' +
             IntToStr(SecretNumber) + '.');
      Exit;
    end;
  until False; // Бесконечный цикл, который прерывается по Exit
end;

var
  PlayAgain: String;

begin
  Randomize; // Инициализация генератора случайных чисел

  repeat
    PlayGame;

    Write('Хотите сыграть еще раз? (да/нет): ');
    ReadLn(PlayAgain);

    if (LowerCase(PlayAgain) = 'да') then
      Continue
    else
      Break;
  until False; // Бесконечный цикл, прерывается по break

  WriteLn('Спасибо за игру!');
  ReadLn(PlayAgain); // Pause чтобы окно не закрылось сразу
end.
stdout
0