Определяем правило повторного исполнения конечной формулы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Определяем правило повторного исполнения конечной формулы



Помещаем конечную формулу в конструкцию цикла с вычислением неизвестной "Индекс", начиная с 0 до 4 включительно, что соответствует индексации элементов массива размерностью 5.

Рисунок 1.11

Создаем массив и определяем его размерность

В созданной формуле мы определили термин "Данные" для работы с массивом, таким образом, требуется добавление строки в начале алгоритма по созданию массива размерностью 5 и именем "Данные".

Рисунок 1.12

Проверяем алгоритм

Рисунок 1.13

Задача 2.

Постановка:

Реализовать последовательный вывод всех данных массива (с первого элемента до последнего) задачи 1 в область сообщений

Решение.

Прежде всего, определим последовательность наших действий при написании алгоритма:

Создаем конечную формулу;

Определяем правило повторного исполнения конечной формулы;

Проверяем алгоритм.

Создаем конечную формулу

Для вывода значения элемента массива воспользуемся методом "Сообщить", в который передадим содержимое переменной значение.

Рисунок 1.14

Определяем правило повторного исполнения конечной формулы

Необходимо реализовать последовательный обход всех элементов массива с передачей значений элементов в переменную "Значение", для этого воспользуемся конструкцией цикла "Для каждого Цикл", где "Значение" - имя переменной, которой передается значение элемента из коллекции "Данные".

Рисунок 1.15

Проверяем алгоритм

Вводим данные в массив и проверяем вывод в область сообщений:

Рисунок 1.16

Задача 3.

Постановка:

Реализовать вывод случайных чисел от 1 до 10, пока не выпадет число 8. Значение 8 при выводе всегда будет последним.

Решение.

Прежде всего, определим последовательность наших действий при написании алгоритма:

Создаем конечную формулу;

Определяем недостающие переменные и механизмы;

Определяем правило повторного исполнения необходимых действий;

Определяем недостающие переменные для цикла;

Проверяем алгоритм.

Создаем конечную формулу;

Рисунок 1.17

Определяем недостающие переменные и механизмы

Рисунок 1.18

Определяем правило повторного исполнения необходимых действий

Рисунок 1.19

Определяем недостающие переменные для цикла;

Рисунок 1.20

Проверяем алгоритм.

Рисунок 1.21

Работа с переходами

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

В системе 1С:Предприятие 8 существует несколько разновидностей переходов. Рассмотрим их виды на практических примерах:

· оператор " Перейти " – безусловный переход

Пример 1. Реализации бесконечного цикла с возможностью выхода из него по определенному условию:

Рисунок 1.22

Пример 2. Реализация двух вариантов старта алгоритма с дальнейшим общим алгоритмом:

Рисунок 1.23

· оператор " Прервать " – переход в конструкциях цикла к оператору, следующему за концом цикла, приводящее к выходу из текущего цикла

Пример 1. Реализация выхода (прерывания) из цикла по определенному условию:

Рисунок 1.24

· оператор " Продолжить " – переход в конструкциях цикла к началу цикла, позволяет прервать только итерацию цикла

Пример 1. Реализация отключения обработки значений в цикле по определенному условию:

Рисунок 1.25

Далее более подробно рассмотрим особенности использования конструкции безусловного перехода.

Попробуем выявить ситуации, при которых можно получить преимущества при использовании безусловных переходов:

Во-первых – использование переходов удобно для восприятия при большой вложенности циклов, большом теле цикла, восприятие может быть улучшено, за счет произвольного расположения условия цикла:

в начале цикла.

Рисунок 1.26

в конце цикла.

Рисунок 1.27

Во-вторых - безусловные переходы позволяют создавать именованные циклы, что тоже удобно при разработке (имя цикла – имя метки перехода, можно сказать разработчику о доработке конкретного цикла):

Рисунок 1.28

В-третьих - безусловные переходы позволяют оперативно прекратить выполнение серии вложенных циклов.

При использовании операторы "Прервать" в данном примере мы видим, что прерывается только внутренний цикл:

Рисунок 1.29

Используя вместо операции " Прервать " - " Перейти ", мы реализуем возможность выхода за пределы всей группы циклов.

Рисунок 1.30


ПРОЦЕДУРЫ И ФУНКЦИИ

Программисты используют при написании алгоритмов процедуры и функции. В момент определения процедур и функций возникает вопрос: "Мне нужна процедура или функция?". Для ответа на данный вопрос необходимо понимание назначения процедур и функций.

Что же такое процедуры и функции? Почему существуют только процедуры и функции? Как правильно определить имя процедуры и функции? Какие параметры и как передавать в процедуры и функции? На все эти вопросы Вы получите ответы прямо сейчас.

Начнем с того, что "Процедура" и "Функция" - это типы алгоритмов (как в типизации данных). Для типизации алгоритма необходимо выделить часть алгоритма с помощью специальных операторов (конструкций):

Рисунок 1.1

Почему существует только 2 типа алгоритмов? Потому что существует всего два вида взаимодействий между объектами:

Рисунок 1.2

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

Определение своих функций

В системе 1С:Предприятие существует много различных методов для работы со значениями, но как бы много их не было, всегда найдется задача, для которой потребуется создавать свой алгоритм обработки или получения данных.

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

Рисунок 1.3

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

Возникает вопрос вызова метода:

"А как же тогда система будет понимать, когда мы хотим взять данные из переменной, а когда с помощью алгоритма?"

Для получения вычисляемого значения мы указываем имя метода, с помощью которого происходит вычисление значения с открывающимися и закрывающимися скобками () после имени метода:

Рисунок 1.4

Таким образом, система поймет, что нужно брать значение не из переменной, а рассчитывать по одноименному алгоритму. И так, мы разобрались, как правильно обращаться к вычисляемым значениям.

И остается еще вопрос:

"Где и как определить алгоритм вычисления значения?"

Для описания вычисляемых значений в языке программирования используется специальный оператор " Функция ". Правила его использования подробно расписаны в синтакс-помощнике. А для решения текущей задачи нам потребуются следующие части конструкции:

Рисунок 1.5

Для определения функции переходим в Конфигуратор.Находим обработку "ФункцииИПроцедуры" и открываем ее форму, т.к. мы работаем на пользовательском уровне в форме, то и нашу функцию будем прописывать в форме:

Рисунок 1.6

В редакторе формы переходим на закладку "Модуль":

Рисунок 1.7

Добавляем описание функции с алгоритмом. Название функции должно содержать название того, что мы запрашиваем у системы:

Рисунок 1.8

· Для сохранения нашей функции нажимаем клавишу "F7"

· Запускаем режим 1С:Предприятие клавишей "F5"

· Открываем обработку "Функции и процедуры"

· В поле алгоритма прописываем алгоритм

Рисунок 1.9

· При нажатии на кнопку "Выполнить" видим результат:

Рисунок 1.10

Определение своих процедур

Рассмотрим еще одну задачу, в которой нам может потребоваться определение собственного метода:

Рисунок 1.11

В данном примере у нас дважды повторяется один и тот же блок операций:

Рисунок 1.12

Хорошо бы данный набор действий реализовать как макрокоманду для компьютера, для упрощения восприятия алгоритма:

Рисунок 1.13

Появляется новая задача, для создания своего метода, создание макрокоманды.

Использовать для решения данной задачи известный уже нам механизм функций можно, но не эффективно, так как мы же ничего не возвращаем, а просто обращаемся к общему алгоритму. Т.е. необходим механизм, который будет позволять определять собственные именование алгоритмы без возвращаемых значений. И такой механизм в языке программирования называется ПРОЦЕДУРА.

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

И опять, традиционный вопрос:

"Где и как будем определять такой общий алгоритм?"

Определять процедуру будем, как и в случае с функциями в модуле формы нашей обработки. А для правила использования оператора "ПРОЦЕДУРА" смотрим в синтакс-помощнике. Из описания нам нужно не все, а только следующие части конструкции:

Рисунок 1.14

Имя нашей процедуры: "СделатьПаузу", т.к. определили вызов:

Рисунок 1.15

Алгоритм процедуры:

Рисунок 1.16

Объявление процедуры в модуле будет иметь следующий вид:

Рисунок 1.17



Поделиться:


Последнее изменение этой страницы: 2021-02-07; просмотров: 159; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.81.240 (0.031 с.)