практикум по выполнению блока с (с1)

Post on 15-Jun-2015

984 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Сивцова И. Н.учитель информатикиМОУ СОШ № 7 «ОЦ» с углубленным изучением отдельных предметов

ПРАКТИКУМ ПО ВЫПОЛНЕНИЮ ЗАДАНИЙ ТИПА С1

ЕГЭ ПО ИНФОРМАТИКЕ

Семинар «ЕГЭ и ГИА 2010: итоги, анализ, перспективы развития технологий объективной оценки результатов»

секция «Информатика»

2010-2011 учебный год

Часть С состоит из четырех заданий. Для выполнения заданий этой части необходимо написать развернутый ответ в произвольной форме.

Задание С1 относится к повышенному уровню сложности.

Задания этого типа проверяют знание программирования с

использованием условного оператора и различных его

разновидностей, они требуют от учащихся внимания («найти

лишнюю часть», «добавить недостающую часть»), простейших

знаний языков программирования и логических функций, а так же

умения решать алгебраические уравнения и неравенства, находить

область допустимых значений.

Как правило, требуется выполнить три задания:

1) Привести примеры входных данных, при которых данная программа неверно решает поставленную задачу;

2) Указать, какая часть программы является лишней;

3) Доработать программу, чтобы не было случаев её неправильной работы, причем можно указать любой способ доработки исходной программы (иногда встречаются ограничения, например, не использовать логические операции AND и/или OR).

Рекомендуется:

- Решить задачу математически;

- Самостоятельно запрограммировать задачу;

- Искать расхождения с представленным вариантом решения и придумывать тестовые примеры, при которых программа будет работать неправильно.

Советы экспертов

При решении задания:

- Выяснить цель программы;

- Не тратить время на анализ и сравнение всех трёх вариантов программы на разных языках;

- Не искать синтаксические ошибки, то есть ошибки в написании служебных слов языка программирования или в расстановке разделительных знаков. Ошибки только в логике алгоритма!

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

Все встреченные мной в тренировочных материалах задачи можно условно разделить на следующие группы:

1. Работа с числами:

- найти максимальное (минимальное) из трёх чисел;

- определить, лежит ли число Х между числами А и В.

2. Решение уравнения (неравенства):

- ах2+bx+c=0;

- a|x|+b=0;

- ax-b=0;

- (x+a)/(bx<0;

- ax+b>0.

3. Определение принадлежности точки заштрихованной области.

4. Определение дня недели для произвольного дня месяца.

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

var x,y:real;beginreadln (x,y);If y<=x thenIf y<=-x thenIf y>=x*x-2 thenwrite (‘принадлежит’)elsewrite (‘не принадлежит’)end.

Последовательно выполните следующее:

1) Приведите примеры таких чисел X, Y, при которых программа неправильно решает поставленную задачу;

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

-

-

- +

+

+

принадлежит

y<=x

y<=-x

y>=x*x-2

не принадлежит

В представленном исходном варианте происходит сужение области, следовательно программа будет выдавать неверный результат, например, при х=2 и y=2

Необходимо разбиение области на две части прямой х=0, тогда возможная доработка будет выглядеть, например, так:

If (x>=0) and (y>=x*x-2) and (y<=x) or (x<=0) and (y>=x*x-2) and (y<=-x)

then write (‘принадлежит’)

else write (‘не принадлежит’)

Требовалось написать программу, которая решает уравнение а|x|+b=0 относительно х для любых чисел а и b, введённых с клавиатуры. Все числа считаются целыми. Программист торопился и написал программу неправильно.

Последовательно выполните три задания:

1) приведите примеры таких чисел a, b, x, при которых программа неверно решает поставленную задачу;

2) укажите, какая часть программы является лишней;

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

var x, a, b: integer;beginreadln(x, a, b);if a=0then if b=0then write (‘x любое’)else write(‘нет решения’)else if b=0then write (‘x=0’)else write (‘x=’, b div a,’ или x=’,-b div a);end.

a=0 b=0 x – любое

b≠0 решений нет

а≠0 b=0 x=0

b≠0 если а и b одного знака, то решений нет

a|x|+b=0 -a|x|-b=0

a|x|=-b -a|x|=b

решение есть только в том случае, если а и b –

числа с разными знаками, то есть

a*b<0 или a/b<0 или b/a<0

Ответ на первый вопрос: исходная программа выдает неверное решение, например, при a=3, b=3.

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

Требовалось написать программу, которая находит максимальное среди чисел х, у, z, введённых с клавиатуры. Все числа считаются целыми и неравными друг другу. Решением программы должно быть сообщение вида «максимальное х». Программист торопился и написал программу неправильно.

Последовательно выполните три задания:1) приведите примеры таких чисел х, у, z, при которых программа неверно решает поставленную задачу;2) укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы);3) укажите, как нужно доработать программу, соблюдая дополнительное условие: доработанная программа не должна использовать логических операций and и/или or и нельзя использовать дополнительные переменные.

var x, y, z: integer;beginreadln(x, y, z);if (x<y) and (y>z) then writeln (‘y’) else writeln (‘z’);if (x>y) and (z<x) then writeln (‘x’) else writeln (‘z’);end.

x y z

1 2 3

2 1 3

1 3 2

2 3 1

3 1 2

3 2 1

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

1. Приведите примеры таких чисел х, у, z, при которых программа неверно решает поставленную задачу

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

beginreadln(x,y,z);if (x<y) and (y>z) then writeln('max=y');if (x>y) and (z<x) then writeln('max=x');If (z>x) and (z>y) then writeln('max=z');end.

3. Укажите, как нужно доработать программу, соблюдая дополнительное условие: доработанная программа не должна использовать логических операций and и/или or и нельзя использовать дополнительные переменные.

--

-

+ +

+x>y

y<z x>z

x maxy max z max z max

3. Укажите, как нужно доработать программу, соблюдая дополнительное условие: доработанная программа не должна использовать логических операций and и/или or и нельзя использовать дополнительные переменные.

beginreadln(x,y,z);if x>y then begin if x>z then writeln('max=x') else writeln('max=z') end else begin if y<z then writeln('max=z') else writeln( 'max=y') end;end.

РЕЗУЛЬТАТЫ ЕГЭ 2008/2009 УЧЕБНОГО ГОДА

(учитель Сивцова И. Н.)

№ Изучение предмета С1

1 базовый+элективный курс «Программирование» 3 (3)

2 базовый+элективный курс «Программирование» 3 (3)

3 базовый+элективный курс «Программирование» 2 (3)

4 базовый+элективный курс «Программирование» 0 (3)

5 профильный 0 (3)

6 профильный 0 (3)

7 профильный 2 (3)

59 %

РЕЗУЛЬТАТЫ ЕГЭ 2009/2010 УЧЕБНОГО ГОДА

(учитель Сивцова И. Н.)

№ Изучение предмета С1

1 базовый+элективный курс «Программирование» 2 (3)

2 базовый+элективный курс «Программирование» 2 (3)

3 базовый 0 (3)

66 %

Используемая литература:

1. С. С. Крылов, Единый государственный экзамен. Учебно-тренировочные материалы для подготовки учащихся. Информатика 2007: «Интеллект-Центр», 2007

2. Единый государственный экзамен. Учебно-тренировочные материалы для подготовки учащихся. Информатика 2008: «Интеллект-Центр», 2007

3. Л. С. Зеленко, Е. В. Сопченко, Информатика: готовимся к ЕГЭ. 2008. тренировочные материалы: ООО «Офорт», 2008

4. И. Ю. Гусева, Информатика. ЕГЭ. Раздаточный материал тренировочных тестов. 2008: ТРИГОН, 2008

5. С. С. Крылов, Единый государственный экзамен. Учебно-тренировочные материалы для подготовки учащихся. Информатика 2009 2010 2011: «Интеллект-Центр», 2009

6. П. Я. Якушкин, Д. М. Ушаков, Самое полное издание типовых вариантов реальных заданий ЕГЭ. 2010. информатика: АСТ Астрель, 2010

top related