Смекни!
smekni.com

Методические рекомендации для учащихся Екатеринбург, 2008 Введение (стр. 2 из 10)

1) 5 2) 6 3) 3 4) 4

Ответ: 4.

Обсуждение. Самый быстрый способ перевода числа 194 в двоичную систему заключается, на наш взгляд, в переводе этого числа алгоритмом деления в шестнадцатеричную или восьмеричную систему, а затем в расписывании его в двоичную. Поскольку 194 = С216, то 194 = 110000102. В свою очередь 0,5 =

= 0,12. Следовательно, 194,5 = 11000010,12, откуда и получается требуемый ответ. Конечно, этот путь решения предполагает хорошее владение алгоритмом быстрого перевода чисел из шестнадцатеричной (восьмеричной) системы в двоичную.

Если хорошо помнить степени числа 2, то перевод в двоичную систему можно осуществлятьразложением числа в сумму степеней двойки. Конечно, такой путь решения тоже приемлем.

A5

Вычислите сумму чисел x и y, при x = A616, y = 758.

Результат представьте в двоичной системе счисления.

1) 110110112 2) 111100012 3) 111000112 4) 100100112

Ответ: 3.

Обсуждение. Здесь, как и в задании А4, оптимальный путь решения состоит в переводе каждого из чисел в двоичную систему счисления с последующим выполнением сложения. Поскольку A616 = 101001102 и 758 = 1111012, то их сумма равна 111000112. Как показывает практика, многие школьники предпочитают сначала перевести каждое число в десятичную систему счисления, затем найти сумму и результат перевести в двоичную систему. Такой многоходовый путь дает гораздо больше поводов допустить ошибку в вычислениях, чем тот способ, который предложен выше.

A6

Определите значение переменной m после выполнения фрагмента алгоритма.

Примечание: знаком := обозначена операция присваивания.

1) 1 2) 2 3) 6 4) 16

Ответ: 2.

Обсуждение. Этой блок-схемой представлен алгоритм Евклида нахождения наибольшего общего делителя двух натуральных чисел. Этот алгоритм обязательно изучается в базовом курсе школьной информатики, поэтому его нетрудно распознать и получить ответ, не исполняя алгоритм по шагам. Конечно, такое распознавание весьма существенно экономит время выполнения задания, хотя и чревато ошибкой в том случае, если на самом деле алгоритм окажется лишь похожим на уже известный.

Если же алгоритм исполняется его по шагам, то типичными ошибками является либо выполнение тела цикла на один раз меньше, либо наоборот – на один раз больше.

A7

Определите значение целочисленных переменных a и b после выполнения фрагмента программы:

Бейсик Паскаль Алгоритмический

a = 3 + 8 * 4
b = (a \ 10) + 14
a = (b MOD 10) + 2
'\ и MOD – операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно

a:= 3 + 8*4;
b:= (a div 10) + 14;
a:= (b mod 10) + 2;
{div и mod – операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно}

a:= 3 + 8*4
b:= div(a,10) + 14
a:= mod(b, 10) + 2
|div и mod – функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно|

1) a = 0, b = 18
2) a = 11, b = 19
3) a = 10, b = 18
4) a = 9, b = 17

Ответ: 4.

Обсуждение. При исполнении этого линейного алгоритма не требуется ничего, кроме внимательности. Ошибки, которые обычно здесь встречаются, носят либо арифметический характер, либо связаны с тем, что перепутано действие операций div и mod.

A8

Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:

Бейсик Паскаль Алгоритмический

FOR n=1 TO 100
A(n)=(n-80)*(n-80)
NEXT n
FOR n=1 TO 100
B(101‑n)=A(n)
NEXT n

for n:=1 to 100 do
A[n]:= (n-80)*(n-80);
for n:=1 to 100 do
B[101‑n]:=A[n];

нц для n от 1 до 100
A[n]=(n-80)*(n-80)
кц
нц для n от 1 до 100
B[101‑n]=A[n]
кц

Какой элемент массива B будет наибольшим?

1) B[1] 2) B[21] 3) B[80] 4) B[100]

Ответ: 4.

Обсуждение. Принципиальным моментом в решении этой задачи является то, что учащемуся не нужно исполнять этот алгоритм – немыслимо вычислить 100 значений для заполнения массива А, а затем переписать эти значения в виде массива В. Рассмотрев этот алгоритм, нужно понять, что в первом цикле вычисляется набор значений квадратичной функции, а во втором цикле полученные значения выписываются в обратном порядке. Следовательно, само максимальное значение элементов массива А и массива В будет одним и тем же, но стоять они будут на симметричных (относительно середины массива) местах. Далее выполнение этого задания может идти двумя путями.

1) Найти наибольшее значение квадратичной функции на отрезке [1; 100]. Поскольку функция равна (х – 80)2, т.е. ее график представляет собой параболу, ветви которой направлены вверх, то наибольшее значение достигается на концах отрезка. Ясно, что для данной функции таким концевым значением аргумента является 1. Поэтому в массиве В наибольший элемент будет B[100].

2) Поскольку какой-то из предъявленных четырех вариантов ответа обязательно правильный, достаточно вычислить только четыре элемента B[1], B[21], B[80] и B[100], после чего выбрать из них наибольший. Имеем: B[1] = А[100] = 400, B[21] = А[80] = 0, B[80] = А[21] = 3481 и B[100] = А[1] = =6241. Поэтому в массиве В наибольший элемент будет B[100].

A9

Для какого из указанных значений числа X истинно высказывание

((X < 5) –> (X < 3)) /&bsol; ((X < 2) –> (X < 1))

1) 1 2) 2 3) 3 4) 4

Ответ: 2.

Обсуждение. Возможный путь решения этой задачи состоит в нахождении множества всех значений переменной Х, при которых данная логическая функция истинна. По нашему мнению, этот путь требует значительного времени и, что не менее важно, чреват промежуточными ошибками. Более эффективным, на наш взгляд, является путь, состоящий в вычислении для каждого предложенного значения Х соответствующего значения логической функции. Вот как это выглядит:

((1 < 5) –> (1 < 3)) /&bsol; ((1 < 2) –> (1 < 1)) = (И –> И) /&bsol; (И –> Л) = И /&bsol; Л = Л;

((2 < 5) –> (2 < 3)) /&bsol; ((2 < 2) –> (2 < 1)) = (И –> И) /&bsol; (Л –> Л) = И /&bsol; И = И;

((3 < 5) –> (3 < 3)) /&bsol; ((3 < 2) –> (3 < 1)) = (И –> Л) /&bsol; (Л –> Л) = Л /&bsol; И = Л;

((4 < 5) –> (4 < 3)) /&bsol; ((4 < 2) –> (4 < 1)) = (И –> Л) /&bsol; (Л –> Л) = Л /&bsol; И = Л.

Следовательно, верным является второй ответ.

Отметим, что два последних вычисления можно было не проводить, поскольку известно, что правильный ответ ровно один. Однако, для этого надо быть уверенным, что в ходе вычислений не была допущена ошибка. Можно сказать, что два последних вычисления осуществляют функцию косвенного контроля правильности полученного ответа – ведь если где-нибудь еще раз получилось значение Истина, то, значит, надо провести перепроверку.

A10

Укажите, какое логическое выражение равносильно выражению

¬(A &bsol;/ ¬ B &bsol;/ C)

1) ¬A &bsol;/ B &bsol;/ ¬C 2) A /&bsol; ¬B /&bsol; C 3) ¬A &bsol;/ ¬B &bsol;/ ¬C 4) ¬A /&bsol; B /&bsol; ¬C

Ответ: 4.

Обсуждение. Стандартный путь решения таких задач – составление таблицы истинности для каждого из выражений и проверка на совпадение. Несмотря на кажущуюся трудоемкость, многие учащиеся выполняют это задание именно этим способом (спасает обычно то, что расхождение в таблицах истинности наблюдается не позже третьей строки, а верный вариант ответа редко бывает четвертым, как в данном случае). Но конкретно в этом задании проще всего воспользоваться законом де Моргана и правилом двойного отрицания.

A11

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов X, Y, Z.

Дан фрагмент таблицы истинности выражения F:

X

Y

Z

F

1

1

1

1

1

1

0

1

1

0

1

1

Какое выражение соответствует F?

1) X &bsol;/ ¬Y &bsol;/ Z
2) X /&bsol; Y /&bsol; Z
3) X /&bsol; Y /&bsol; ¬Z
4) ¬X &bsol;/ Y &bsol;/ ¬Z

Ответ: 1.