Тверской государственный университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 5135 / 389 | Оценка: 4.23 / 3.83 | Длительность: 28:12:00
Специальности: Программист, Менеджер
Лекция 1:

Начала программирования в Excel

Лекция 1: 1234567 || Лекция 2 >

Начала программирования в Excel

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

Чтобы заинтриговать читателя, я выскажу спорное утверждение - "Excel является прекрасной средой для начального обучения программированию в школе и вузе". Попробую привести 10 пунктов, по каждому из которых можно привести ряд доводов в обоснование этого утверждения:

  1. Представление данных.
  2. Инкапсуляция данных и вычислений.
  3. Отображение результатов.
  4. Машина вычислений.
  5. Рекурсивные вычисления.
  6. Работа с массивами.
  7. Библиотека функций.
  8. Оптимизация.
  9. Хранение данных.
  10. Программирование на VBA.

Рассмотрим, в чем состоят достоинства Excel для каждого из этих пунктов.

Представление данных

Понятие простой переменной является одним из первых и фундаментальных понятий программирования. Где-то есть высказывание одного из классиков - "Если Вы понимаете, что такое переменная, то половина пути в понимании программирования уже пройдена". Говоря о переменных, новичку нужно объяснить, что суть переменной определяется тройкой - именем, значением и типом переменной. Кроме того, в программировании в отличие от математики, говоря о переменных, полезно связать это понятие с памятью, в которой хранится переменная. Начиная учить программированию школьников или людей, далеких от математики, я часто обращался к аналогии и приводил в качестве аналога переменной ящичек, на котором написано имя, внутри которого хранится значение, а тип ящичка, например круглый или прямоугольный, позволяет положить в ящичек только значения определенного типа. Память можно рассматривать, как совокупность таких ящичков. Такая аналогия хорошо работает и в Excel, где рабочий лист естественным образом можно представлять как некоторый вид подобной памяти.

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

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

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

Хочу обратить внимание на одну приятную особенность работы с переменными. Часто полезно разделять переменные не только по типу. Например, всегда в задачах полезно выделять входные (исходные) переменные, выходные (результаты) и промежуточные переменные. Благодаря возможностям форматирования, в Excel такое выделение становится возможным и наглядным. Переменные одного вида можно действительно сгруппировать на рабочем листе и для каждой группы можно иметь свой формат - границы, цвет фона и прочие атрибуты форматирования, выделяющие каждую группу. Тут же я хотел бы отметить и еще некоторые дополнительные возможности работы с переменными. Поскольку имя отделено от самой переменной, то часто полезно наряду с именем иметь и метку, записанную в соседней ячейке. При необходимости можно дать более подробную информацию о каждой переменной, связав с ней (с ячейкой) специальный комментарий.

Наконец, нельзя не отметить, что исчезает необходимость введения на первых занятиях достаточно сложного понятия операторов ввода - вывода. Ввод - вывод значений переменных, наблюдение в Excel за всеми переменными становится простым и естественным делом.

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

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

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

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

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

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

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

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

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

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

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

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

  • Арифметические и тригонометрические,
  • Инженерные,
  • Обработки текста,
  • Информационные,
  • Логические,
  • Статистические,
  • Финансовые,
  • Работы с базами данных,
  • Работы с датами и временем,
  • Ссылки и автоподстановки.
Лекция 1: 1234567 || Лекция 2 >
Ольга Гафарова
Ольга Гафарова

Добрый день. Подскажите формулы при решении задачи на рис. 2.2 в лекции №2. Закон Ома, какие должны использоваться формулы для I и R

Курс: Основы офисного программирования и документы Excel

Серегй Лушников
Серегй Лушников