ЕГЭ 2012 Информатика и ИКТ Консультация №4
Задание С1 Задача относится к повышенному уровню сложности Программа содержит некоторое количество условий (циклов и массивов нет) Необходимо найти ошибку в программе (смысловую, а не синтаксическую) Изменить программу для устранения случаев неправильной работы
Пример . Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Пример . Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.
Последовательно выполните следующее. Последовательно выполните следующее. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F и G). Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет". Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)
В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет". В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".
В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет". В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".
В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет". В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".
В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет". В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".
В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет". В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—“ (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".
Задание С2 Написать короткую (≈15 строк) простую программу (например, обработка массива) Программа линейной обработки входной последовательности
Пример . (С2) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от –1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно трем. Пример . (С2) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от –1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно трем. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Пример. (С2) Опишите на русском языке или одном из языков программирования алгоритм вычисления количества наибольших элементов в заданном целочисленном массиве из 30 элементов. Пример. (С2) Опишите на русском языке или одном из языков программирования алгоритм вычисления количества наибольших элементов в заданном целочисленном массиве из 30 элементов.
Пример. (С2) С клавиатуры вводят целые числа. Признак конца ввода - ввод нуля. Опишите на русском языке или одном из языков программирования алгоритм вычисления суммы тех чисел, которые кратны трем. Считаем, что хотя бы одно такое число в последовательности есть. Пример. (С2) С клавиатуры вводят целые числа. Признак конца ввода - ввод нуля. Опишите на русском языке или одном из языков программирования алгоритм вычисления суммы тех чисел, которые кратны трем. Считаем, что хотя бы одно такое число в последовательности есть.
Пример С3. Пример С3. У исполнителя Утроитель две команды, которым присвоены номера: 1. прибавь 1, 2. умножь на 3. Первая из них увеличивает число на экране на 1, вторая – утраивает его. Программа для Утроителя – это последовательность команд. Сколько есть программ, которые число 1 преобразуют в число 17? Ответ обоснуйте.
Пример С3. У исполнителя Утроитель две команды, которым присвоены номера: Пример С3. У исполнителя Утроитель две команды, которым присвоены номера: 1. прибавь 1, 2. умножь на 3. Решение. Количество программ, которые преобразуют число 1 в 17 равно количеству программ, которые преобразуют число 17 в 1 Для каждого следующего числа рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число N не делится на три, то оно может быть получено только из предыдущего N-1 с помощью команды прибавь 1. Если число N делится на три, то оно может быть получено из предыдущего N-1 с помощью команды прибавь 1 из числа N/3 с помощью команды умножь на 3
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение.
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение.
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение.
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение.
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение. Для каждого из чисел определим, сколько программ исполнителя существует для его получения. Если число N не делится на три, то количество искомых программ для такого числа равно количеству программ для числа N-1. Если число N делится на три, то количество искомых программ равно сумме количеств программ для числа N-1 и количества программ для числа N/3
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение. Для каждого из чисел определим, сколько программ исполнителя существует для его получения. Если число N не делится на три, то количество искомых программ для такого числа равно количеству программ для числа N-1. Если число N делится на три, то количество искомых программ равно сумме количеств программ для числа N-1 и количества программ для числа N/3
Пример С3. Пример С3. 1. прибавь 1, 2. умножь на 3. Решение. Для каждого из чисел определим, сколько программ исполнителя существует для его получения. Если число N не делится на три, то количество искомых программ для такого числа равно количеству программ для числа N-1. Если число N делится на три, то количество искомых программ равно сумме количеств программ для числа N-1 и количества программ для числа N/3
Пример С3. Пример С3. У исполнителя Утроитель три команды, которым присвоены номера: прибавь 1, прибавь 3, умножь на 3. Сколько есть программ, которые число 1 преобразуют в число 10? Ответ обоснуйте.
Пример С3. Пример С3. У исполнителя Утроитель три команды, которым присвоены номера: прибавь 1, прибавь 3, умножь на 3. Сколько есть программ, которые число 1 преобразуют в число 10? Ответ обоснуйте.
Характеристика задания С4 Нацелено на проверку умения создавать собственные программы для решения задач средней сложности. Проверяется умение составить алгоритм и написать законченную программу на одном из зыков программирования Оценивается в 4 балла
Типичная постановка задачи С4 содержит: Формат входных данных. Назначение программы, т.е. какую информацию программа должна извлечь из исходных данных и как их преобразовать. Формат выходных данных. Дополнительные условия и рекомендации.
Пример задачи
Формат входных данных
Критерии оценивания 4 балла – правильная и эффективная программа (допускается одна синтаксическая ошибка) 3 балла – правильная, но неэффективная программа или правильная в целом и эффективная программа, но неверно работающая в одном из частных случаев (допускается три синтаксических ошибки) 2 балла – программа работает в целом верно (допускается две логические, пять синтаксических ошибок) 1 балл –программа не удовлетворяет критериям 2 баллов (допускается четыре логические, семь синтаксических ошибок)