Вопрос задан 11.05.2019 в 11:51. Предмет Информатика. Спрашивает Стефішин Влад.

Доработать программы:сделать контроль ввода пользователем(если пользователь 3 раза

ошибается-программа закрывается) program For16; var A,Rez:Real; N, i :Integer; begin Write('Введите A: '); Readln(A); Write('Введите N: '); Readln(N); Rez:=1; For i:=1 to N do begin Rez:=Rez*A; Writeln(Rez); end; end. Помогите пожалуйста
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Летов Август.
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!

begin;
  var errs:=0;
  var A,N:integer;
  loop 3 do
    try
      (A,N):=ReadInteger2('Введите через пробел А и N:');
      var Rez:=1;
      for var i:=1 to N do Rez*=A;
      Writeln(Rez);
      Exit
    except
      errs+=1
    end;
  Writeln('Вы ошиблись трижды. Программа завершена')
end.

Примеры
Введите через пробел А и N: 2 6
64

Введите через пробел А и N: 2 3,5
Введите через пробел А и N: 2 3.5
Введите через пробел А и N: 2 a
Вы ошиблись трижды. Программа завершена
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам доработать программу и добавить контроль ввода пользователя. Вот ваша доработанная программа на языке Pascal:

```pascal program For16;

var A, Rez: Real; N, i, ErrorCount: Integer;

begin ErrorCount := 0;

repeat Write('Введите A: '); try Readln(A); // Сброс счетчика ошибок при успешном вводе ErrorCount := 0; except // Обработка исключения при ошибочном вводе on E: Exception do begin writeln('Ошибка ввода: ', E.Message); Inc(ErrorCount); if ErrorCount >= 3 then begin writeln('Превышено количество попыток ввода. Программа будет закрыта.'); Exit; // Завершение программы при превышении лимита ошибок end; end; end; until ErrorCount = 0;

ErrorCount := 0; // Сброс счетчика ошибок перед вводом N

repeat Write('Введите N: '); try Readln(N); // Сброс счетчика ошибок при успешном вводе ErrorCount := 0; except // Обработка исключения при ошибочном вводе on E: Exception do begin writeln('Ошибка ввода: ', E.Message); Inc(ErrorCount); if ErrorCount >= 3 then begin writeln('Превышено количество попыток ввода. Программа будет закрыта.'); Exit; // Завершение программы при превышении лимита ошибок end; end; end; until ErrorCount = 0;

Rez := 1;

for i := 1 to N do begin Rez := Rez * A; Writeln(Rez); end; end. ```

В этой программе добавлен цикл `repeat...until`, который продолжает запрашивать ввод у пользователя до тех пор, пока не будет введено корректное значение или не будет достигнуто максимальное количество попыток ошибок (в данном случае, 3). Если количество ошибок превышает установленный лимит, программа выходит из выполнения.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос