• Объясните, пожалуйста, как будет работать программа, если в 8 строке будет i:=i
    var a: array [1..5] of integer;
    i,min,max,x:integer;
    begin
    for i:=1 to 5 do begin a[i]:=random(10); writeln(a[i]);
     end;
    max:=a[1];
    min:=a[1];
    for i:=i to 5 do  begin
    if a[i]>max then max:=a[i];
    if a[i]<min then min:=a[i];
    end;
    writeln('max=',max);
    writeln('min=',min);
    end.

Ответы 2

  • Есть и другие реализации, там при выходе из цикла его параметр становится на 1 больше верхней границы, т.е. в данном случае 6 и второй цикл не выполнится ни разу.
    • Автор:

      trujillo
    • 5 лет назад
    • 0
  • Это зависит от реализации языка Паскаль. В большинстве случаев после выхода из первого цикла значение i будет равно конечному значению в условии выхода, т.е. 5. Поэтому второй оператор цикла будет эквивалентен конструкции for i:=5 to 5 do выполнится один раз. В результате max и min или останутся равными значению a[1] или одно из них будет изменено на значение a[5].
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years