A) Линейный
B) Циклический
C) Алгоритм с ветвлением
D) Мы такого не проходили
$ Задание 3.3
Какой тип алгоритма описан в этой пыхтелке?
Если б мишки были пчелами,
То они бы нипочем
Никогда и не подумали
Так высоко строить дом;
И тогда (конечно, если бы
Пчелы – это были мишки!)
Нам бы, мишкам, было незачем
Лазить на такие вышки!
A) Мы такого не проходили
B) Алгоритм с ветвлением
C) Линейный алгоритм
D) Циклический алгоритм
$ Задание 3.4
Какой тип алгоритма описан здесь?
Вот пистолеты уж блеснули,
Гремит о шомпол молоток.
В граненый ствол уходят пули,
И щелкнул в первый раз курок.
Вот порох струйкой сероватой
На полку сыплется. Зубчатый,
Надежно ввинченный кремень
Взведен еще. За ближний пень
Становится Гильо смущенный.
Плащи бросают два врага.
Зарецкий тридцать два шага
Отмерил с точностью отменной,
Друзей развел по крайний след,
И каждый взял свой пистолет.
A) Линейный алгоритм
B) Алгоритм с ветвлением
C) Мы такого не проходили
D) Циклический алгоритм
$ Задание 3.5
Какой тип алгоритма описан?
Раз он в море закинул невод, —
Пришел невод с одною тиной.
Он в другой раз закинул невод, —
Пришел невод с травой морскою.
В третий раз закинул он невод, —
Пришел невод с одною рыбкой,
С непростою рыбкой, – золотою.
A) Циклический алгоритм
B) Мы такого не проходили
C) Линейный алгоритм
D) Алгоритм с ветвлением
$ Задание 3.6
Какой тип алгоритма описан?
У попа была собака,
Он ее любил.
Она съела кусок мяса —
Он ее убил.
И в землю закопал.
И надпись написал:
«У попа была собака,
Он ее любил.
Она съела кусок мяса —
Он ее убил.
И в землю закопал.
И надпись написал:
«У попа была собака,
Он ее любил.
Она съела кусок мяса —
Он ее убил.
И в землю закопал.
И надпись написал:
…»
A) Циклический алгоритм
B) Алгоритм с ветвлением
C) Линейный алгоритм
D) Мы такого не проходили
Линейные алгоритмы
Линейные алгоритмы – это алгоритмы, когда «все ясно». То есть линейный алгоритм выглядит следующим образом: «Начало макроса – выполняем действие А, затем действие Б, действие В… конец макроса». Продолжая аналогию с реальной жизнью: «выключу компьютер, надену обувь, зайду в магазин…».
Однако, поскольку целью данной книги не является обучение тому, как правильно покидать рабочее место, перейдем непосредственно к написанию макроса.
Итак, давайте решим достаточно простую задачу: необходимо по файлу каркасов минерализации и полному файлу базы данных опробования создать рудную выборку. В наиболее простом случае процедура не предполагает каких-либо вариантов действий. Если выполнять ее вручную, последовательность действий можно описать так:
– Выборка проб каркасами минерализации с зональным контролем по полю номера рудного тела.
– Композитирование выбранных проб.
– Урезка ураганных содержаний.
Давайте для простоты предположим, что нам известно следующее (файлы для тестирования10):
– имя файла рудных каркасов – ore_tr/pt;
– имя файла скважин – holes;
– имя поля номера рудного тела – BODY;
– имя поля урезаемых содержаний – AU;
– средняя длина проб, к которой требуется привести рудную выборку – 1 м;
– оптимальная сеть декластеризации – данные расположены по регулярной сети;
– уровень ураганных содержаний одинаков для всех рудных тел – 100 г/т;
– имя файла обработанной рудной выборки holes_ore_cut.
На многих приводимых ниже картинках с фрагментами кода в начале строки можно видеть номер. Это просто номер строки, который не является частью макроса. Номера строк автоматически проставляются многими текстовыми редакторами. Это не часть текста, это просто номера строк, они «физически» – в виде символов текста – не существуют и нужны только для облегчения адресации пользователя, например: «в строке N выполняется такое-то действие».