ВКЛАДЕНІ ВИКЛИКИ ПРОЦЕДУР І ФУНКЦІЙ

Будь процедура або функція може містити виклики інших процедур і функцій, але не може викликати сама себе явно або через іншу процедуру (функцію) Наявність такого виклику призведе до зависання програми Наприклад:

процедура П6 (а) далі

процедура п5 (а)

//

Процедура п5 викликає сама себе

а = 2 * а

//

з процедури П6 В результаті маємо

П6 (а)

//

зависання програми

КонецПроцедури / / п5

процедура П6 (а) а =-а

п5 (а) КонецПроцедури / / П6

процедура Виконати ()

Попередження (Зараз програма зависне

| Для продовження обчислень натисніть Esc )

а = 1 п5 (а)

КонецПроцедури / / Виконати

2102 ОПЕРАТОР ПОВЕРНЕННЯ

Як ми бачили, функція повертає результат виразу оператора Повернення вираз

Такий оператор може бути використаний у функції неодноразово Проте його можна розмістити і в процедурі (зазвичай всередині конструкцій якщо або Спроба) При цьомувираз має бути опущено Наприклад:

процедура П7 (а, б) якщо а <= 0 тоді

Повідомити (Неправильне значення аргументу функції Лог”) повернення / /вираз опущено

КонецЕсли б = Лог (а)

КонецПроцедури / / П7

Втім, краще обійтися без оператора Повернення, застосувавши розгалуження якщо-тоіначе:

процедура П8 (а, б) якщо а <= 0 тоді

Повідомити (Неправильне значення аргументу функції Лог”)

інакше

б = Лог (а) КонецЕсли

КонецПроцедури / / П8

1 В 1С змінні можуть бути простими або структурованими Простими є числові, символьні змінні і змінні типу Дата (скалярні або масиви) Складною структурою мають змінні агрегатних типів даних

2 Невизначені змінні всіх типів мають пусте значення

3 Константи можуть бути числового, символьного типу або типу Дата Не можна задати іменовані константи, масив константу і константу агрегатного типу даних Серед символьних констант 3 є системними Ні констант зі значеннями істина і брехня

4 У виразі 1С можна вживати дані різних типів При обчисленні виразу автоматично виконуються перетворення типів даних Також для перетворення типів даних можна застосувати вбудовані функції Дата, Рядок і Число Тип виразу визначається типом першого операнда

5 Всі операції у виразах 1С виконуються зліва направо

6 Логічні операції мають вищий пріоритет, ніж операції відносини, що потрібно враховувати при записі логічних виразів

7 Логічні вирази не можна розміщувати в правій частині оператора присвоювання, використовувати в якості фактичних параметрів процедур і функцій і у вираженні оператора Повернення Їхнє місце це конструкції якщо, Для, Поки і функція.

8 Логічні вирази, які з кількох подвираженій, завжди обчислюються повністю, незважаючи на те, що їх результат може бути відомий до оцінки останнього подвираженія

9 Масиви можуть бути тільки одновимірними Індекс першого елемента масиву завжди дорівнює одиниці Елементи масивів можуть бути різних типів, у тому числі і агрегатних

10 Для управління обчисленнями в мові передбачені розгалуження якщо і Спроба, цикли з параметром і Поки, оператори переривання циклу, оператор переходу і оператор виходу з процедури (функції)

11 Структура програми поліпшується, якщо в ній замість операторів переривання циклу і переходу використовувати обєднання умов

12 Фактичні параметри процедур і функцій, якщо вони не є константами і їм не передує ключове слово Знач, передаються за посиланням, в іншому випадку за значенням

13 Фактичні параметри процедур і функцій є необовязковими При oi l сутствии фактичного параметра використовується встановлене для нього за умовчанням значення, якщо воно задане, або пусте значення в іншому випадку

14 Формальні параметри процедур і функцій можуть бути скалярами і массівамілюбого типу, в тому числі і агрегатного

15 Функція може викликатися, як і процедура, у вигляді окремого оператора При цьому повертається нею значення ігнорується

16 Попередній опис процедури (функції), наведене на початку модуля після оголошення його змінних, знімає обмеження на місце розташування, процедури (функції) в тілі модуля

Джерело: Бартеньев О В 1С: Підприємство: програмування для всіх Базові обєкти та розрахунки на одній дискеті М: Діалог-МІФІ, 2005 464 с

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*