Глава 3 • Типы данных
Типы данных в SomonScript
Тип (type) показывает, какое значение может хранить переменная: строку, число, логическое значение и так далее. Понимать типы очень важно, чтобы избегать ошибок и писать понятный код.
1. Примитивные типы (сатр, рақам, мантиқӣ)
Самые распространённые типы в SomonScript: сатр (текст), рақам (число) и мантиқӣ (истина/ложь).
Основные типы переменных
Простой пример с типами сатр, рақам и мантиқӣ для краткого профиля ученика.
example.som
// Примитивные типы: сатр, рақам, мантиқӣ
тағ ном: сатр = "Аҳмад";
тағ синну_сол: рақам = 16;
тағ донишҷӯ_аст: мантиқӣ = дуруст;
// Вывод значений на экран
чоп.сабт("Ном: " + ном);
чоп.сабт("Синну сол: " + синну_сол);
чоп.сабт("Донишҷӯ аст:", донишҷӯ_аст);terminal
somon run types-basic.som
Ном: Аҳмад
Синну сол: 16
Донишҷӯ аст: дуруст2. Пример посложнее: массив и объект
Составные типы, такие как массив (например, рақам[]) и объект, позволяют хранить несколько значений вместе. В примере ниже мы описываем данные студента с помощью этих типов.
Массив и объект для студента
Например, хранение данных студента с помощью разных типов: сатр, рақам, мантиқӣ, массив.
example.som
// Данные студента разных типов
собит НОМИ_ДОНИШГОҲ: сатр = "Донишгоҳи миллии Тоҷикистон";
// Объект с данными студента
тағ донишҷӯ: объект = {
ном: "Аҳмад",
синну_сол: 20,
фаъол_аст: дуруст,
бахоҳо: [5, 4, 5, 5, 4] // массив чисел
};
// Вывод данных на экран
чоп.сабт("=== " + НОМИ_ДОНИШГОҲ + " ===");
чоп.сабт("Донишҷӯ: " + донишҷӯ.ном);
чоп.сабт("Синну сол: " + донишҷӯ.синну_сол);
// Вычисление среднего балла
тағ ҷамъи_бахоҳо: рақам = 0;
барои (тағ и: рақам = 0; и < донишҷӯ.бахоҳо.дарозӣ; и++) {
ҷамъи_бахоҳо = ҷамъи_бахоҳо + донишҷӯ.бахоҳо[и];
}
тағ миёнаи_бахо: рақам = ҷамъи_бахоҳо / донишҷӯ.бахоҳо.дарозӣ;
чоп.сабт("Миёнаи бахоҳо: " + миёнаи_бахо);terminal
somon run types-student.som
=== Донишгоҳи миллии Тоҷикистон ===
Донишҷӯ: Аҳмад
Синну сол: 20
Миёнаи бахоҳо: 4.63. Упражнения
Эти упражнения помогают закрепить тему типов.
- Создайте массив из 5 ваших любимых чисел и выведите их на экран по одному.
- Создайте объект для книги со свойствами ном, муаллиф, соли_нашр и саҳифаҳо и выведите его на экран.
- Создайте два массива чисел, вычислите сумму всех их элементов и выведите результат на экран.