Program Series17;
10-11 класс
|
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
Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.
Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т.е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
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.
почему при запуске программы хоть blue true хоть blue false если Write(' ',blue ); почему всегда получается false
Другие вопросы из категории
отображаемых цветов,равным 65 536
также оченку 2
составить программу в гамбас(не обязательно программу если можно просто решение объяните)
неотрицательных чисел (каждое число — с новой строки отдельной
командой «ввод»), записывает их в массив, выводит на экран сначала в
прямом порядке все без исключения элементы массива, затем, в обратном
порядке относительно следования в массиве, все чётные элементы.
Например, для массива «1 2 5 4 5 3 7 8» программа должна выводить
числа в таком порядке: 1 2 5 4 5 3 7 8 8 4 2.
Каждое число программа должна выводить в отдельной строке; ничего,
кроме чисел, программа выводить не должна.
Читайте также
противном случае все отрицательные элементы матрицы возвести в квадрат.
У меня получилось вот что:
program s455;
uses crt;
const
m=10;
n=12;
Var
A: array[1..m,1..n] of integer;
i, j, k, s: integer;
Begin
writeln('Enter size');
readln;
s:=0;
for j:=1 to m do
begin
k:=0;
for i:=1 to n do
end;
begin
if a<0 then begin
k:=1;
end;
if k=1 then s:=s+1;
end;
begin;
if k<0
then a[i, j]:=a[i, j*2-1]*10;
else a[i, j]:=a[i, j]*c [i, j]
end;
writeln
Не могу понять в чем ошибка
c:array [1..5] of ocenki;
begin k:=0;
For i:=1 to 5 do
With c[i] do
begin
write('vvedite name'); readln(name);
write('vvedine marks');
for i:=1 to 5 do read(marks[i]);
a:=i;
if c[a].marks < 2 (вот здесь выдает что операнды имеют неприводимые типы) then k:=k+1; writeln(k);
end;
end.
(Подскажите пожалуйста где допустила ошибку)
read(x); if a=180 then writeln('razvernutyi') else writeln ('ne razvernutyi'); end.
отрицательные и равные нулю. Используя оператор цикла, составить программу, вычислить количество положительных и нулевых и сумму отрицательных.
Листинг программы:
Program Massiv;
Const n=10;
Var A:array [1..4] of integer;
I, c, c2, c3: integer;
Begin
For i=1 to N do begin
Readln (a[i]); If (a[i]=0 then inc(c)
Else if ([ai]<0) then inc(c2)
Else inc (c3);
End;
Writeln (`нулевые:`,c);
Writeln (`отрицательные:`,c2);
Writeln (`положительные:`,c3);
End.