SomonScriptDocsОбъекты и массивы
Глава 7 • Объекты и массивы

Объекты и массивы в SomonScript

Массивы используются для хранения списков значений, а объекты - для хранения сложных данных. Здесь мы посмотрим, как создать простой список и массив объектов.

1. Простой массив с именами

Сначала создадим простой список имён и по очереди выведем их на экран. Этот пример показывает ученикам, что индексы начинаются с 0.

Список учеников

Простой массив и цикл барои для вывода всех имён.

example.som
// Список имён учеников
тағ номҳо: сатр[] = ["Аҳмад", "Фотима", "Ҳасан"]; 

// Вывод списка на экран
чоп.сабт("=== Рӯйхати донишҷӯён ===");
барои (тағйирёбанда и: рақам = 0; и < номҳо.дарозӣ; и++) {
  чоп.сабт(номҳо[и]);
}
terminal
somon run objects-basic.som
=== Рӯйхати донишҷӯён ===
Аҳмад
Фотима
Ҳасан

2. Массив объектов и средний балл

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

Массив объектов учеников

Использование массива объектов для хранения данных класса и вычисления среднего балла.

example.som
// Список объектов учеников
тағ донишҷӯён: объект[] = [
  { ном: "Аҳмад", синну_сол: 20, бахо: 4.5 },
  { ном: "Фотима", синну_сол: 19, бахо: 4.8 },
  { ном: "Ҳасан", синну_сол: 21, бахо: 4.2 }
];

// Вывод списка и вычисление среднего балла
чоп.сабт("=== Рӯйхати донишҷӯён ===");
тағ ҷамъи_бахоҳо: рақам = 0;
барои (тағ и: рақам = 0; и < донишҷӯён.дарозӣ; и++) {
  тағ д: объект = донишҷӯён[и];
  чоп.сабт(д.ном + " (" + д.синну_сол + " сол) - Бахо: " + д.бахо);
  ҷамъи_бахоҳо = ҷамъи_бахоҳо + д.бахо;
}

тағ миёна: рақам = ҷамъи_бахоҳо / донишҷӯён.дарозӣ;
чоп.сабт("Миёнаи бахо: " + миёна);
terminal
somon run objects-students.som
=== Рӯйхати донишҷӯён ===
Аҳмад (20 сол) - Бахо: 4.5
Фотима (19 сол) - Бахо: 4.8
Ҳасан (21 сол) - Бахо: 4.2
Миёнаи бахо: 4.5

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

Эти упражнения закрепляют тему объектов и массивов.

  1. Создайте массив из 10 случайных чисел и найдите среди них наибольшее и наименьшее.
  2. Создайте объект для автомобиля со свойствами и методами (завести, остановиться, ускориться) и используйте его несколько раз.
  3. Создайте список учеников с именами и оценками и выведите на экран учеников с оценкой выше 4.5.