[Alimir_BootModal_Login]

Внутренний язык программирования 1С 8.3 для начинающих программистов: условная команда в 1С

Автор уроков и преподаватель школы: Владимир Милькин

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

В этом уроке мы разберемся зачем эти логические выражения вообще нужны и научимся применять их на практике.

А понадобятся они нам при изучении новой команды языка программирования 1С, которая называется Условная команда.

Условная команда

Если коротко, то правила и суть этой команды можно представить так:

УсловнаяКоманда

Более подробно:

  1. Частью условной команды являются следующие три слова: Если, Тогда и КонецЕсли.
  2. Между словами Если и Тогда всегда находится некоторое логическое выражение, которое принимает значение Истина или Ложь (логические выражения уже должны быть вам понятны по предыдущим урокам, если это не так - изучите их повторно).
  3. Между словами Тогда и КонецЕсли может находиться любое количество команд компьютеру (например Сообщить, ВвестиЧисло, ОткрытьЗначение и другие).
  4. И, наконец, самое главное: команды компьютеру, заключенные между словами Тогда и КонецЕсли выполняются только в том случае, если логическое выражение, заключенное между Если и Тогда принимает значение Истина.

И если раньше: сколько мы написали команд - столько и выполнилось, то, с появлением условной команды, это оказывается не так. Теперь мы можем составлять условия для выполнения тех или иных команд компьютеру. Проявите терпение, скоро всё прояснится. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.

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

Пример №1.

ЧислоОтПользователя = 0;
ВвестиЧисло(ЧислоОтПользователя);
Если (ЧислоОтПользователя < 0) Тогда
  ОткрытьЗначение("Вы ввели отрицательное число.");
КонецЕсли;

Что делает этот код?

  1. Попытайтесь разобраться сами.
  2. Затем вставьте его в свою программу и попробуйте выполнить, вводя то положительные, то отрицательные числа.
  3. И, наконец, загляните в объяснение, чтобы узнать - верно ли вы догадались.
Объяснение

Пример №2.

ИмяПользователя = "";
ВвестиСтроку(ИмяПользователя);
Если (ИмяПользователя = "Александр") Тогда
  ОткрытьЗначение("Вас зовут Александр!");
КонецЕсли;

В этом примере мы вводим имя пользователя и, если оно равно "Александр", то выводим сообщение "Вас зовут Александр!".

Пример №3.

ИмяПользователя = "";
ВвестиСтроку(ИмяПользователя);
Если (ИмяПользователя <> "Александр") Тогда
  ОткрытьЗначение("Ваше имя точно не Александр!");
  ОткрытьЗначение("На самом деле, вас зовут " + ИмяПользователя);
КонецЕсли;

В этом примере мы вводим имя пользователя и, если оно не равно "Александр", то выводим сообщение "Ваше имя точно не Александр!" и следом выводим настоящее имя пользователя.

Не правда ли здорово!? Вот так потихоньку мы научили компьютер не просто складывать и умножать. Мы дали возможность ему "думать" и принимать решения. Это, конечно, ещё не искусственный интеллект, но всё же :)

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

Пример №4.

ЧислоОтПользователя = 0;
ВвестиЧисло(ЧислоОтПользователя);
Если (ЧислоОтПользователя > 0) И (ЧислоОтПользователя < 10) Тогда
  ОткрытьЗначение("Вы ввели число между 0 и 10.");
КонецЕсли;

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

Таким образом, сообщение "Вы ввели число между 0 и 10." будет выведено пользователю тогда и только тогда, когда введенное число одновременно и больше нуля и меньше десяти.

Расширенная форма условной команды

УсловнаяКомандаРасширеннаяФорма

Разберём расширенную форму условной команды на примере.

Пример №5.

ЧислоОтПользователя = 0;
ВвестиЧисло(ЧислоОтПользователя);
Если (ЧислоОтПользователя >= 0) Тогда
  ОткрытьЗначение("Вы ввели положительное число.");
Иначе
  ОткрытьЗначение("Вы ввели отрицательное число.");
КонецЕсли;

Пользователь вводит число. И в случае, если введенное значение больше или равно нулю, программа выводит строку "Вы ввели положительное число", иначе "Вы ввели отрицательное число".

Запустите этот пример на компьютере несколько раз. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Вводите то положительные, то отрицательные значения. Как видите, компьютер прекрасно справляется с задачей определения знака введенного числа. И всё это благодаря использованию нами логических выражений!

А теперь пройдите тест по примеру №5, описанному выше:

Начать тест

Домашние задания

Задание №18. Напишите программу, которая вводит от пользователя два числа.  Если первое число больше или равно второго, то выводит "Первое число больше или равно второму", иначе "Второе число больше первого".

Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся