Задать вопрос
29 июня, 19:38

Program Series17;

var

a, B, N, i:integer;

bol:boolean;

begin

i:=0;

n:=0;

bol:=true;

Writeln ('Введите число B') ;

readln (B) ;

Writeln ('Введите число N') ;

Readln (N) ;

Writeln ('Введите ', N,' целых чисел.') ;

While i < n do

begin

Read (a) ;

if (a>b) and (bol) then begin Write (' ', b) ; bol:=false; end;

Write (' ', a) ;

inc (i) ;

end;

end.

причем здесь bol и как он работает объясните

+5
Ответы (2)
  1. 29 июня, 19:52
    0
    Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.

    Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т. е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
  2. 29 июня, 20:17
    0
    Var

    a, b, n, i:integer;

    bol:boolean;

    begin

    //Инициализируем переменные

    i:=0;

    n:=0;

    bol:=true;

    //Осуществляется ввод

    Writeln ('Введите число B: ') ; readln (b) ;

    Writeln ('Введите число N: ') ; Readln (n) ;

    Writeln ('Введите ', n,' целых чисел.') ;

    //цикл (с пред условием) будет повоторятся n раз

    While i < n do

    begin

    //Осуществляется ввод с клавиатуры

    Read (a) ;

    //Проверяем является (A больше B) и (bol = true)

    if (a>b) and (bol) then

    //Если является

    begin

    //выводит значение B через пробел

    Write (' ', b) ;

    //и присваивает bol = ложь

    bol:=false;

    end;

    //выводит значение А через пробел

    Write (' ', a) ;

    //инкрементирует i, тоесть i:=i+1

    inc (i) ;

    end;

    end.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Program Series17; var a, B, N, i:integer; bol:boolean; begin i:=0; n:=0; bol:=true; Writeln ('Введите число B') ; readln (B) ; Writeln ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы