BiVANT   Книги   К началу главы

Инкапсуляция данных и вычислений

Инкапсуляция (объединение в одной капсуле разнородных объектов) - один из важных современных технологических приемов. Классическим примером является объединение данных и процедур в одном модуле. Другим примером может служить известная реклама – «два в одном флаконе». Рабочий лист Excel также является примером инкапсуляции данных и функций. Ячейки Excel – это сложные объекты, которые могут хранить не только значения переменных, но и функции, вычисляющие значения. Но это не единственный вид инкапсуляции, которую обеспечивает рабочий лист. Более важно, что имеет место инкапсуляция машины вычислений и данных, роль которых играют ячейки рабочего листа. Благодаря такому объединению данных и вычислений, изменение данных, автоматически порождает вычисления, которые в свою очередь приводят к обновлению данных, перестройке графиков, сводных таблиц и диаграмм. Такая инкапсуляция характерна для всех электронных таблиц, и Excel обладает ей в полной мере. 

Отображение результатов

Два главных достоинства Excel – это его машина вычислений и средства отображения данных. Следует отметить, что особенно важно то, что оба эти важнейшие свойства рабочего листа тесно связаны. Источники данных для построения диаграмм могут находиться тут же на рабочем листе, и как только данные изменились в результате ввода новых значений и (или) вычислений, тут же автоматически изменятся и диаграммы. Возможность графического отображения информации крайне важна при обучении программированию. Многие задачи, безусловно, выигрывают, когда есть возможность графического представления результатов решения. Вот лишь некоторые примеры подобных задач: исследование влияния параметров на  вид функции, сходимость различных процессов, нахождение корней уравнений и многие другие.

 

Машина вычислений

О достоинствах машины вычислений Excel я уже говорил, и еще буду говорить подробнее чуть позже.

 Рекурсивные вычисления

Когда изучаются циклы – основа вычислительных процессов, без рекурсивных определений не обойтись. Циклы и рекурсия – близнецы-братья. Умение описывать вычислительный процесс,  как циклический и (или) рекурсивный на первых порах дело далеко не простое. Excel идеально приспособлен к тому, чтобы простые рекурсивные вычисления, заданные рекуррентными соотношениями, определялись почти автоматически. В Excel при копировании формул ссылки на переменные меняются автоматически, благодаря этому реализуются рекуррентные соотношения. Достаточно скопировать формулу, чтобы реализовать рекурсивное вычисление. Примеров на эту тему буден приведено достаточно. Для обучения это важно не столько потому, что достаточно сложные на начальном этапе задачи решаются без программирования, но и потому, что ничего не остается скрытым. Можно видеть, как меняется формула, тут же в ячейке видеть значение, рассчитанное по этой формуле. Так что простые рекурсивные вычисления приобретают необходимую наглядность.

 Работа с массивами

            Массивы – важнейшая структура данных в программировании - обладают в Excel той же степенью наглядности, как и простые переменные. По крайней мере,  это касается одномерных и двумерных массивов, вполне достаточных при первоначальном обучении. Возможность задания формул над массивами и библиотека функций, позволяющая выполнять основные операции, облегчают понимание и возможности работы с этими структурами данных. Может быть, самое главное достоинство работы с массивами в Excel состоит в том, что ввод массивов становится простым и естественным, не отличаясь ничем от ввода значений простых переменных. Замечу, что даже в визуальных языках программирования ввод массива дело совсем не простое и требует, как правило, организации циклов.

Библиотека функций

Excel обладает уникальной библиотекой функций, как общего, так и специального характера. Это позволяет при обучении в Excel ориентироваться на специалистов разных областей знания. Более чем 400 функций составляют общую библиотеку, в которой выделены следующие 10 групп функций:

·         Арифметические и тригонометрические,

·         Инженерные,

·         Обработки текста,

·         Информационные,

·         Логические,

·         Статистические,

·         Финансовые,

·         Работы с базами данных,

·         Работы с датами и временем,

·         Ссылки и автоподстановки.

Оптимизация

Оптимизационные задачи, конечно же, не относятся к числу задач первоначального обучения программистов. Однако, это важный класс задач при обучении математиков. Кроме того, роль играет и традиция, восходящая еще к тому периоду, когда вычислительная математика определяла развитие программирования. Нужно сказать, что в Excel встроены мощные средства, позволяющие решать задачи этого класса. Следуя воспитанию и традиции, я уделю этим задачам достаточно много внимания в последующих главах.

Хранение данных

   Одним из недостатков традиционных подходов, при которых обучение тесно связывается  с изучением некоторого языка программирования,  является то, что базы данных, не являющиеся частью языка программирования, появляются где-то на поздних этапах. В Excel эта трудность преодолевается естественным путем. Благодаря инкапсуляции, о которой я говорил выше,  рабочая книга представляет собой своеобразную базу данных. К этому следует добавить, что в Excel есть и специальные средства – списки Excel, -  позволяющие выполнять специальные операции над данными: фильтрацию, поиск и другие типичные операции над данными. Нельзя не упомянуть,  одно из главных назначений Excel состоит в том, чтобы служить средством анализа и отображения данных, поступающих от различных внешних источников данных – баз данных, хранилищ как структурированной, так и неструктурированной информации. Так что средств, позволяющих работать с собственными и внешними базами данных в Excel предостаточно.

                                   

Hosted by uCoz