Э Алгоритмизация и программирование Е Г Школа 58 Иванцова С.А., МОУ СОШ 58, г.Н.Новгород
В этой презентации приводятся тренировочные задания из нескольких источников: открытого сегмента федерального банка тестовых заданий, демонстрационных вариантов ЕГЭ прошлых лет, материалов К. Ю. Полякова, учебного пособия «ЕГЭ Информатика» (Крылов С.С., Лещинер В.Р., Якушкин П.А. - М.: Интеллект-Центр, 2007). Презентация содержит систематизированную информацию из различных источников, а также разработки автора в виде необходимых для исследования тем курса рекомендаций и решения ряда задач. Цель данной работы помочь вам «набить руку» в решении тестов ЕГЭ, разобраться с наиболее сложными заданиями и узнать объективный уровень своих знаний.
Что нужно знать *: 1. Переменная – это величина, которая имеет имя, тип и значение; переменная может изменяться во время выполнения программы 2. Оператор присваивания служит для записи значения в переменную, если в переменную записывают новое значение, старое стирается 3. Знаки +, -, *, / используются для обозначения операций сложения, вычитания, умножения и деления 4. Запись вида a div b означает результат целочисленного деления a на b (остаток отбрасывается), запись вида a mod b означает остаток от деления a на b 5. Запись вида a := b + 2*c + 3; означает «вычислить значения выражения справа от знака присваивания := и записать результат в переменную a»; при этом значения других переменных (кроме a) не изменяются * Теория из материалов К.Ю. Полякова
Двумерный массив А(m,n) можно представить в виде следующей матрицы: A 11 A 12 A 13 …A 14 A 21 A 22 A 23 …A 24 …………… A m1 A m2 A m3 …A mn где m – количество строк, n – количество столбцов. 1. массив – это набор однотипных элементов, имеющих общее имя; 2. для обращения к элементу массива используют круглые (или квадратные – на языке Паскаль) скобки, запись A(i) обозначает элемент массива A с номером (индексом) i; 3. матрица (двухмерный массив) – это прямоугольная таблица однотипных элементов; 4. если матрица имеет имя A, то обращение A(i,k) обозначает элемент, расположенный на пересечении строки i и столбца k; 5.элементы, у которых номера строки и столбца совпадают (i=j), расположены на главной диагонали. 6. Номер столбца j элемента на побочной диагонали можно вычислить по формуле j=n-i+1, где n – размер квадратной матрицы, i – номер строки
Определите значение целочисленных переменных a и b после выполнения фрагмента программы: 1) a = 0, b = 18 2) a = 11, b = 19 3) a = 10, b = 18 4) a = 9, b = 17 Для решения нужно использовать «ручную прокрутку» программы, то есть, выполнить вручную все действия. Наиболее удобно и наглядно это получается при использовании таблицы, где в первом столбце записаны операторы программы, а в остальных показаны изменения переменных при выполнении этих операторов: Пример 1: Решение: ab a := 3 + 8*4;35- b := (a div 10) + 14;3517 a := (b mod 10) + 2;917 Правильный ответ - 4 Паскаль Бейсик a := 3 + 8*4; b := (a div 10) + 14; a := (b mod 10) + 2; a = 3 + 8*4; b = a \ ; a = b mod ;
Пример 2: Решение: Таблица значений переменных: Правильный ответ - 1
Определите значение целочисленных переменных a и b после выполнения фрагмента программы (ниже представлена одна и та же программа, записанная на разных языках программирования): Бейсик Паскаль a=42 b=14 a=a\b b=a*b a=b\a \ - стандартная операция, вычисляющая результат деления нацело первого аргумента на второй a:=42; b:=14; a:=a div b; b:=a*b; a:=b div a; {div - стандартная операция, вычисляющая результат деления нацело первого аргумента на второй} 1) a = 42, b = 14 2) a = 1, b = 423) a = 0, b = 5884) a = 14, b = 42 Решение: a=42 b=14 a=3 b=42 a=14 Пример 3: Правильный ответ - 4
Пример 4:
Далее Решение:
Правильный ответ - 2
. Определите значение переменной с после выполнения фрагмента алгоритма: b c Решение: Правильный ответ: с=55 Пример 5:
Пример 6:
Решение: Правильный ответ - 2
Дан фрагмент программы, обрабатывающей массив A из n элементов: Чему будет равно значение переменной s после выполнения данного алгоритма, при любых значениях элементов массива А? 1) Максимальному элементу в массиве A 2) Индексу максимального элемента в массиве A (первому из них, если максимальных элементов несколько) 3) Индексу максимального элемента в массиве A (последнему из них, если максимальных элементов несколько) 4) Количеству элементов, равных максимальному в массиве A. Бейсик Паскаль j = 1 FOR i = 1 TO n IF A(i)>A(j) THEN j=I NEXT I s=j j:=1; for i:=1 to n do if A[i]>A[j] then j:=i; s:=j; Решение: Нетрудно заметить, что в циклическом операторе по выполнению условия IF A(i)>A(j) переменная j «перехватывает» индекс наибольшего в паре A(i), A(j) элемента. Следовательно, по завершении циклического оператора переменная j примет значение индекса последнего наибольшего элемента массива. Правильный ответ - 3 Пример 7:
Дан фрагмент программы, обрабатывающей двухмерный массив A(n×n): Представим массив в виде квадратной таблицы, в которой для элемента массива A[i,j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами 1) два столбца в таблице 2) две строки в таблице 3) элементы диагонали и k-ой строки таблицы 4) элементы диагонали и k-го столбца таблицы Пример 8: Бейсик Паскаль k = 1 for i=1 to n c = A(i,i) A(i,i)= A(k,i) A(k,i)= c next i k := 1; for i:=1 to n do begin c := A[i,i]; A[i,i] := A[k,i]; A[k,i] := c; end
Внутри цикла меняются местами значения A[i,i] и A[k,i], используя переменную c в качестве вспомогательной ячейки. Элементы A[i,i] расположены на главной диагонали матрицы, а у элементов A[k,i] фиксирован номер строки (k), но меняется в цикле номер столбца. Следовательно, в программе элементы главной диагонали обмениваются с первой строкой (при k=1). Решение (предложенное К.Ю. Поляковым): i kA[k,i] iA[i,i] Правильный ответ - 3 1) два столбца в таблице 2) две строки в таблице 3) элементы диагонали и k- ой строки таблицы 4) элементы диагонали и k- го столбца таблицы Паскаль Бейсик k := 1; for i:=1 to n do begin c := A[i,i]; A[i,i] := A[k,i]; A[k,i] := c; end k = 1 for i=1 to n c = A(i,i) A(i,i) = A(k,i) A(k,i) = c next i
Пример 9:
Решение: Правильный ответ - 4
Пример 10: Решение:
Правильный ответ - 10 Решение:
В программе описан одномерный целочисленный массив А с индексами от 0 до 10. Ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются. Чему окажутся равны элементы этого массива? Бейсик Паскаль FOR i=0 ТО 10 A(i)=i-1 NEXT i FOR i=10 TO 1 STEP -1 A(i-l)=A(i) NEXT i for i:=0 to 10 do A[i]:=i-l; for i:=10 downto 1 do A[i-1]:=A[i]; Решение: После первого цикла: После второго цикла: Правильный ответ - 2 Пример 11:
Спасибо за внимание!