*************** Простые примеры *************** .. contents:: Содержание: :depth: 2 Пример: Базовая арифметика и присваивание ========================================= Этот пример демонстрирует использование арифметических операторов (``+``, ``-``, ``*``, ``/``) и оператора присваивания (``:=``). .. code-table:: PROGRAM SimpleArithmetic VAR a : INT := 10; b : INT := 5; result_add : INT; result_sub : INT; result_mul : INT; result_div : REAL; END_VAR result_add := a + b; // Сложение: 10 + 5 = 15 result_sub := a - b; // Вычитание: 10 - 5 = 5 result_mul := a * b; // Умножение: 10 * 5 = 50 result_div := a / b; // Деление: 10 / 5 = 2.0 END_PROGRAM Пример: Логические операции =========================== Этот пример показывает использование логических операторов (``AND``, ``OR``, ``XOR``, ``NOT``). .. code-table:: PROGRAM SimpleLogic VAR input1 : BOOL := TRUE; input2 : BOOL := FALSE; result_and : BOOL; result_or : BOOL; result_xor : BOOL; result_not : BOOL; END_VAR result_and := input1 AND input2; // TRUE AND FALSE = FALSE result_or := input1 OR input2; // TRUE OR FALSE = TRUE result_xor := input1 XOR input2; // TRUE XOR FALSE = TRUE result_not := NOT input1; // NOT TRUE = FALSE END_PROGRAM Пример: Операции сравнения ========================== Этот пример иллюстрирует использование операторов сравнения (``=``, ``<>``, ``<``, ``>``, ``<=``, ``>=``). .. code-table:: PROGRAM SimpleComparison VAR x : INT := 10; y : INT := 20; is_equal : BOOL; is_less : BOOL; is_greater_or_equal : BOOL; END_VAR is_equal := (x = y); // 10 = 20 -> FALSE is_less := (x < y); // 10 < 20 -> TRUE is_greater_or_equal := (x >= y); // 10 >= 20 -> FALSE END_PROGRAM Пример: Условный оператор IF ============================ Этот пример показывает использование условного оператора ``IF``. .. code-table:: PROGRAM SimpleIf VAR value : INT := 50; output : BOOL; END_VAR IF value > 25 THEN output := TRUE; ELSE output := FALSE; END_IF; END_PROGRAM Пример: Цикл FOR ================ Этот пример демонстрирует использование цикла ``FOR``. .. code-table:: PROGRAM SimpleFor VAR i : INT; sum : INT := 0; END_VAR FOR i := 1 TO 10 BY 1 DO sum := sum + i; END_FOR; // sum = 55 (сумма чисел от 1 до 10) END_PROGRAM Пример: Преобразование типов ============================ Этот пример показывает использование функций преобразования типов. .. code-table:: PROGRAM SimpleConversion VAR int_val : INT := 42; real_val : REAL; bool_val : BOOL := TRUE; time_val : TIME := T#5s; dint_from_time : DINT; END_VAR // Преобразование INT в REAL real_val := INT_TO_REAL(int_val); // real_val = 42.0 // Преобразование BOOL в INT int_val := BOOL_TO_INT(bool_val); // int_val = 1 // Преобразование TIME в DINT dint_from_time := TIME_TO_DINT(time_val); // dint_from_time = 5000 END_PROGRAM Пример: Использование функции ============================= Этот пример показывает создание и использование собственной функции. .. code-table:: PROGRAM UseFunction VAR a : REAL := 10.0; b : REAL := 20.0; c : REAL := 30.0; result : REAL; END_VAR result := CalculateAverage(a, b, c); END_PROGRAM FUNCTION CalculateAverage : REAL VAR_INPUT value1 : REAL; value2 : REAL; value3 : REAL; END_VAR VAR_TEMP sum : REAL; END_VAR sum := value1 + value2 + value3; CalculateAverage := sum / 3.0; END_FUNCTION .. seealso:: * :doc:`operators` - для изучения операторов. * :doc:`math` - для изучения математических функций. * :doc:`conversion` - для изучения функций преобразования.