Перевести код из паскаля в питон: var i, n, cnt: integer; begin cnt : = 0; for i := 1 to 6 do begin read(n); inc(cnt, ord(odd(n))) end; if odd(cnt) then writeln(cnt) else writeln(6 - cnt) end.
№1. Опишите фрагмент блок=схемы на языке программирования Паскаль. Укажите, какую задачу реализует данный алгоритм.
1) это алгоритм с разветвлением.
Описание: Если A ≤ B то, если правда, или: 1) х = А, или: 2) х = B (тут нет да/нет, на картинке).
Если требуется запись на языке Pascal:
Вариант 1)
var A, B, x: real;
begin
readln(A); readln(B);
if A <= B then x := A else x := B;
writeln(x);
end.
Вариант 2)
var A, B, x: real;
begin
readln(A); readln(B);
if A <= B then x := B else x := A;
writeln(x);
end.
2) это алгоритм циклический.
Описание: в начале задаются значения переменных: S = 0, k = 1. После: пока k ≤ 0 выполнять: S = S + k, k = k + 1.
Если требуется запись на языке Pascal:
var S, k: integer;
begin
S := 0; k := 1;
while k <= 10 do begin
S := S + k; k := k + 1;
end;
writeln(S, ' ', k);
end.
№2. Определите количество и значения элементов массива, сформированного следующим образом:
а) для k = 0 до 5 делать: элементу массива присвоить значение, которое получается при делении нацело k на 3.
k = 0, a[k] = 0;
k = 1, a[k] = 0;
k = 2, a[k] = 0;
k = 3, a[k] = 1;
k = 4, a[k] = 1;
k = 5, a[k] = 1.
б) для k = 6 вниз 0 делать: элементу массива присвоить значение, которое получается при разница 5 и k.
k = 6, a[k] = -1;
k = 5, a[k] = 0;
k = 4, a[k] = 1;
k = 3, a[k] = 2;
k = 2, a[k] = 3;
k = 1, a[k] = 4;
k = 0, a[k] = 5.
в) для k = 100 до 110 делать: если остаток от деления k на 3 не равен нулю, то элемент массива приравнять к сумме k и 2, иначе этот элемент станет равным 1.
k = 100, a[k] = 102;
k = 101, a[k] = 103;
k = 102, a[k] = 1;
k = 103, a[k] = 105;
k = 104, a[k] = 106;
k = 105, a[k] = 1;
k = 106, a[k] = 108;
k = 107, a[k] = 109;
k = 108, a[k] = 1;
k = 109, a[k] = 111;
k = 110, a[k] = 112.
№3. Чему равна сумма элементов массива a[1] и a[6], сформированного следующим образом?
Формируется массив из 10 элементов. Первый элемент:
Программа
var
A: array[1..8] of integer;
B: array[1..8] of integer;
i: integer;
begin
Writeln('Заполните массив ');
for i:=1 to 8 do
begin
Read(A[i]);
if odd(A[i]) then //* смотри примечание после кода
B[i]:=A[i]
end;
Writeln('Нечётные числа массива ');
for i:=1 to 8 do
begin
if B[i]>0 then
Write(B[i],' ');
end;
end.
Прим.: *odd - функция, которая определяется чётность элемента. Если элемент нечётный, то функция возвращает значение true, в противном случае - false
Тестовый ввод программы показан в приложении к решению
№1. Опишите фрагмент блок=схемы на языке программирования Паскаль. Укажите, какую задачу реализует данный алгоритм.
1) это алгоритм с разветвлением.
Описание: Если A ≤ B то, если правда, или: 1) х = А, или: 2) х = B (тут нет да/нет, на картинке).
Если требуется запись на языке Pascal:
Вариант 1)
var A, B, x: real;
begin
readln(A); readln(B);
if A <= B then x := A else x := B;
writeln(x);
end.
Вариант 2)
var A, B, x: real;
begin
readln(A); readln(B);
if A <= B then x := B else x := A;
writeln(x);
end.
2) это алгоритм циклический.
Описание: в начале задаются значения переменных: S = 0, k = 1. После: пока k ≤ 0 выполнять: S = S + k, k = k + 1.
Если требуется запись на языке Pascal:
var S, k: integer;
begin
S := 0; k := 1;
while k <= 10 do begin
S := S + k; k := k + 1;
end;
writeln(S, ' ', k);
end.
№2. Определите количество и значения элементов массива, сформированного следующим образом:
а) для k = 0 до 5 делать: элементу массива присвоить значение, которое получается при делении нацело k на 3.
k = 0, a[k] = 0;
k = 1, a[k] = 0;
k = 2, a[k] = 0;
k = 3, a[k] = 1;
k = 4, a[k] = 1;
k = 5, a[k] = 1.
б) для k = 6 вниз 0 делать: элементу массива присвоить значение, которое получается при разница 5 и k.
k = 6, a[k] = -1;
k = 5, a[k] = 0;
k = 4, a[k] = 1;
k = 3, a[k] = 2;
k = 2, a[k] = 3;
k = 1, a[k] = 4;
k = 0, a[k] = 5.
в) для k = 100 до 110 делать: если остаток от деления k на 3 не равен нулю, то элемент массива приравнять к сумме k и 2, иначе этот элемент станет равным 1.
k = 100, a[k] = 102;
k = 101, a[k] = 103;
k = 102, a[k] = 1;
k = 103, a[k] = 105;
k = 104, a[k] = 106;
k = 105, a[k] = 1;
k = 106, a[k] = 108;
k = 107, a[k] = 109;
k = 108, a[k] = 1;
k = 109, a[k] = 111;
k = 110, a[k] = 112.
№3. Чему равна сумма элементов массива a[1] и a[6], сформированного следующим образом?
Формируется массив из 10 элементов. Первый элемент:
1 * 1 - 5 = -4
Шестой элемент: 6 * 6 - 5 = 31
31 + (-4) = 31 - 4 = 27 - это и ответ.