2. Воспользоваться допустимым правом учителя в разумных пределах варьировать формулировку вопроса и, убрав упоминание о калькуляторах, оставить традиционный и понятный вопрос об электронных таблицах как технологии обработки числовой информации, их назначении и принципах работы.
3. Рассмотреть вопрос "в полной постановке", т.е. обсудить основные технологии обработки числовой информации и место электронных таблиц среди них. Материалы можно взять из предыдущей публикации (см. ссылку в конце вопроса).
Примечание. Как довольно отчетливо показала дискуссия о новом стандарте школьного, курса информатики, опубликованная недавно в газете, те, кто формулирует стратегические документы по содержанию курса, не особенно стремятся учитывать возможности и мнения учителей, которые эти документы воплощают в жизнь. По-моему, данный вопрос билета является одним из примеров такою сорта (будет и еще один подобный вопрос в билете 25). К счастью, в случае, когда формулировка отдельного вопроса билета из-за некоторой двусмысленности или непродуманности недостаточно ясна, учителя имеют возможность внести некоторые уточнения, которые сделают вопрос более понятным и подходящим для реальных учеников.
Базовые понятия
Технологии обработки числовой информации на современном компьютере. Электронные таблицы.
Обязательно изложить
ЭВМ была создана для обработки числовой информации. Более чем полувековое совершенствование вычислительной техники многократно увеличило ее возможности.
Бытующее мнение о том, что "умная" машина способна правильно выполнить любые вычисления и сделать это с абсолютной точностью, не всегда оказывается верным. Нежелание (а порой и неумение) учитывать применимость тех или иных методов к решаемой задаче и тем более их оптимальность, оценить достоверность полученных результатов на практике может приводить к конфузам. Например, о том, сколько знаков в выданном компьютером ответе являются достоверными, задумываются немногие: "машина не может ошибаться!" — единодушно (и в чем-то даже правильно) в один голос заявляют и школьник, и бухгалтер, и экономист, добросовестно используя все выведенные на экран цифры числа. Тем не менее установить количество отображаемых знаков после запятой в современной электронной таблице несоизмеримо проще, чем понять, сколько именно нужно их оставить.
Вывод очевиден: гигантский рост возможностей компьютеров в обработке числовой информации ни в коем случае не отменяет, а в некоторых случаях даже усиливает важность осознанного выбора подходящих методов и технологий решения тех или иных возникающих на практике вычислительных задач.
Современное программное обеспечение, имеющее своей целью реализацию на компьютере всевозможных расчетов, необычайно разнообразно. Для организации вычислений с помощью ЭВМ существует большое количество программ, которые различаются идеологией построения, набором возможностей, степенью автоматизации расчетов, трудозатратами на организацию вычислительного процесса, а также возможностями представления результатов (например, в графическом виде). Конечно, круг программных средств и технологий обработки, числовой информации не ограничивается калькуляторами и электронными таблицами. Любой школьник знает, что вычислительные задачи можно эффективно решать с помощью языков программирования. Некоторые даже имели опыт работы с системами аналитических преобразований математических выражений (Maple, Mathematica или им подобными), которые могут, прежде чем подставлять конкретные числовые значения, решить задачу в общем виде; часто полученных формул уже без всяких дополнительных расчетов бывает достаточно, чтобы понять результаты задачи.
Выбираемое для вычислений программное обеспечение должно соответствовать уровню их сложности (вспомните, например, пословицу о стрельбе из пушки по воробьям).
Однократные вычисления по 1—2 небольшим формулам быстрее и проще всего выполнить, запустив программу-калькулятор. Отметим, что данный подход эффективен именно при небольших объемах вычислений и когда не требуется их многократное повторение; в противном случае возрастает вероятность ошибок и становится оправданным применение более сложного программного обеспечения.
Обработка серии данных по одинаковым формулам (результаты эксперимента или финансовые расчеты) с возможностью наглядного представления данных (таблицы, графики) представляет собой типичную задачу для электронных таблиц.
Тем не менее на практике вполне могут встретиться задачи, для которых даже мощности современных электронных таблиц явно недостаточно. Например, при статистической обработке результатов эксперимента часто необходимо не просто найти корреляцию, т.е. уровень взаимосвязи, между двумя столбцами, но проанализировать наличие связи "каждого с каждым". Подобную задачу гораздо легче решить добавлением к обычному режиму электронной таблицы специальной программы-макроса или даже использованием традиционного языка программирования.
Желательно изложить
При решении задач, связанных с обработкой числовой информации, разработчики предоставляют нам целый ряд типов программного обеспечения. Мы можем, в частности:
1) использовать программу-калькулятор;
2) применять непосредственный режим языка программирования (например, Basic);
3) разработать и реализовать программу решения задачи на языке программирования;
4) воспользоваться электронной таблицей;
5) написать программу-макрос для электронной таблицы (некоторое начальное представление о макросах можно получить, обратившись, например, к учебнику [2] );
6) привлечь на помощь аналитическую систему. Список, разумеется, не претендует на полноту, и,
вполне возможно, читатели могут его продолжить.
Проще всего, по-видимому, разбить процесс решения вычислительной задачи на отдельные составляющие и посмотреть, как они поддерживаются при различных способах решения. Результаты удобно представить в виде следующей таблицы (номера столбцов соответствуют порядковым номерам методов решения в приведенном ранее списке):
Из таблицы видно, что возможности различного программного обеспечения для обработки числовых данных различны. Прежде всего они касаются степени автоматизации расчетов (например, макросы в состоянии заменить большое количество "ручных" операций), повторяемости тех или иных действий (повторение расчета по хранящимся формулам, наличие программы и т.д.), простоте их реализации (красиво оформленную таблицу в Excel получить проще, чем при традиционных методах программирования).
Составляющие процесса решения | 1 | 2 | 3 | 4 | 5 | 6 |
Арифметические действия | Да | Да | Да | Да | Да | Да |
Хранение промежуточных результатов и констант | Несколько | Много | Много | Много | Много | Много |
Хранение формул | Нет | Нет | Да . | Да | Да | Да |
Математическое преобразование формул | Нет | Нет | Нет | Нет | Нет | Да |
Хранение программы | Нет | Нет | Да | Нет | Да | Да |
Автоматическое повторение (циклы, итерации) | Нет | Ограничено | Да | Ограничено | Да | Да |
Действия по условию | Нет | Ограничено | Да | Ограничено | Да | Да |
Табличное представление результатов | Нет | Ограничено | Да | Автоматически | Автоматически | Да |
Графическое представление | Нет | Нет | Да | Да | Да | Да |
Возможность сортировки данных | Нет | Нет | Да | Встроена | Да | Да |
Примечание для учеников
Обязательно выясните, какой объем ответа на данный вопрос хочет услышать от вас учитель. В свете рассказанного ранее может оказаться, что часть изложения (раздел "желательно изложить") можно будет вообще пропустить.
Ссылка на материалы по вопросу
Подробный текст материалов к вопросу опубликован в "Информатике" № 15, 2003, с. 3— 5.
2. Событийное объектно-ориентированное программирование. Событийные и общие процедуры
Базовые понятия
События и их обработчики.
Программа как совокупность обработчиков.
Обязательно изложить
Обработка событий является одной из основ современного программного обеспечения. Событиями в интересующем нас сейчас смысле называется все то, что требует реакции программы. Сюда относятся действия пользователя с мышью и клавиатурой, а также всевозможные изменения состояния системы: появление и исчезновение окон, изменение содержимого области редактирования в результате вывода и многое другое. Написанная нами программа должна в ответ на происходящие события осуществлять те или иные действия: например, по щелчку мыши вызывать появление диалогового окна, при закрытии активного окна переключать фокус ввода на одно из оставшихся окон, а при уменьшении размера текста убирать полосы прокрутки.
Подчеркнем, что событие есть базовое понятие, присущее самой операционной системе Windows, a не системам программирования.
При событийном подходе программа рке не является чем-то единым и последовательным, а представляет собой совокупность обработчиков (подчас абсолютно независимых друг от друга) тех или иных событий. Проще говоря, программист должен описать, как его приложение будет реагировать на каждое из обрабатываемых событий. Отметим, что написать несколько небольших обработчиков заметно легче, чем цельную программу.