Хелп ми ! я немогу понять почему когда я тестирую программу на все ответы выскакивает то что в окне вывода на фото.хотя должно ещё отвечать другие ответы.!
Алгоритм: for j := 1 to N do if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1
for j := 1 to N - перебор всех элементов массива (8 <= a[j]) and (a[j] <= 63) - восьмеричная запись чисел от 8₁₀ до 63₁₀ содержит ровно две цифры (a[j] div 8 < a[j] mod 8) - первая (старшая) цифра меньше второй (младшей) при восьмеричная запись чисел от 8₁₀ до 63₁₀ k:=k + 1 - счётчик количества элементов массива соответствующих условиям
Программа целиком: const N=40; var a: array [1..N] of integer; i, j, k: longint; begin for i:=1 to N do readln(a[i]); for j := 1 to N do if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1; writeln('Количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причем первая (старшая) цифра меньше второй (младшей), равно: ',k); end.
for j := 1 to N do
if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1
for j := 1 to N - перебор всех элементов массива
(8 <= a[j]) and (a[j] <= 63) - восьмеричная запись чисел от 8₁₀ до 63₁₀ содержит ровно две цифры
(a[j] div 8 < a[j] mod 8) - первая (старшая) цифра меньше второй (младшей) при восьмеричная запись чисел от 8₁₀ до 63₁₀
k:=k + 1 - счётчик количества элементов массива соответствующих условиям
Программа целиком:
const N=40;
var a: array [1..N] of integer;
i, j, k: longint;
begin
for i:=1 to N do
readln(a[i]);
for j := 1 to N do
if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1;
writeln('Количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причем первая (старшая) цифра меньше второй (младшей), равно: ',k);
end.
9.Определите значение переменной a после выполнения фрагмента программы:
a:=10;
b:=3;
if a > b then b:=b+12//а больше б, значит к б прибавим 12 и получим что б 21
else a:=a-7;//а это игнорим
if a > b then a:=a+12//теперь а не больше б(б21 а а 10), так что к а прибавим 12, получаем а 22
else a:=a-7;// а это игнорим
А = 22.
11.Определите что будет напечатано в результате работы следующей программы.
Var k,i: integer;
Begin
k :=4;/к равно 4
For i := 1 to 3 do//следующая строка повториться 3 раза, а и при этом будет меняться от 1 до 3
k := 2*k +i;
// При и равном 1 к станет 9
// При и равном 2 к станет 20
// При и равном 3 к станет 43
Writeln(k);// выведет 43
end.
ответ 43
12.Определите что будет напечатано в результате работы следующей программы.
Var s,i: integer;
Begin
s :=3;
For i := 2 to 5 do// и будет меняться от 2 до 5
s := s+2*i
//К с будет прибавляется 2i т.е. сперва 3;7;13;21;31
Writeln(s) ;//31
end
ответ:31
13.Определите что будет напечатано в результате работы следующей программы.
Var s,n: integer;
Begin
s :=1;
For n := 3 to 8 do//повториться 6 раз
s := s*2// каждый раз s увеличивается вдвое, т.е.это 2 в 6 степени
write(s) ;
end.
ответ:64
14.Чему будет равно значение переменной а после выполнения этого цикла?
i:=4;
a:=12;
while i<6 do begin//по сути он повторится 2 раза, а и будет принимать значение от 4 до 5
a:=a+i;//а увеличиваем на и: сперва это 16, потом 21
i:=i+1
end.
ответ:21