ПРИКЛАД ЗАПИСИ АЛГОРИТМА

Звернемося для ілюстрації правил запису алгоритму до раніше розглянутої задачі виведення списку неперіодичних констант, для яких в метаданих заданий синонім (розд 173) У цій завданню відомості одного виду (ідентифікатор, синонім і значення) виводяться для різних констант Повторне виконання одних і тих же дій ре Алізе у вигляді циклу Тут найбільш доречний цикл з параметром, в якому в якості

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

1 Початок

/ / Число констант в конфігурації

2&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp всегоКонстант = МетаданниеКонстанта ()

/ / Змінна флагВивода приймає значення 1, якщо надруковані дані

/ / Хоча б про одну константі

3&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp флагВивода = 0

4 З параметром ін = 1, всегоКонстант виконати:

41 Якщо константа з номером ин неперіодична, то

/ / Синонім константи з номером ин

сін = МетаданниеКонстанта (ин) Синонім

411 Якщо сін не є рядком нульової довжини, то

флагВивода = 1

Вивести ідентифікатор, синонім і значення константи з номером ин

кінець якщо 411

кінець якщо 41

кінець циклу 4

5 Якщо флагВивода = 0, то

Повідомити: Ні неперіодичних констант на непустому синонімом” кінець якщо 5

6 Кінець

Код наведеного фрагменту на мові 1С буде незначно відрізнятися від коду процедури Виконати прикладу 3 розд 173

Умови 41 і 411 можна обєднати таким чином:

41 Якщо константа з номером ин неперіодична і константа має синонім, то

флагВивода = 1

Вивести ідентифікатор, синонім і значення константи з номером ин

кінець якщо 41

Такому обєднанню відповідає наступний код на 1С: якщо (МетаданниеКонстанта (ін) Періодичний = 0) і

(ПустаяСтрока (МетаданниеКонстанта (ін) Синонім) = 0) тоді флагВивода = 1

сін = МетаданниеКонстанта (ін) Синонім

ідеї = МетаданниеКонстанта (ін) Ідентифікатор значен = КонстантаПолучітьАтрібут (іден) Повідомити (іден + ” + сін + ” + значен)

КонецЕсли

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

Зауваження  Вбудована функція ПустаяСтрока (рядок) поверне 1, якщо її аргумент рядокмає нульову довжину або складається з одних прогалин, інакше функція поверне 0

Будь-який цикл з параметром можна, звичайно ж, замінити циклом Поки, наприклад ін = 1 / / Підготовка до циклу Поки

поки ин <= всегоКонстант цикл

/ / Тіло циклу див у вищенаведеному циклі з параметром

/ / Додаємо в тіло циклу оператор збільшення номера константи

/ / Без цього оператора станеться зациклення ін = ін + 1

конецЦікла

Джерело: Бартеньев О В 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>

*

*