Обзор средств для автоматизации геодезических вычислений

Страница: 10/13

H4 =ОТБР(G4) – целое число градусов

I4 =ОТБР((G4-H4)*60) – целая часть произведения из десятичых долей градусов, умноженных на 60, т.е. целое число минут

J4 =ОКРУГЛ((G4-H4-(I4/60))*3600;2) – произведение из исходной величины градусов минус целое число градусов минус только что вычисленное целое число минут, деленное на 60 умноженное на 3600 и округленное до двух знаков после запятой = число секунд, вычисленное с точностью до 2-х знаков после запятой.

В этой версии таблицы применены русские названия формул (хотя мне такое решение представляется весьма и весьма спорным – ведь это как-бы нарушение международного стандарта), так что фомула в ячейке H4 означает «взять целую часть числа, находящегося в ячейке G4 (причем столбец G4 не виден – он скрыт. Это решение применено для удобства – дело в том, что совокупность формул в ячейках H4:J11 является такой, чтобы перевести в формат «градусы, минуты, секунды» любое число, находящееся в соответствующей ячейке столбца G4, и между собой этот диапазон связан относительными ссылками, т.е. при «переброске через буфер» (копировании в буфер и вставке из него) координаты ячеек будут пересчитаны (эту функцию Excel выполяет автоматически), т.е. будет преобразовано в формат «градусы, минуты, секунды» любое число, находящееся в соответсвующей строке столбца, соответсвующего столбцу G4 в данном примере. Это очень удобно, но требует того, чтобы работа проводилась с ссылками на соответсвующие значения, которые нужно преобразовать в формат «градусы, минуты, секунды», причем столбец, содержащий ссылку, можно сделать скрытым, как в данном примере.

Или еще пример:

S4 =ОКРУГЛ(КОРЕНЬ(СТЕПЕНЬ(B5-B4;2)+СТЕПЕНЬ(C5-C4;2));2)

Таким вот непривычым способом записывается теорема Пифагора.

СТЕПЕНЬ(B5-B4;2) означает квадрат разности значений, записанных в B5 и B4 ( это как раз исходные координаты), двойка-это показатель степени.

КОРЕНЬ – это извлечение квадратного корня из аргумента в скобках.

ОКРУГЛ – это округление результата до второго знака после запятой.

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

По такому принципу создана вся так называемая “книга MS Excel» – совокупность электронных таблиц, которые в этом случае называются «листами». Каждый лист содежит отдельную таблицу, которая (в основном) данные для своей работы берет из предыдущих листов, что реализовано с помощью механизма «ссылок» – метода, при помощи которого ячейка одного листа в книге ссылается на значение ячейки другого листа этой же самой книги.

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

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

=ЕСЛИ(СУММ(D10:D12)+ОКРУГЛВНИЗ(СУММ(E10:E12)/60;0)>=60;ЕСЛИ(СУММ(D10:D12)+ОКРУГЛВНИЗ(СУММ(E10:E12)/60;0)>=120;СУММ(D10:D12)+ОКРУГЛВНИЗ(СУММ(E10:E12)/60;0)-120;СУММ(D10:D12)+ОКРУГЛВНИЗ(СУММ(E10:E12)/60;0)-60);СУММ(D10:D12)+ОКРУГЛВНИЗ(СУММ(E10:E12)/60;0))

Данная формула представляет собой как раз выбор из двух сценариев вычислений, в заисимости от числа секунд и минут в соответсвующих ячейках, учитывающий все варианты.

Реферат опубликован: 29/05/2009