Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.
Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т.е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
MArat
08.05.2023
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.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Определить значение переменной q, получаемого при выполнении следующего алгоритма
ответ:Q=729.000
Объяснение:
var n, x, S,i: integer;P,Q:real;
begin
n:=4; x:=3; P:=1; S:=1;
for i:=2 to n do begin
P:= P * Power(x,i);
S:= S * x;
end;
Q:= P/S;
writeln('Q=':3,Q:6:3);
end.