Методист по программному обеспечению МБОУ ДОД «ЦДОД» - Давыдова Л.Б. Из материалов сайта www.metod-dlb.ruwww.metod-dlb.ru Решение задач по ЕГЭ вариант.

Презентация:



Advertisements
Похожие презентации
Задания сЗадания сТребовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (х, у - действительные.
Advertisements

ЕГЭ 2012 Информатика и ИКТ Консультация 4ЕГЭ 2012 Информатика и ИКТ Консультация 4.
Апрель - май 2011 г. Выполнил : Шамов Сергей Ученик 11 б класса МОУ ФСОШ 2 « с углубленным изучение отдельных предметов » Апрель - май 2011 г. Задания.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
Разбор заданий ЕГЭ Типичные задания С1. Содержание Задача С1 варианта 1 и другие типичные задачиС1 варианта 1 другие типичные задачи Задача С1 варианта.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Результаты проведения ГИА и ЕГЭ по информатике Ульяновск, 2012.
Что нужно знать: динамическое программирование – это способ решения сложных задач путем сведения их к более простым задачам того же типа динамическое.
ЕГЭ 2011 Информатика и ИКТ Консультация 3 18 марта.
Разбор заданий ЕГЭ Типичные задания С2. Содержание Перечень задач Задача 1 Задача 2 Задача 3 Решить самостоятельно Задача 4 Задача 5 Задача 6 Перечень.
Сайт для подготовки к ЕГЭ: kpolyakov.narod.ru Презентация будет выложена на сайте elschool11.ru ученикам – информатика –Подготовка к ЕГЭ (внизу странички)
ЕГЭ информатика Алгоритмизация и программирование Консультация 3.
ЕДИННЫЙ ГОСУДАРСТВЕННЫЙ ЭКЗАМЕН Часть С демо-варианта 2009.
Решение задач на языке ABC Pascal. С4 (высокий уровень) Тема: Обработка данных, вводимых в виде символьных строк (написать программу средней сложности.
Найдите ошибки: 1. if a = b then begin c:=1 else c:=0; 2. if a = b then c:=1; end else c:=0; 3. if a = b then c:=1; d:=1; else x:=1; Исправлено if a =
Методика решения и оценивания задач «С1», «С2» Единого Государственного Экзамена.
Использование составных логических выражений в условном операторе Паскаля.
Ключевая тема этого задания ЕГЭ – использование вложенных условных операторов, причем в тексте задания фрагмент программы обычно записан без отступов «лесенкой»
LOGO ЕГЭ. Информатика Рекомендации по выполнению заданий блока С (С2) Учитель информатики МОУ гимназии 1 Красакова О.Н. Новокуйбышевск, 2011 г.
Умение прочесть фрагмент программы на языке программирования и исправить допущенные ошибки С1, время – 30 мин, П, 3 балла.
Транксрипт:

Методист по программному обеспечению МБОУ ДОД «ЦДОД» - Давыдова Л.Б. Из материалов сайта Решение задач по ЕГЭ вариант С4 Решение задач по ЕГЭ вариант С3 Решение задач по ЕГЭ вариант С2 Решение задач по ЕГЭ вариант С1

Задача С2 Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно трем. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но использовать все описанные переменные необязательно. Решение задач по ЕГЭ вариант С2

В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования или в виде блок - схемы. В этом случае вы должны использовать те же самые исходные данные и переменные какие были предложены в условии (например, в образце, записанном на естественном языке). Решение задач по ЕГЭ вариант С2

При этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. Решение задач по ЕГЭ вариант С2

Паскаль var a: array [1..N] of integer; i, j, min: integer; begin for i := 1 to N do readln(a[i]); … end. Решение задач по ЕГЭ вариант С2

Описание переменных TYPE MASSIV=ARRAY [1..n] OF INTEGER; VAR A:MASSIV; min,j,I:INTEGER; BEGIN randomize; {Ввод массива} WRITELN('ВВЕДИТЕ размер массива'); readln(j); WRITELN('вводится массив из ЦЕЛЫХ ЧИСЕЛ'); FOR I:=1 TO j DO A[I]:=random(100); Решение задач по ЕГЭ вариант С2

{Вывод массива} CLRSCR; WRITELN('ИСХОДНЫЙ МАССИВ'); FOR I:=1 TO j DO WRITE(A[I],' '); WRITELN; WRITELN; // минимальное значение среди элементов массива, // которые имеют чётное значение и не делятся на три. FOR I:=1 TO j DO IF (A[I] mod 2 =0) and (a[i] mod 3 0 ) THEN write(a[i],' ') else a[i]:=-1; writeln; Решение задач по ЕГЭ вариант С2

// минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. for i:=j downto 1 do if a[i]>0 then min:=a[i]; for i:=1 to j do if a[i]>0 then begin if min>a[i] then min:=a[i]; end; writeln; writeln('min=',min); END. Решение задач по ЕГЭ вариант С2 Решение в Интернете

В любом варианте решения может присутствовать не более одной ошибки из числа следующих Не инициализируется или неверно инициализируется переменная MIN ( например, ей присваивается значение a[1] или число, меньшее 1000). 1.Неверно осуществляется проверка чётности элемента массива. 2.На чётность проверяется не значение элемента, а его индекс. 3.Неверно осуществляется проверка делимости на три. 4.На делимость на три проверяется не значение элемента, а его индекс 5.В условии проверки на делимость вместо логической операции « И » используется логическая операция «ИЛИ». Решение задач по ЕГЭ вариант С2

6.Отсутствует вывод ответа. 7.Используется переменная, не объявленная в разделе описания переменных. 8.Не указано или неверно указано условие завершения цикла. 9.Индексная переменная в цикле не меняется ( например, в цикле while) или меняется неверно. 10.Неверно расставлены операторные скобки. Ошибок, перечисленных в п. 1–11, В любом варианте решения может присутствовать не более одной ошибки из числа следующих Решение задач по ЕГЭ вариант С2

Задача С1 Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (y,x – действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы). Программист торопился и написал программу неправильно Решение задач по ЕГЭ вариант С1

Найдите ошибку Паскаль var x,y: real; begin readln(x,y); if y>=x then if y>=0 then if y

Решение задачи (полное) Решение задач по ЕГЭ вариант С1 Последовательно выполните следующее 1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H). Точки, лежащие на границах областей, отдельно не рассматривать.

Решение Область Условие1 (y>=x) Условие 2 (y>=0) условие 3 (y=x))

if (y =0) or (y>=x)) then write(' принадлежит ') else write(' не принадлежит ') Решение задач по ЕГЭ вариант С1 Пример решения Решение задачи Интернет

Указания по оцениванию (1) Обратите внимание ! В задаче требуется выполнить три следующих действия. 1. Указать для каждой области, как будет работать программа - заполнить таблицу. 2. Исправить ошибку, связанную с неверной расстановкой операторных скобок ( отсутствуют случаи ELSE). Исправлением этой ошибки может быть либо добавление случая ELSE к каждому условию IF, либо объединение всех условий IF в одно при помощи конъюнкции. Решение задач по ЕГЭ вариант С1

В сложных случаях это действие считается выполненным, если программа выдает одно из двух сообщений « принадлежит » или « не принадлежит » для любых чисел x и y, при этом программа не стала работать хуже, чем раньше, то есть для всех точек, для которых программа ранее выдавала верный ответ, доработанная программа также должна выдавать верный ответ. Указания по оцениванию (2) Решение задач по ЕГЭ вариант С1

3. Исправить ошибку в проверяемых условиях: приведенным трем ограничениям не удовлетворяют точки плоскости, у которых y =x и y =0. Решение задач по ЕГЭ вариант С1

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

Задание выполнено полностью : 1) Правильно заполнена вся таблица. 2) Написана правильно работающая программа, т.е. программа для всех пар чисел x, y верно определяет принадлежность точки закрашенной области. В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения. Решение задач по ЕГЭ вариант С1

Задача С3 У исполнителя Утроитель две команды, которым присвоены номера: 1. прибавь 1, 2. умножь на 3. Первая из них увеличивает число на экране на 1, вторая – утраивает его. Программа для Утроителя – это последовательность команд. Сколько есть программ, которые число 1 преобразуют в число 28? Ответ обоснуйте Решение задач по ЕГЭ вариант С3

Содержание верного ответа и указания к оцениванию (допускаются иные формулировки ответа, не искажающие его смысла) Обозначим R (n) – количество программ, которые преобразуют число 1 в число n. Обозначим t (n) наибольшее кратное трем, не превосходящее n. Обе команды исполнителя увеличивают исходное число, поэтому общее количеств о команд в программе не может превосходить 28. Решение задач по ЕГЭ вариант С3

Верны следующие соотношения: 1. Если n не делится на 3, то тогда R(n) = R(t(n)), так как существует единственный способ получения n из t(n) – прибавлением единиц. 2. Пусть n делится на 3. Тогда R(n) = R(n/3)+R(n-1)= R(n/3)+R(n-3) (если n>3). При n=3 R(n) = 2 (два способа: прибавлением двух единиц или однократным умножением на 3). Поэтому достаточно постепенно вычислить значения R(n) для всех чисел, кратных трем и не превосходящих 29:

сначала вычисляем R(1), затем R(3), R(6) и т.д. Имеем: R(2)=1 R(3) = 2 = R(4)=R(5) R(6) = R(2)+R(3) =1+2 = 3 = R(7)=R(8) R(9) = R(3)+R(6) =2+3 =5 = R(10)=R(11) R(12) = R(4)+R(9) = 2+5 = 7 = R(13)=R(14) R(15) = R(5)+R(12) =2+7 =9 = R(16)=R(17) R(18) = R(6)+R(15) = 3+9 = 12 = R(19)=R(20) R(21) = R(7)+R(18) = 3+12 = 15 = R(22)=R(23) R(24) = R(8)+R(21) = = 18 = R(25)=R(26) R(27) = R(9)+R(24) = = 23 = R(28)=R(29) Ответ: 23

Другая форма решения Будем решать поставленную задачу последовательно для чисел 1, 2, 3, …, 29 (то есть для каждого из чисел определим, сколько программ исполнителя существует для его получения). Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Число 1 у нас уже есть, значит, его можно получить с помощью пустой программы. Любая непустая программа увеличит исходное число, т.е. даст число, больше 1. Значит, R(1) = 1. Для каждого следующего числа рассмотрим, из какого числа оно может быть получено за одну команду исполнителя.

Если число не делится на три, то оно может быть получено только из предыдущего с помощью команды

При этом ячейки, относящиеся к числам, которые не делятся на 3, можно в решении и опустить (за исключением первого и последнего чисел): Использование с помощью Графов

Указания по оцениванию Правильное указание количеств а возможных программ со строгим доказательством правильности (одним из приведенных выше способов или любым другим). Два балла ставятся в одном из двух случаев: 1. Правильное указание количества возможных программ, основанное на верных рассуждениях, но доказательство правильности неполно. В частности, оценка в 2 балла выставляется в случае, если просто перечислены все правильные программы и не доказано отсутствие других программ, кроме приведенных 2. Приведен ы правильные и строгие рассуждения, доведенные до конца, но в вычислениях допущена арифметическая ошибка, в результате чего получен неверный ответ. Решение задач по ЕГЭ вариант С3

Представленное решение обладает одним из свойств 1. Указано, что нужно рассматривать значения n, меньшие, чем 29, и приведены правильные рекуррентные соотношения ( см. выше ), возможно, неполные. 2. Правильно выписаны и обоснованы значения R ( n ) для небольших n. 3. Правильно написан ответ, но нет его обоснования Указания по оцениванию Решение задач по ЕГЭ вариант С3

Условие задачи С4 Программа читает все входные данные один раз, не запоминая их в массиве, размер которого равен N, а составляя только список встретившихся задач и количеств а запросов по каждой из них. Во время чтения данных об очередной задаче просматривается список ранее сохраненных задач ; если она уже есть в списке, то количество запросов по ней увеличивается на 1, иначе задача добавляется в массив упомянутых в запросах задач (при корректных данных он не может быть больше 11). Решение задач по ЕГЭ вариант С4

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

Описание переменных Var N, Num, i, j, t: integer; Count: array[1..11] of integer; s: string; Names: array[1..11] of string; Решение задач по ЕГЭ вариант С4

Установка начальных значений Begin Num:=0; { Число различных задач в списке запросов } ReadLn(N); { Считываем количество запросов } Решение задач по ЕГЭ вариант С4

Осуществляем ее поиск в списке уже встретившихся for i:=1 to N do begin ReadLn(s); { считали очередную задачу } j:=1; while (j Names[j]) do j:=j+1; { Если она найдена } if j

Сортируем массивы Names и Count в порядке убывания значений массива Count for i:=Num downto 2 do for j:=2 to i do if Count[j-1]

Поиск трёх максимальных элементов в массиве if Num >= 3 then j := 3 else j := Num; i := 1; while (i = Count[j]) do begin WriteLn(Names[i], ' ', Count[i]); i := i + 1; end end. Решение задач по ЕГЕ вариант С4 Полное Решение Задачи

Но начнем с начала: определение четверти на координатной плоскости Всем известна прямоугольная (декартова) система координат, в которой две перпендикулярные оси делят плоскость на четверти. В первую четверть попадают точки, у которых обе координаты (x и y) больше нуля. Во вторую: x 0; третью: x < 0, y < 0; четвертую: x > 0, y < 0. Допустим, требуется написать программу, определяющую по координатам точки, в какой четверти она находится. Решение задач по ЕГЭ вариант С

var x,y: real; begin write ('x = '); read (x); write ('y = '); readln (y); write ('Номер четверти коорд. плоскости: '); if (x > 0) and (y > 0) then writeln ('I') else if (x 0) then writeln ('II') else if (x < 0) and (y < 0) then writeln ('III') else if (x > 0) and (y < 0) then writeln ('IV') else writeln ('-. Точка лежит на оси.'); readln end. Для решения этой задачи уместно использовать условные операторы if-else вложенные друг в друга. Решение задач по ЕГЭ вариант С

Примечания: Почему именно вложенные? Ведь программа выглядела куда проще, если убрать все ветки else и оставить только if. Дело в том, что тогда при работе программа будет проверять все ветки if, даже если будет уже известно, что точка принадлежит I или II четверти. Такой алгоритм работы программы будет не совсем эффективным и грамотным. Также желательно в программе предусмотреть случай, когда x или y (или оба значения) равны нулю. В таком случае точка будет лежать на соответствующей координатной оси (или находиться в начале координат). Решение задач по ЕГЭ вариант С1

Координатная плоскость (Пример) Решение задач по ЕГЭ вариант С1 var x,y: real; begin writeln('Введите координаты:'); readln(x,y); if(x=0)and(y=0) then write('В начале координат') else if(x=0)and(y0) then write('На оси Y') else if (x0) and (y=0) then write('На оси X') else if (x>0)and(y>0) then write('В первой четверти') else if (x>0)and(y

Пример решения задачи С1 Для произвольной точки координатной плоскости (х, у) вывести на экран «Попал», если эта точка попадает в закрашенную область на рисунке, и вывести «Мимо» в противном случае. Из материалов С.Окулова Решение задач по ЕГЭ вариант С1

Заштрихованная область, расположенная левее оси Оу> является пересечением области, расположенной выше параболы (х 2 4 >= у), области выше биссектрисы 1-го и 3-го координатных углов (х = у). Решение задач по ЕГЭ вариант С Y=x х 2 4 Y=x Примечание: вначале необходимо ввести значение Y, а затем X

Заштрихованная область, расположенная справа, является пересечением области, расположенной выше параболы (х >= у), области выше биссектрисы 2-го и 4-го координатных углов (-x = у). Таким образом, заштрихованная область задается условием ((х >= у) And (х = у)) Or ((х >= у) And (-х =y)). Данное условие можно упростить, вынеся условие (х >= у) за скобки. Решение задач по ЕГЭ вариант С Y= -x х 2 4 Y= -x Примечание: вначале необходимо ввести значение Y, а затем X

Текст программы Program Task_; Var x, y : real; Begin Write(Введите координаты точки'); ReadLn(x, y) ; If (x*x-4>=y) and ((x>=y) and (-x =y) and (x