Задание 21
1. Общие сведения 2. Пример задания
3. Решения задач с сайта ege.yandex.ru
4. Краткие сведения по алгебре
5. История
1. Общие сведения
Сложность: повышенная.
Примерное время решения (для тех, кто будет выполнять часть 2): 5 ,минут
Тема:
Подтема:
Анализ алгоритма, записанного на алгоритмическом языке c использованием вспомогательных алгоритмов
Что проверяется:
Умение формально выполнить алгоритм, использующий вспомогательные алгоритмы, и записанный на одном из предусмотренных в ЕГЭ 2012 алгоритмических языков. Умение понять, что делает алгоритм, не выполняя полную трассировку. Умение распознавать стандартные алгоритмы обработки данных (поиск экстремума, суммирование и т.п., см. Кодификатор элементов содержания и требований к уровню подготовки выпускников общеобразовательных учреждений для проведения в 2012 году единого государственного экзамена по информатике и ИКТ)
Примечание.
При выполнении этого задания (равно, как и других заданий ЕГЭ) ученик должен использовать знания из базового курса математики.
Общий вид задания: Дается описание алгоритма на четырех алгоритмических языках. В алгоритме используется несложный (несколько строк) вспомогательный алгоритм. Требуется определить значение указанной в условии переменной после выполнения алгоритма.
2. Пример задания
2.1. Условие задачи.
Задача 2012-
B14-1.
Определите, какое число будет напечатано в результате выполнения следующего алгоритма, изображенного на рис.1 (для Вашего удобства алгоритм представлен на четырех языках программирования).
2.2. Набросок решения
1. В алгоритме используется вспомогательный алгоритм-функция F, этот алгоритм имеет единственный аргумент типа цел. Значение F(x) при значении аргумента x - это значение квадратичного многочлена 4*(x-1)*(x-3). См. строки 15 - 18.
2. Алгоритм перебирает все целочисленные значения t от a=-20 до b=20. См. цикл от строки 6 до строки 11.
3. До начала цикла переменной M присваивается значение a, а переменной R - значение F(a). См. строку 5. Внутри цикла вычисляется значение F(t) для очередного значения переменной t. Если выполнено условие F(t) < M, то перевычисляются значения R и M, см. строки 7 - 10. Это означает, что переменная R хранит текущее минимальное значение величин F(t), а переменная M - первое (т.е. наименьшее) значение t, при котором был достигнут этот минимум. То, что хранится именно первая точка минимума, определяется тем, что в строке 7 проверяется строгое неравенство.
4. Таким образом, после выполнения цикла в строках 6 - 11 значение переменной M равно первой из точек минимума значений функции F(x) в целочисленных точках x=-20, …, 20.
5. Из курса алгебры (9 класс) известно, что квадратичная функция
F(x) = 4*(x-1)*(x-3)
достигает минимума в точке 2, см. ниже. Поэтому после завершения выполнения цикла переменная M будет иметь значение 2 и при выполнении команды выводв строке 12 будет напечатано 2.
Ответ:
2
1 алг
2 нач
3 целa, b, t, R, M
4 a:= -20; b:= 20
5 M:= a; R:= F(a)
6 нц дляt отa доb
7 еслиF (t)< R
8 то
9 M:= t; R:= F(t)
10 все
11 кц
12 выводM
13 кон
14
15 алг целF( целx)
16 нач
17 знач:= 4*(x-1)*(x-3)
18 кон
Рис.2.
2.3. Какие знания/умения/навыки нужны ученику, чтобы решить эту задачу
Ученик должен уметь:
1) распознавать записанные на языке программирования стандартные алгоритмы обработки данных (в данном задании – это алгоритм поиска минимального элемента в наборе чисел);
2) распознавать вспомогательный алгоритм и понимать, что он делает;
3) разобравшись в отдельных элементах программы, понять, что делает программа в целом.
Чтобы овладеть этими умениями необходим опыт практической работы в той или иной среде программирования.
2.4. Рекомендации для учителей: как разбирать задачу с учениками
Эти рекомендации – не догма, а попытка сделать выводы из собственного опыта. Ждем комментариев и Ваших рекомендаций.
Придумывайте свои подходы, применяйте их и сообщайте нам .
А. Относительно сильные ученики, имеющие достаточный опыт работы в среде программирования.
Эта задача не должна представлять для них трудностей, особенно, если Вы проведете разбор решения, например, по схеме, приведенной в п.2.2. Может понадобиться небольшой тренинг, чтобы «набить руку».
В качестве тренинга по распознаванию стандартных алгоритмов можно, например, давать задачи, в которых приведен алгоритм и 4 варианта описания того, что он делает. Пример набора вариантов ответов (не стоит использовать именно эти тексты, они могут оказаться излишне конспективными): 1) ищет минимальное значение, 2) ищет первую точку минимума, 2) ищет последнюю точку минимума, 4) ищет количество минимумов. Такие задачи перекликаются с заданием А12. См. примеры в материалах к заданию А12.
Полезно дать ученикам возможность попробовать решить задачу подобного типа, а потом проверить себя, выполнив программу в реальной среде программирования. Примеры подобных программ на школьном алгоритмическом языке, предназначенные для выполнения в среде КуМир, версия 1.8.0 и выше, находятся здесь.В архиве есть файл ReadMe.txt. Инсталлятор для среды КуМир для Windows можно скачать здесь.Чтобы получить КуМир для Linux. Нужно пойти сюда..
Мы с удовольствием разместим на сайте материалы (или ссылки на них) для других языков программирования и программных сред. Присылайте!.
Б. Ученики, не имеющие достаточного опыта работы в среде программирования.
Тактика может быть примерно той же. Отличие в том, что вместо закрепления уже известного, придется изучить стандартные алгоритмы и, возможно, вспомогательные алгоритмы. Материалы для этого см. в разделе «Темы» основного горизонтального меню.
Замечание о математике.
2.5. Рекомендации для учеников: как решать подобные задачи
3. Другие задачи
Хорошая подборка тренировочных заданий на Паскале есть на сайте К.Ю. Полякова. А вот здесьнаходится архив программ на КуМире. В каждой из них требуется определить, что будет напечатано в результате выполнения программы. В архиве есть файл ReadMe.txt
Что думаете?
4 комментария
Пожалуйста, исправьте текст программы на Бейсике:
a = -20: b = 20
M = a: R = F(a)
FOR t = a TO b
IF F(t) < R THEN
M = t
R = F(t)
END IF
NEXT t
PRINT M
FUNCTION F (x)
F = (x — 1) * (x — 3)
END FUNCTION
Спасибо! Исправил.
http://infoegehelp.ru/index.php?option=com_content&view=article&id=134&Itemid=97 тут решение задачи B14 2012 с иллюстрациями
У нас на сайте про алгебру написано здесь (там же ссылка на картинки): http://ege-go.ru/zadania/grb/b14/b14-algebra/
Ссылка в начале страницы: Краткие сведения по алгебре