Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
константы и пречисления.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
227.33 Кб
Скачать
  1. Системные константы

В языке есть 3 системные именованные константы, имеющие символьный тип и следующие имена:

РазделительСтраниц;

РазделительСтрок;

Символ Табуляции.

Они, как правило, употребляются при работе с текстом. Например:

// Константа РазделительСтрок вставит пустую строку вслед за текстом "Список констант"

текст.ДобавитьСтроку("Список констант" + разделительСтрок);

  1. Переменные числовые, символьные и даты

Переменные разделяются на скалярные и массивы. В текущей реализации 1С можно использовать только одномерные массивы, называемые также векторами.

Переменные объявляются в программе:

• после их объявления, например

перем а, стр; // Объявляем скалярные переменные а и стр

перем мас[20]; // Объявляем вектор из 20 элементов

• после первого размещения имени переменной (числовой, строковой и даты) в правой части оператора присваивания, например

у = Лог(a); // Вводим переменную у, определяем ее тип и значение

  • при определении имен идентификаторов редактируемых элементов диалога (см. разд. 2.5 «Переменные диалога»);

  • при задании формальных параметров процедур, например в пользовательской функции

функция ВычислитьУ(х) // х - формальный параметр функции ВычислитьУ

х = 2.0 * х; // употребляется в функции как переменная

у = 2 * Лог(х); // Лог - встроенная функция

возврат у;

конецФункции // ВычислитьУ

Формальный параметр x используется как скалярная переменная. При объявлении переменной ее тип и значение не определяются. Такая переменная имеет пустое значение. Однако ее можно употреблять в выражениях.

Например:

Тип и значение переменной а не определены. Встроенная функция ПустоеЗначение(а) вернет 1, а результатом последующего выражения будет 0.

перем а; // Объявляем скалярную переменную а

Сообщить(ПустоеЗначение(а)); // Напечатает 1

Сообщить(а); // Напечатает пустую строку

б = 2 * а;

Сообщить(ПустоеЗначение(б)); // Напечатает 1. То есть б имеет пустое значение

Сообщить(б); // Напечатает 0, а не пустую строку,

// несмотря на то что б имеет пустое значение Сообщить(б + 3); // Напечатает 3

Сообщить(а + 3); // Напечатает пустую строку

Манипулирование переменными:

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

Например:

Переменные а и стр после выполнения присваивания будут иметь соответственно числовой и символьный тип.

перем а, стр; // Объявляем скалярные переменные а и стр

а = 1.22; // Теперь переменная а имеет числовой тип

стр = "Это строка"; // Теперь переменная стр имеет символьный тип

Например:

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

функция ВычислитьУ(х) // х - формальный параметр функции ВычислитьУ

х = 2.0 * х; // употребляется в функции как переменная

у = 2 * Лог(х); // Лог - встроенная функция

возврат у;

конецФункции // ВычислитьУ

процедура Выполнить()

б = ВычислитьУ(3.0); // При вызове функции ВычислитьУ определяется

Сообщить("б = " + б); // тип и значение ее формального параметра х

конецПроцедуры // Выполнить

  • Переменные, имена которых неизвестны в программном компоненте, нельзя использовать в качестве фактических параметров других программных компонентов.

Например:

процедура ОпределитьХ(х)

х = 2.0;

конецПроцедуры // ОпределитьХ

процедура Выполнить()

ОпределитьХ(х); // Ошибка! Этот вызов недопустим

Сообщить(х);

конецПроцедуры // Выполнить

Второй вариант процедуры Выполнить:

процедура Выполнить()

перем х; // Объявляем переменную х

ОпределитьХ(х); // Теперь этот вызов возможен

Сообщить(х); // Напечатает 2

конецПроцедуры // Выполнить

  • По ходу выполнения программы одна и та же переменная может менять свой тип.

Например:

перем а; // Объявляем скалярные переменные а

а = 1 . 2 2 ; // Теперь переменная а имеет числовой тип

Сообщить(а); // Напечатает 1.22

а = "Это строка"; // Теперь переменная а имеет символьный тип

Сообщить(а); // Напечатает «Это строка»

а = '24.12.01' // Теперь переменная а имеет тип Дата

Сообщить(а); // Напечатает 24.12.01