адание 1 № 3367 (решено верно)
Элементы двухмерного массива A размером 10x10 первоначально были равны 1. Затем значения некоторых из них меняют с помощью следующего фрагмента программы:
for n:=1 to 4 do
for k:=1 to n+1 do begin
A[n,k]:=A[n,k]-1;
A[n,k+1]:=A[n,k]-1;
end;
Сколько элементов массива в результате будут равны 0?
1) 0
2) 4
3) 8
4) 16
Пояснение.
Итак, идем по программе:
от n=1 до 4 выполняется
от k=1 до n+1 выполняется
(n=1, k=1) из ячейки вычитают 1 и ячейка принимает значение 0
ячейка, которая будет следовать дальше по счетчику, принимает значение
данной минус 1, т е значение -1.
(n=1, k=2) Дальше работаем с этой ячейкой и ее значение получается -2, Так что далее получим, что только ячейки с k=1, а n:=1 to 4 будут равны 0, т е только 4 ячейки.
Правильный ответ указан под номером 2.
Ваш ответ: 2. Правильный ответ: 2
Комментировать
Задание 2 № 3378 (решено верно)
Значения элементов двухмерного массива A[1..10,1..10] сначала равны 4. Затем выполняется следующий фрагмент программы:
for i:=1 to 4 do
for j:=1 to 5 do begin
A[i,j]:=A[i,j]+4;
A[j,i]:=A[j,i]+5;
end;
Сколько элементов массива будут равны 9?
1) 20
2) 16
3) 5
4) 4
Пояснение.
Мы имеем матрицу размером 10x10. Операция A[i,j] : = A[i,j]+4 при заданных i и j увеличивает на 4 элементы первых четырёх строк и первых пяти столбцов.
Операция A[j,i] : = A[j,i]+5 при заданных i и j увеличивает на 5 элементы первых пяти строк и первых четырёх столбцов.
Поскольку все элементы массива изначально равны 4, то после первого оператора 4 * 5 = 20 элементов будут равны 8, а после второго – 16 элементов будут равны 13, 4 элемента будут равны 8 и 4 элемента приобретут значение 9.
Нарисуем для наглядности изменяющийся фрагмент числовой таблицы:
4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 |
4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 |
4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 |
4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 + 5 | 4 + 4 |
4 + 5 | 4 + 5 | 4 + 5 | 4 + 5 |
Правильный ответ указан под номером 4.
Ваш ответ: 4. Правильный ответ: 4
Комментировать
Задание 3 № 3354 (решено верно)
В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
A[0] : = 1;
for i : = 1 to 10 do
A[i] : = 2+A[i-1];
for i : = 0 to 5 do
A[10-i] : = A[i]-1;
Чему будут равны элементы этого массива?
1) 1 3 5 7 9 10 8 6 4 2 0
2) 1 3 5 7 9 11 13 15 17 19 21
3) 1 3 5 7 9 11 9 7 5 3 1
4) 1 3 5 7 9 11 8 6 4 2 0
Пояснение.
Первый цикл, заполняем массив:
i=0: a[0]=1,
i=1: a[1]=3,
i=2: a[2]=5,
i=3: a[3]=7,
...
i=10: a[10]=21.
Второй цикл, меняем значения последних пяти элементов:
i=0: a[10]=a[0]-1 = 0,
i=1: a[9]=a[1]-1 = 2,
...
i=5: a[5]=a[5]-1 = 10,
Поэтому в результате выполнения программы элементы массива будут равны: 1, 3, 5, 7, 9, 10, 8, 6, 4, 2, 0.
Правильный ответ указан под номером 1.
Ваш ответ: 1. Правильный ответ: 1
Комментировать
Задание 4 № 3370 (решено верно)
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленная переменная i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 9 do begin
A[i]:=A[i+1];
end;
Чему будут равны элементы этого массива?
1) 10 0 1 2 3 4 5 6 7 8 9
2) 1 2 3 4 5 6 7 8 9 10 10
3) 0 0 1 2 3 4 5 6 7 8 9
4) 1 2 3 4 5 6 7 8 9 10 0
Пояснение.
Идем по программе:
от 0 до 10 выполняем A[i]:=i, т. е. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
от 0 до 9 выполняем A[i]:=A[i+1], т. е. значения ячеек смещаются влево на одну ячейку, кроме последней, так что 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10.
Правильный ответ указан под номером 2.
Ваш ответ: 2. Правильный ответ: 2
Комментировать
Задание 5 № 507 (решено верно)
Определите значение переменной после выполнения следующего фрагмента программы:
Бэйсик | Алгоритмический язык |
а = –3 b = a + 3 b = 1 – b c = –b + 3 * a | a : = –3 ; b : = a + 3 ; b : = 1 – b ; c : = –b + 3 * a ; |
Си | Паскаль |
а = –3 ; b = a + 3 ; b = 1 – b ; c = –b + 3 * a ; | a : = –3 ; b : = a + 3 ; b : = 1 – b ; c : = –b + 3 * a ; |
Пояснение.
a : = –3
b : = a + 3 = 0
b : = 1 – b = 1
c : = –b + 3 * a = –1 – 9 = –10
Ваш ответ: -10. Правильный ответ: -10
Комментировать
Задание 6 № 4586 (решено неверно или не решено)
У исполнителя Отличник две команды, которым присвоены номера:
Прибавь 1
Умножь на 5
Выполняя первую из них, Отличник прибавляет к числу на экране 1, а выполняя вторую, умножает его на 5.
Начало формы
Запишите порядок команд в программе, которая из числа 2 получает число 101 и содержит не более 5 команд. Указывайте лишь номера команд.
Например, программа 1211 – это программа
прибавь 1
умножь на 5
прибавь 1
прибавь 1
Эта программа преобразует число 2 в число 17.
Пояснение.
Решим задачу от обратного, а потом запишем полученные команды справа налево.
Если число не делится на 5, тогда получено через команду 1, если делится, то через команду 2.
101 = 100 + 1 (команда 1),
100 = 20 * 5 (команда 2),
20 = 4 * 5 (команда 2),
4 = 3 + 1 (команда 1),
3 = 2 + 1 (команда 1).
Окончательный ответ: 11221.
Ваш ответ: нет ответа. Правильный ответ: 11221
Комментировать
Конец формы
Задание 7 № 3594 (решено верно)
Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 42;
b := 14;
a := a div b;
b := a*b;
a := b div a;
Пояснение.
Операция div делит число с отбрасыванием остатка.
Операция mod оставляет только остаток от деления числа.
a := 42;
b := 14;
a := a div b = 3;
b := a*b = 3*14 = 42;
a := b div a = 14;
Ваш ответ: 14,42. Правильный ответ: 14,42
Комментировать
Задание 8 № 3241 (решено верно)
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var n, s: integer;
begin
n := 1;
s := 0;
while n <= 101 do begin
s := s + 7;
n := n + 1
end;
write(s)
end.
Пояснение.
Цикл while выполняется до тех пор, пока истинно условие n <= 101, т. е. переменная n определяет, сколько раз выполнится цикл. Следовательно, формульно s можно задать как функцию n так:
, где
а
, так как последняя операция, выполненная в цикле: n := 101 + 1.
Следовательно
Ваш ответ: 707. Правильный ответ: 707
Комментировать
Задание 9 № 3245 (решено верно)
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var n, s: integer;
begin
n := 3;
s := 0;
while n <= 7 do begin
s := s + n;
n := n + 1
end;
write(s)
end.
Пояснение.
Цикл while выполняется до тех пор, пока истинно условие n <= 7, т. е. переменная n определяет, сколько раз выполнится цикл.
Запишем последовательно значения s и n:
s 0 3 7 12 18 25
n 3 4 5 6 7 8
Цикл выполнится пять раз (так как действие n := n + 1 стоит в конце цикла, следовательно, для n=8 действие s := s + n не будет выполняться).
Ваш ответ: 25. Правильный ответ: 25
Комментировать
Задание 10 № 3772 (решено верно)
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=3;
k:=1;
while k < 25 do begin
s:=s+k;
k:=k+2;
end;
write(s);
end.
Пояснение.
Цикл while выполняется до тех пор, пока истинно условие k < 13, т. е. переменная k определяет, сколько раз выполнится цикл.
Аккуратно выпишем все s и k:
s 3 4 7 12 19 28 39 52 67 84 103 124 147
k 1 3 5 7 9 11 13 15 17 19 21 23 25
Ваш ответ: 147. Правильный ответ: 147