В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
нц для i от 0 до 10
A[i]:= i – 1
кц
нц для i от 1 до 10
A[i-1]:= A[i]
кц
A[10] := 10
Как изменяются элементы этого массива?
1) все элементы, кроме последнего, окажутся равны между собой
2) все элементы окажутся равны своим индексам
3) все элементы, кроме последнего, сдвигаются на один элемент вправо
4) все элементы, кроме последнего, уменьшаются на единицу
2) Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 1819;
b := (a div 100)*10+9;
a := (10*b–a) mod 100;
3) Определите значение переменной s после выполнения следующего фрагмента программы:
n := 4;
s := 0;
цн пока n <= 8
s := s + 15;
n := n + 1
кц
4) Определите значение переменной с после выполнения следующего фрагмента программы:
a := 30;
b := 6;
a := a * 3 div b;
если a< b
то с:= 2*a - 10* b
иначе с:= 2*a + 10* b;
все
5) В таблице Ball хранятся отметки по контрольной работе (Ball[1] – отметка 1 ученика, Ball[2] – отметка 2 ученика и т.д.). Определите, что будет напечатано в результате работы следующего алгоритма. Объясните, что определяется в данном алгоритме.
алг
нач
цел k, c
целтаб Ball[1:10]
c:=0;
Ball[1]:=4; Ball[2]:=5; Ball[3]:=3; Ball[4]:=4;
Ball[5]:=2; Ball[6]:=5; Ball[7]:=4; Ball[8]:=3; Ball[9]:=4; Ball[10]:=5;
нц для k от 1 до 10
если Ball[k] >3
то c:=c+1;
все
кц
вывод c
кон
uses crt;
const n=10;
var i,j:integer;
mass:array [1..n] of integer;
countNum:integer; // переменная для хранения количества нечетных чисел
proizv:integer; // переменная для хранения произведения нечетных чисел
BEGIN
proizv:=1; // так как, изначально равно 0, а при умножении на 0 будет всегда 0
{создание последовательности n целых чисел}
Writeln('Случайные целые числа: ');
for i:=1 to n do
begin
mass[ i ]:=random(9)+1; //присваеваем переменной случайное значение от 1 до 10
write(inttostr(mass[ i ])+', ');
end;
{Вычисление произведения и количества нечетных чисел}
for i:=1 to n do
if mass[ i ] mod 2 <> 0 then //проверяем не четное-ли число, если да, то.. .
begin
inc(countNum); //увеличиваем на один кол-во нечетных чисел
proizv:=proizv*mass[ i ]; // высчитываем произведение
end;
{Вывод результатов}
writeln;
writeln('Всего нечетных чисел: '+inttostr(countNum));
writeln('Их произведение: '+inttostr(proizv));
END.
uses Crt;
const n = 10;
var A: array [1..n] of integer;
i: integer;
begin
ClrScr;
Randomize;
WriteLn ( ' Massiv I: ');
for i:=1 to n do
begin
A[i] := 1+random(n);
Write (A[i]:4);
end;
WriteLn; WriteLn ( ' Massiv II: ');
for i:=1 to n do
begin
if (A[i] mod 2 =0) then A[i]:=0 else A[i]:=3*A[i];
Write (A[i]:4);
end;
ReadLn;
end.