SomonScriptDocsФункции
Глава 6 • Функции

Функции в SomonScript

Функция - это именованный блок кода, который выполняет определённую задачу. С помощью функций можно написать код один раз и использовать его много раз.

1. Простой пример: функция приветствия

В примере ниже мы создаём функцию, которая составляет приветствие и выводит его на экран. Учитель может сначала показать только часть салом(), а затем вызвать функцию несколько раз.

Функция приветствия

Функция принимает имя и возраст в качестве параметров и составляет личное сообщение.

example.som
// Объявление функции, которая составляет приветствие
функсия салом(ном: сатр, синну_сол: рақам) {
  // Вывод сообщения с именем и возрастом
  чоп.сабт("Салом, " + ном + "! Ту " + синну_сол + " сола ҳастӣ.");
}

// Вызов функции с двумя аргументами
салом("Аҳмад", 15);
салом("Фотима", 14);
terminal
somon run functions.som
Салом, Аҳмад! Ту 15 сола ҳастӣ.
Салом, Фотима! Ту 14 сола ҳастӣ.

2. Пример посложнее: функция, которая возвращает значение

До сих пор функции только выводили текст. Теперь посмотрим, как функция может вернуть результат, чтобы мы использовали его в другом месте.

Вычисление площади прямоугольника

Функция с двумя параметрами (длина и ширина), которая возвращает площадь.

example.som
// Функция, которая вычисляет площадь прямоугольника
функсия масоҳати_росткунҷа(дарозӣ: рақам, паҳнӣ: рақам): рақам {
  // Вычисление площади
  тағ натиҷа: рақам = дарозӣ * паҳнӣ;
  // Возврат результата в место вызова
  бозгашт натиҷа;
}

// Использование функции и вывод результата
тағ а: рақам = масоҳати_росткунҷа(5, 3);
чоп.сабт("Масоҳат: " + а);
terminal
somon run area.som
Масоҳат: 15

3. Упражнения

Упражнения для закрепления темы. Их можно выполнять в группах или как домашнее задание.

  1. Создайте функцию, которая принимает имя ученика и его средний балл и выводит сообщение «Вы сдали» или «Вы не сдали».
  2. Напишите функцию секарата, которая принимает число и возвращает его куб.
  3. Создайте функцию, которая принимает возраст и возвращает «взрослый» или «несовершеннолетний».