Для всех учителей из 37 347 образовательных учреждений по всей стране

Скидка до 75% на все 778 курсов

Выбрать курс
Получите деньги за публикацию своих
разработок в библиотеке «Инфоурок»
Добавить авторскую разработку
и получить бесплатное свидетельство о размещении материала на сайте infourok.ru
Инфоурок Информатика СтатьиМетодические аспекты решения задач повышенной сложности из состава ЕГЭ по информатике

Методические аспекты решения задач повышенной сложности из состава ЕГЭ по информатике

библиотека
материалов

МЕТОДИКА РЕШЕНИЯ ЗАДАЧ ЕГЭ ВЫСОКОГО УРОВНЯ 27 (С4)

Автор: учитель информатики Гришенкова М.А.

 

Задача №27 в ЕГЭ является задачей высокого уровня, призванная , прежде всего, проверить умения учащихся на практике составлять и реализовывать эффективные и правильные алгоритмы, составлять программы на языках высокого уровня.

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

Характеристика

Значение

Что проверяется

Умение создавать собственные программы (30–50 строк) для решения задач средней сложности

Требования к проверяемым элементам содержания

Основные этапы разработки программ. Разбиение задачи на подзадачи.

Проверяемые требования к уровню подготовки

Создавать программы на языке программирования по их описанию

Уровень сложности

Высокий

Максимальный балл

4

Примерное время выполнения

55 мин

Заметим, что эта задача имеет самый высокий балл, и на ее выполнение разработчики задания выделают практически четверть общего времени, отводимого на экзамен.

Проанализируем результаты решения этой задачи в 2015-2016 учебном году. Процент выполнения этой задачи представлен в следующей таблице:

 

Полученные баллы

1

2

3-4

>0

Процент участников

7%

3,7%

5,7%

16,2%

 

Можно заметить очень невысокий процент успешного выполнения данного задания, что можно связать с непривычным типом задания, к которому многие учащиеся были не готовы. Это говорит о низком уровне алгоритмической культуры и отсутствии навыков программирования.

Итак, как же научиться решать эти задания?

Перечислим необходимые для этого знания и умения, базовые алгоритмические задачи и методы:

      понятие сложности алгоритма;

      объявление, ввод массива;

      записи (структуры данных);

      работа со строками и символьными переменными;

      нахождение максимума и минимума в массиве, в  последовательности;

      нахождение суммы, произведения элементов массива, последовательности;

      свойства кратности, делимости сумм и произведений чисел;

      сдвиг элементов массива;

      использование вложенных циклов для полного перебора.

В качестве особенностей решения задачи можно выделить следующие:

      большое количество возможных вариаций задач и их формулировок;

      от учащегося требуются хорошие практически навыки программирования;

      требуется знать свойства делимости;

      большое количество приемов и способов решения, которые трудно формализовать;

      организация оптимального решения требует творческого подхода и тщательного анализа задачи.

Перед тем как говорить о решении задач, вспомним необходимые понятия.

Сложность алгоритмов

Сложность алгоритмаэто количественная характеристика ресурсов, необходимых алгоритму для работы (успешного решения задачи).

Основные ресурсы:

      время (временнáя сложность) и

      объем памяти (ёмкостная сложность).

Наиболее важной характеристикой является время.

Сложность задачи может быть разной для разных входных данных (экземпляров задачи).

Различают сложность в худшем случае и сложность в среднем.

В теории сложности чаще оперируют понятием сложности в худшем случае.

Обычно оценивают порядок роста сложности при n®¥: T = O(f(n)).

      Фактическая сложность (время работы в секундах) зависит не только от алгоритма, но и от скорости работы компьютера.

      Именно порядок роста сложности ограничивает размер решаемых задач.

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

 

Выделим основные типы и темы заданий:

       I.            Обработка данных, вводимых в виде символьных строк или последовательности чисел.

    II.            Проверка контрольного значения среди последовательности чисел.

 III.            Поиск пар с определенными свойствами среди множества экспериментальных значений с заданными интервалом между индексами.

IV.            Выбор подмножества элементов с определенным набором свойств.

   V.            Выбор одного значения из пары с нахождением суммы или произведения с определёнными свойствами.

 

Рассмотрим каждый тип задачи отдельно.

Возможная формулировка задания (тип I)

 На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат:

 

<Фамилия><Инициалы><номер школы>

 

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер.<Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:

 

Иванов П.С. 57

 

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, BorlandPascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000.

 

Данные задачи включались в экзамен несколько лет назад, сейчас не встречаются, но для полной картины следует рассмотреть и такие задачи тоже.

Необходимые знания и умения:

1.     Решение задачи разбиения строки на подстроки по пробелам.

Функцииипроцедуры (Pascal) : pos, copy, delete, length, insert.

2.     Преобразование строки в число, в цифры.

Функцииипроцедуры (Pascal) :val, StrToInt (Delphi).

3.     Работа с символами. Функции (Pascal): ord, chr.

4.     Работа с записями (структурами).

TypeRec=record

         {поля записи}

F:string[20]; {фамилия}

         IO: string[4]; {инициалы}

         num: integer;{номершколы}

end;

Подробно останавливаться не будем из-за неактуальности.

 

Возможная формулировка задания (тип II)

По каналу связи передаются положительные целые числа, не превышающие 1000, – результаты измерений, полученных в ходе эксперимента (количество измерений известно заранее). После окончания эксперимента передаётся контрольное значение – наибольшее число R, удовлетворяющее следующим условиям:

1) R — сумма двух различных переданных элементов последовательности («различные» означает, что нельзя просто удваивать переданные числа, суммы различных, но равных по величине элементов допускаются);

2) R — нечётное число.

Если чисел, соответствующих приведённым условиям, нет, считается, что R = –1. В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.

Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, FreePascal 2.6.4), которая будет проверять правильность контрольного значения.

Перед текстом программы кратко опишите используемый Вами алгоритм решения.

На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.

Пример входных данных:

 

6

100

8

33

45

19

90

145

Пример выходных данных:

145

 

Рассмотрим неоптимальное решение полным перебором, которое оценивается в 2 балла.

Организация полного перебора

Принеоптимальном решении все данные сначала сохраняются в массиве, а затем в двойном цикле рассматриваются все возможные пары чисел.

Текстпрограммы (авторский).

Vara:array [1..10000] ofinteger;

n, i, j: integer;

Rmin, R : integer;

Begin

readln(n);

for i:=1 to n do

readln(a[i]);

Rmin:=2001;

for i:=1 to n-1 do

for   j:=i+1 to n do

begin

                            R:=a[i]+a[j];

                            {проверка условия контрольного значения}

if(R<Rmin)and(R mod 3=0)then     Rmin:=R;

                   end;

ifRmin=2001 then Rmin:=-1; 

writeln(Rmin);

End.

 

В данной программе подчеркнуты те части программы, которые зависят только от значений в задаче, и не зависят от ее типа. Грубо говоря, эту программу можно использовать как шаблон для решения подобных ей, изменяя только указанные части.

Например, число 2001 взято как максимально возможная сумма двух элементов плюс 1, т.е. это невозможное значение для суммы двух чисел, которое будет заведомо больше чем реальная сумма. Поэтому, если после обработки данных число осталось прежним, это говорит о том, что искомой пары так и не было найдено. Условие подчеркнуто, потому как в задаче можно искать минимум, а можно максимум, в данной ситуации еще требовалось, чтобы это число было кратно трем, в другой задаче может быть другое условие, поэтому именно здесь надо будет поменять данные.

Как видно, для данного типа задач можно подготовить шаблонное неоптимальное решение на 2 балла.

Рассмотрим поиск оптимальным способом, т.е. без использования массива для хранения всех данных.

Оптимальное решение.

Если не хранить все числа, то тогда во время ввода данных какие именно хранить?

ИДЕЯ: Хранить в памяти не все введенные ранее числа, а только те, которые «лучше» остальных.

Чтобы сумма была меньше, нужно брать меньшие числа, достаточно хранить только минимальные, удовлетворяющие условию.

Сколько таких чисел хранить и какие должны быть условия?

По условию сумма должна быть наименьшей и кратной трем. Хранить только наименьшее нет смысла, потому как с другим наименьшим оно может не дать нужного остатка при делении на 3.

Вывод: следует хранить все минимальные числа, имеющие разные остатки при делении на 3.

 

Попытаемся словесно сформулировать алгоритм решения.Назовем парным остатком такой остаток, который в сумме с текущим будет делиться на 3.

Алгоритм оптимального решения

1.     Считываем количество чисел n.

2.     Инициализируем переменные.

3.     Цикл из  n итераций

3.1. Чтение очередного числа a.

3.2. Вычисление его остатка от деления на 3.

3.3. Выбираем число, остаток от деления на 3 от которого  в сумме с остатком деления  a на 3 кратен 3 (парный).

3.4. Если их сумма меньше контрольного значения, запоминаем ее как контрольное значение.

3.5. Если число a меньше минимального, имеющего тот же остаток от деления на 3, запоминаем его.

4.     Если контрольное число не изменилось, запоминаем в него 1.

5.     Вывод контрольного значения.

 

Программа для оптимального решения

VarR, Rmin: integer;

         n, a, I,m1,m2:integer;             

b :array[0..2] ofinteger; {массив, хранящийминимальные значения с разными остатками при делении на 3.}

Begin

         Rmin:=2001;

         fori:=0 to 2 dob[i]:=1001; // заполняем массив «невозможными» числами

         readln(n);

         for i:=1 to n do

         begin

               readln(a);

               m1:=(amod 3); //смотрим остаток от деления на 3

m2:=( 3-m1)mod 3;//смотрим парный остаток от деления на 3

               ifb[m2]<>1001 then

               beginR:=a+b[m3]; {читаемсумму текущего элемента с минимальным, имеющим парный остаток}

                            if R<Rmin then

                                      Rmin:=R;

               end;

{проверяем, не является ли текущий элемент лучше предыдущего, имеющего такой же остаток }

               ifa<b[m1] then

                   b[m1]:=a;

         end;

ifRmin=2001 thenRmin:=-1;  //еслисуммане нашлась такая

writeln(Rmin);

End.

 

Как мы видим, что алгоритм сложнее, но, тем не менее, тоже может быть формализован.

 

Возможная формулировка задания (тип III)

Для заданной последовательности неотрицательных целых чисел необходимо найти минимальную сумму двух её элементов, номера которых различаются не менее чем на 4. Значение каждого элемента последовательности не превышает 1000. Количество элементов последовательности не превышает 10000.

Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминатьсяв массиве, после чего будут проверены все возможные пары элементов.

Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этиххарактеристик).

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

Входные данные представлены следующим образом. В первой строкезадаётся число N – общее количество элементов последовательности.Гарантируется, чтоN > 4. В каждой из следующих N строк задаётся одно неотрицательное целоечисло – очередной элемент последовательности.Программа должна вывести одно число – описанную в условии сумму.


Пример входных данных:

7

10

45

55

245

35

25

10


Пример выходных данных :

20

 


Решение задачи А (не оптимальное)

Полный перебор похож на решение предыдущей задачи, только нужно брать не соседние пары, а через 4 элемента.

Var a:array [1..10000] of integer;

n, i, j: integer;

Rmin, R : integer;

Begin

readln(n);

for i:=1 to n do

readln(a[i]);

Rmin:=2001;

for i:=1 to n-4 do

for   j:=i+4 to n do

begin

                            R:=a[i]+a[j];

                            if (R<Rmin) then  {проверка условия контрольного значения}

                            Rmin:=R;

                   end;

writeln(Rmin);

End.

 

Как и прошлый раз, здесь подчеркнуты те части, которые могут модифицироваться в зависимости от условия задачи.

Оптимальное решение

Намного интереснее найти оптимальное решение. Как всегда нужно сформулировать идею.

Рассмотрим следующую последовательность:

Зеленым изображено очередное введенное число, голубыми те числа, с которыми оно может составлять пару, красными – с которыми не может, потому как их индексы отличаются меньше, чем на 4.

Если нельзя хранить все введенные ранее числа, то сколько чисел хранить в памяти и какие?

Во-первых, необходимо хранить числа - «кандидаты» в лучшие для составления с новым полученным числом контрольного значения. Эти числа были получены как минимум за 4 (согласно условию задачи) числа дотекущего. В текущем примере это только число 4, которое минимально из всех предыдущих чисел.

Во-вторых, необходимо хранить предпоследние 3 числа, которые пока не могут быть использованы для формирования контрольного значения, но могут пригодиться для последующих чисел. В данном случае мы видим, что в красной зоне есть числа 3 и 1, которые меньше 4, и для будущих чисел могут составить лучше пару, но пока еще использоваться не могут.

Внимание: если условие для контрольного значения сложное, «кандидатов» может быть несколько, как в предыдущей задаче.

Сформулируем алгоритм решения.

Алгоритмрешениязадачи Б

1.     Считываем количество чисел n.

2.     Инициализация переменных, считываем первое число, сохраняем как лучшее.

3.     Считываем 3 числа, запоминаем в массив.

4.     Цикл из  n-4 итераций

4.1. Чтение очередного числа a.

4.2.  Складываем с лучшим. Если их сумма меньше контрольного значения, запоминаем ее как контрольное значение.

4.3.  Сравниваем первый элемент массива и лучшее, запоминаем из них лучшее.

4.4.  Сдвигаем влево на 1 элементы массива.

4.5.  Запоминаем a в последний элемент массива.

5.     Вывод контрольного значения.

 

Программа для решения задачи Б

Constdelta=4; {минимальный интервал}

VarR :integer; {минимальная сумма}

         n, a, m:integer;      {количество чисел, очередное значение, лучшее}

b :array[1..delta-1] ofinteger; {массив промежуточных значений}

Begin

         R:=2001;

         readln(n);

         readln(m); {читаем первое, считаем его  «лучшим»}

{ Считываем 3 числа, запоминаем в массив }

         for i:=1 to delta-1 do readln(b[i]);  

         for i:= delta+1 to n do

         begin { Чтение очередного числа a}

                   readln(a);

{Складываем с лучшим.Если их сумма меньше контрольного значения, запоминаем ее как контрольное значение.}

                   If  (m+a)<R then R:=a+m;      

{Сравниваем первый элемент массива и лучшее, запоминаем из них лучшее}

                   if b[1]<m then m:=b[1];

                   {Сдвигаем влево на 1 элементы массива}

                   for j:=1 to delta-2 do b[j]:=b[j+1];

                   {Запоминаем a в последний элемент массива}

                            b[delta-1]:=a;

         end;

writeln(R);

End.

 

Модификация задачи (тип III)

Для заданной последовательности положительных целых чисел необходимо найти минимальное, кратное пяти произведение двух её элементов, номера которых различаются не менее чем на 6. Если таких чисел нет, вывести 0.

Значение каждого элемента последовательности не превышает 1000. Количество элементов последовательности не превышает 10000.

 

Можно заметить, что задача очень похожа на предыдущую, но появляется дополнительное условие, а именно необходимость кратности пяти произведения. Получается некий симбиоз задачи типа II и типа III. Объединим идеи.

Решение задачи А (не оптимальное)

Var a:array [1..10000] of integer;

n, i, j: integer;

Rmin, R :longint;

Begin

readln(n);

for i:=1 to n do      

readln(a[i]);

Rmin:=1000001;

for i:=1 to n-6  do

for   j:=i+6to n do

begin

                            R:=a[i]+a[j];

                            if(R<Rmin) and (R mod 5 =0)  then 

                            Rmin:=R;

                   end;

ifRmin=1000001 then

                   Rmin:=0;

writeln(Rmin);

End.

 

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

Во-первых нам надо хранить не только наименьшее значение из предыдущей последовательности, но и число, которое наименьшее из кратных 5, потому как оно точно даст произведение, кратное 5, а вот другое наименьшее может не подойти. Приведем полный текст с комментариями.

Программа для решения задачи Б

Constdelta=6; {минимальный интервал}

VarR :longint ;{минимальное произведение}

         n, a:integer;{количество чисел, очередное значение}

m, m5:integer;{наименьшее, наименьшее из кратных 5}

b :array[1..delta-1] ofinteger; {массив промежуточных значений}

Begin

         R:=1000001;

         readln(n);readln(m);

         if (m mod 5)=0 then

 m5:=m

else

  m5:=0;

         for i:=1 to delta-1 do

readln(b[i]);

         for i:= delta+1 to n do

         begin readln(a);

                   {проверяемпроизведение снаименьшим, кратным 5}

                   if ((m5<>0)  and ((m5*a)<R) then

 R:=a*m5;

                   {проверяем произведение с наименьшим и чтобы оно было кратно 5}

                 if ((a mod 5)=0) and (a*m<R)) then

                                  R:=a*m;

{проверяем, не является ли 1-е число в массиве наименьшим и наименьшим, кратным 5}

                   ifb[1]<mthen

                             m:=b[1];

                   if (b[1]mod 5=0)and (b[1]<m5) then

                             m5:=b[1];

{сдвиг в массиве}

                   for j:=1 to delta-2 do b[i]:=b[i+1];

                   b[delta-1]:=a;

         end;

ifRmin=1000001 then Rmin:=0;

writeln (Rmin);

End.

 

Возможная формулировка задания (тип IV)

На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы — это целое неотрицательное число. Частиц, скорость которых измерена, может быть очень много, но не может быть меньше трёх. Скорости всех частиц различны. Скорость, по крайней мере, одной частицы нечётна.

При обработке результатов в каждой серии эксперимента отбирается множество скоростей. Это непустое подмножество скоростей частиц (в него могу войти как скорость одной частицы, так и скорости всех частиц серии), такое, что сумма всех значений скоростей у него нечётна и максимальна среди всех возможных непустых подмножеств с нечётной суммой. Если таких подмножеств несколько, то из них выбирается то подмножество, которое содержит наименьшее количество элементов.

 

При данной формулировке задачи проще сразу рассмотреть оптимальное решение.

 

Поскольку задачу нужно решать в один проход (если делать оптимальное решение), то сумму надо считать одновременно с чтением данных.

Проблема 1: сумма должна быть максимальной по значению, но минимальной по количеству.

Вывод: нужно брать все положительные элементы и не брать нулевые.

Проблема 2: не все  числа должны входить в эту сумму, чтобы она была нечетной.

Вывод: надо запоминать «кандидатов» на удаление из последовательности, если сумма вдруг получится четной. Это должно быть нечетное число с одной стороны и минимальное из нечетных, чтобы сумма уменьшилась на минимальное возможное значение.

Текст оптимального решения представлен ниже.

Программа оптимального решения

Vars: longint ;       {сумма}

         n, a:integer; {количествочисел, очередноезначение}

m :integer;   {наименьшеенечетное}

Begin

         S:=0;

readln(n);   

m:=0;

         for i:= 1 to n do

         begin

                   readln(a);

                   S:=s+a;

                   if ( (a mod 2)=1)  and ((m=0)or (a<m)) then

                            m:=a;

         end;

         if (s mod 2)=0 then

s:=s-m;

writeln(R);

End.

 

И наконец, рассмотрим последний тип задач, который встречался в прошлом году на экзаменах.

 

Возможная формулировка задания (тип V)

На вход даны пары чисел. Нужно выбрать из каждой пары по одному числу так, чтобы сумма всех выбранных чисел не была кратна 6 и при этом была минимально возможной. Напишите программу, выводящую такую сумму на экран. Если же ее невозможно получить, выведите 0. Баллы начисляются за ту из подзадач, что решена на большее количество баллов. Задача А дает 2 балла, задача Б - 4 балла. В задаче А приведите неэффективный алгоритм. При решении указывайте, какую подзадачу делаете. За алгоритм, неэффективный по времени ИЛИ памяти, дается 3 балла, по времени И памяти - 2 балла.

Задача А. Количество пар известно заранее и равно 6. Числа не превышают 30 000.


Пример входных данных:

5 4

3 2

1 1

18 3

11 12

2 5


Пример выходных данных:

23


Задача Б. Количество пар N не известно заранее и может принимать значения 2 <= N <= 200 000. На вход подается сначала количество пар, затем сами пары. Числа по модулю не превышают 30 000.


Пример входных данных:

6

5 4

3 2

1 1

18 3

11 12

2 5

Пример выходных данных:

23

Полный перебор представляет собой вложенные циклы для перебора всех возможных пар значений.

РешениезадачиА

Var a:array[1..6,1..2]of integer;

         i,j1,j2,j3,j4,j5,j6,s,smin: integer;

Begin

for i:=1 to 6 do

for j1:=1 to 2 do  

read(a[I,j1]);

smin:=1000*6+1;

for j1:=1 to 2 do

for j2:=1 to 2 do

for j3:=1 to 2 do 

for j4:=1 to 2 do       

                            for j5:=1 to 2 do   

                                     for j6:=1 to 2 do

                                      begin

                            s:=a[1,j1]+ a[2,j2] +a[3,j3]+ a[4,j4]+ a[5,j5] +a[6,j6];

                                               if (s<smin)and(s mod 6 <>0) then smin:=s

                                     end;

ifsmin= 1000*6+1 then smin:=1;

writeln(smin);

End.

 

 

 

 

Идея решения задачи Б

Поскольку задачу нужно решать в один проход (если делать оптимальное решение), то сумму надо считать одновременно с чтением данных.

Проблема 1: сумма должна быть минимальной по значению.

Вывод: нужно брать из каждой пары только минимальное число.

Проблема 2: Сумма может получиться кратной 6.

Вывод: надо запоминать «кандидатов» на замену одного числа из пары на другое, если сумма вдруг получится кратной 6. Число должно иметь, во первых, минимальную разницу с заменяемым, а во-вторых, должно иметь другой остаток при делении на 6, чтобы и сумма поменяла свой остаток от деления. Сумма при этом увеличится именно на разницу между числами, поэтому проще запоминать именно ее.

Ниже приведен полный текст решения задачи.

Решение задачи Б

Varn:integer; {количествочисел}

a, b : integer; {очереднаяпарачисел}

         dmin, d : integer; {минимальная разница между числами в паре}

         s:integer; i:integer;

Begin

readln(n);

s:=0; d:=1001;

for i:=1 to n do  

begin

readln(a,b);

                   {добавляем минимальное число в сумму}

ifa<bthen

s:=s+a

else

s:=s+b;

                   {вычисляем разницу между числами}

d:=abs(a-b);

                   {если разница минимальна и не кратна 6, запоминаем ее}

if (d<dmin)and(dmod 6 <>0) then

dmin:=d;

end;

{если сумма получилась кратной 6, увеличиваем ее на dmin}

If(s mod 6) =0 then

Ifdmin=1001 then

s:=0

else

s:=s+dmin;

writeln(s);

end.

 

Список использованных источников

1)    В.Р. Лещинер, М.А. Ройтберг. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ для учителей, подготовленные на основе анализа типичных ошибок Участников ЕГЭ 2016 года  по ИНФОРМАТИКЕ и ИКТ. – http://www.fipi.ru/ege-i-gve-11/analiticheskie-i-metodicheskie-materialy.

2)    КИМ ЕГЭ «Информатика и ИКТ» http://www.ege.edu.ru/ru/classes-11/preparation/demovers/

3)    Материалы сайта Полякова К.Ю. по подготовке к ЕГЭ http://kpolyakov.spb.ru/school/ege.htm.

4)    Информатика и ИКТ. Подготовка к ЕГЭ 2016. 20 тренировочных вариантов по демоверсии на 2016 год: учебно-методическое пособие./Под ред. Л. Н. Евич, С.Ю. Кулабухова. – Ростов наДону: Легион, 2015.

5)    Каталог заданий сайта «Решу ЕГЭ». –

         https://inf-ege.sdamgia.ru/test?a=catlistwstat

Курс повышения квалификации
Курс профессиональной переподготовки
Учитель информатики
Курс профессиональной переподготовки
Учитель математики и информатики
Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Проверен экспертом
Общая информация

Вам будут интересны эти курсы:

Курс повышения квалификации «Табличный процессор MS Excel в профессиональной деятельности учителя математики»
Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»
Курс повышения квалификации «Организация работы по формированию медиаграмотности и повышению уровня информационных компетенций всех участников образовательного процесса»
Курс профессиональной переподготовки «Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»
Курс повышения квалификации «Введение в программирование на языке С (СИ)»
Курс профессиональной переподготовки «Управление в сфере информационных технологий в образовательной организации»
Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»
Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»
Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»
Курс повышения квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

Репетиторы онлайн

✅ Подготовка к ЕГЭ/ГИА
✅ По школьным предметам

✅ На балансе занятий — 1

Подробнее