В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
SmartGirl555
SmartGirl555
31.10.2022 22:56 •  Информатика

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 и как он работает объясните

Показать ответ
Ответ:
ArhangelTYT
ArhangelTYT
08.07.2020 13:29
Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.

Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т.е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
0,0(0 оценок)
Ответ:
zelenskiy10000
zelenskiy10000
08.07.2020 13:29
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота