Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 сен 2025, 11:13

Решение задач

Автор PopoFF, 05 сен 2025, 21:32

0 Пользователей и 1 гость просматривают эту тему.

PopoFF

Приветствую участников форума!
Прошу опытных программистов посмотреть решение задачи. Верно ли решение? Есть ли более оптимальное решение?

//Дано: "12,16,30,5,6" Найти: среднее число попугаев в одной клетке.
   
   
   //Решение

   СтрокаЧисел = "12,16,30,5,6";
   СуммаЧисел = 0;
   МассивЧисел = СтрРазделить(СтрокаЧисел, ",");
   
   Для каждого Элемент Из МассивЧисел  Цикл
      СуммаЧисел = СуммаЧисел + Элемент;
      СреднееЧисло = СуммаЧисел / МассивЧисел.Количество();
   КонецЦикла;
   
   Сообщить("Среднее число попугаев в одной клетке: " + Окр(СреднееЧисло));

Optiman

А вообще ЭТО работает?
МассивЧисел = СтрРазделить(СтрокаЧисел, ",");
Возвращает массив, где элементы - строковый тип "12", "16" и т.д.
В первой итерации цикла СуммаЧисел = СуммаЧисел + Элемент; - к 0 прибавляется строковый тип "12". Должно выкидывать ошибку несоответствия типов в операции.

PopoFF


antoneus

Среднее надо вычислять после цикла (с проверкой количества на 0).

Optiman, ошибку выкинет, если к числу попытаться прибавить то, что в число преобразовать нельзя, например "абв" или неопределено какое-нибудь.

sali


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск