ГИА Алгоритмизация и программирование (задания 8, 9 и 10)
ЗАДАНИЕ 8
Информатика и ИКТ – изменения существенные КИМ 2012 г. в целом сохраняют преемственность с КИМ 2011 г. Существенное изменение состоит в сокращении количества заданий с 23-х до 20-ти за счет исключения заданий, связанных с работой с текстовыми объектами. В то же время увеличена трудоемкость заданий, проверяющих умение учащихся выполнять алгоритмы, в том числе содержащие циклы и оперирующие с индексированными переменными (массивами). Также в целях усиления проверки подготовки учащихся по теме «Обработка информации» задание с кратким ответом на знание способов адресации в электронных таблицах заменено на задание по проверке умения выполнять алгоритм с простой циклической конструкцией.
Проверяемые элементы содержания Умение исполнить линейный алгоритм, записанный на алгоритмическом языке Проверяемые элементы содержания по кодификатору / Алгоритм, свойства алгоритмов, способы записи алгоритмов. Блок-схемы. Представление о программировании Алгоритмические конструкции. Уровень сложности задания: базовый Требования к уровню подготовки по кодификатору Уметь: выполнять базовые операции над объектами: цепочками символов, числами, списками, деревьями; проверять свойства этих объектов; выполнять и строить простые алгоритмы; Максимальный балл – 1 Время выполнения – 3 минуты
Задание 8 Умение исполнить линейный алгоритм, записанный на алгоритмическом языке В алгоритме, записанном ниже, используются целочисленные переменные a и b, а также следующие операции: Обозначение Тип операции := Присваивание + Сложение – Вычитание * Умножение / Деление Определите значение переменной a после исполнения данного алгоритма: a := 3 b := 2 b := 9 + a * b a := b / 5 * a Порядок действий соответствует правилам арифметики. В ответе укажите одно число – значение переменной a. Ответ: ___________________________.
ЗАТРУДНЕНИЕ, ОШИБКА: Переприсвоенние переменных a := 3 b := 2 a := b / 5 * a Ответ : 9 b := 15b := 9 + a * b
ЗАТРУДНЕНИЕ, ОШИБКА: Порядок действий a := 3 Ответ : b := 15 a := b / 5 * a a := 15 / 5 * 3 19
Вариант задания 8
ЗАДАНИЕ 9
Проверяемые элементы содержания Умение исполнить простейший циклический алгоритм, записанный на алгоритмическом языке Проверяемые элементы содержания по кодификатору Алгоритм, свойства алгоритмов, способы записи алгоритмов. Блок-схемы. Представление о программировании Уровень сложности задания: базовый Требования к уровню подготовки по кодификатору Уметь: оценивать числовые параметры информационных объектов и процессов: объем памяти, необходимый для хранения информации; скорость передачи информации; Максимальный балл – 1 Время выполнения – 4 минуты
Вариант задания 9
Для решения данного задания необходимо знать особенность выполнения оператора FOR: Если счетчик цикла k изменяется от 1 до 10, то цикл выполняется ровно 10 раз, а в данном задании от 3 до 10,приведем к стандартному виду, вычтем 2 из первого и второго значения и получим, что k изменяется от 1 до 8, значит оператор s:=s+13 повторяется 8 раз. После этого нужно понимать смысл оператора s:=s+13, каждый раз к прежнему значению s (s:=s+13 ) прибавляется 13, и это значение s становится НОВЫМ ЗНАЧЕНИЕМ s.
Var s, k: integer; begin s:=0 for k:= 3 to 10 do s:=s+13; write(s); end. Итак перед циклом for значение s равно нулю (s:=0), тогда s после первого оператора s:=s+13 будет равно 0+13, после второго s будет равно (0+13)+13, соответственно после третьего s=( ), а после 8 выполнения s=0+13+…+13, где 13 повторяется 8 раз. Следовательно, s=13*8=104.
Вариант задания 9
Вариант 1- S:=5, а значит s=5+13*8, s=5+104=109; Вариант 2 - S:=0, значит s=0+2*1+2*3+…+2*10, получаем арифметическую прогрессию, решаем по формуле сумму членов арифметической прогрессии Вариант 3 – учитывая S:=12, s=12+(2*1+1)+(2*2+1)+…+(2*8+1),поступаем аналогично варианту 2, s=12+80=92 Вариант 1 Var s, k: integer; begin s:=5 for k:= 3 to 10 do s:=s+13; write(s); end. Вариант 2 Var s, k: integer; begin s:=0 for k:= 1 to 10 do s:=s+2*k; write(s); end. Вариант 3 Var s, k: integer; begin s:=12 for k:= 1 to 8 do s:=s+(2k+1); write(s); end.
for k:= 13 to 1 в данном случае цикл не будет выполнятся, так как начальное значение k больше конечного, а значит s примет значение, которое имеет перед циклом s:=0, это и будет ответом Вариант 4 Var s, k: integer; begin s:=0 for k:= 13 to 1 do s:=s+10; write(s); end.
ЗАДАНИЕ 10
Проверяемые элементы содержания Умение исполнить циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке Проверяемые элементы содержания по кодификатору / Алгоритм, свойства алгоритмов, способы записи алгоритмов. Блок-схемы. Представление о программировании Алгоритмические конструкции. Уровень сложности задания: повышенный Требования к уровню подготовки по кодификатору Уметь: оценивать числовые параметры информационных объектов и процессов: объем памяти, необходимый для хранения информации; скорость передачи информации; Максимальный балл – 1 Время выполнения – 6 минут
Dat[1]:=7;Dat[2]:=9;Dat[3]:=10;Dat[4]:=8; Dat[5]:=6; Dat[6]:=7;Dat[7]:=6; day:=1 K:=2 начало day конец m:=Dat[1] K<8 m:=Dat[K]; day:=K K:=K+1 Dat[K]<m нет да
{ ПАСКАЛЬ } Var k, m, day: integer; Dat: array [1..7] of integer; Begin Dat[1]:=7;Dat[2]:=9;Dat[3]:=10; Dat[4]:=8; Dat[5]:=6; Dat[6]:=7; Dat[7]:=6; day:=1; m:=Dat[1]; for K:=2 to 7 do begin if Dat[K]<m then begin m:=Dat[K]; day:=K; end; end; write(day); End.
Dat [1] Dat [2] Dat [3] Dat [4] Dat [5] Dat [6] Dat [7] DayMK No2 3 4 Yes565 No6 7 8
Массив – это область однотипных данных, обозначенная одним именем.
Dat: array [1..7] of integer; Массив из 7 элементов; Каждый элемент массива занимает в памяти 2 байта; Адрес элемента K массива Dat вычисляется как адрес Dat+2*(k-1) Элемент Байт Значение
begin m:=0; Dat[1]=-2; Dat[1]=-1; Dat[1]=4; Dat[1]=3; Dat[1]=-5;Dat[1]=0; Dat[1]=-2; for k:=1 do 7 begin if Dat[K]<0 then m:=m+1; end write(m); end;
if Dat[K]<m then begin m:=Ball[K]; write(m); end;