Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 июн 2024, 10:18

Как посчитать средний балл?

Автор EvgeniyaJ, 28 мар 2019, 18:47

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

EvgeniyaJ

Нужно посчитать средний балл аттестата. Чтобы после того как мы вписали кол-во 3,4 и 5, автоматически в поле средний балл записывался результат. То есть, если допустим, троек - 10, четверок -5, и пятёрок - 10, нужно соответственно 3*10, 4*5, 5*10, затем это все сложить. И потом все это делится на кол-во оценок, то есть на 25. Как это можно реализовать?

LexaK

так и пишите
СреднийБалл = (3 * Реквизит3 + 4 * Реквизит4 + 5 * Реквизит5 ) / ( Реквизит3 + Реквизит4 + Реквизит5);

Реквизит3
Реквизит4 - как там у вас реквизиты называются, свои подставьте

да и общее количество на ноль (0) проверьте, а то получите деление на 0
если помогло нажмите: Спасибо!

AIFrame

Делать не полями ввода, а таблицей значений.
Строки автоматически заполнять из предопределенного или управляемого списка (отдельный справочник)
Темп = ТЧ.Скопировать();
Отбор = Новый Структура("Балл", 0)
МассивНулевых = Темп.НайтиСтроки(Отбор)
Для каждого СтрокаНоль ИЗ МассивНулевых Цикл
    Темп.Удалить(СтрокаНоль)
КонецЦикла;
СредняяНаФорме = (Темп.Количество() > 0, Темп.Итог("Балл") / Темп.Количество(), 0);

EvgeniyaJ

Цитата: LexaK от 28 мар 2019, 18:56да и общее количество на ноль (0) проверьте, а то получите деление на 0

Цитата: LexaK от 28 мар 2019, 18:56
так и пишите
СреднийБалл = (3 * Реквизит3 + 4 * Реквизит4 + 5 * Реквизит5 ) / ( Реквизит3 + Реквизит4 + Реквизит5);

Реквизит3
Реквизит4 - как там у вас реквизиты называются, свои подставьте

да и общее количество на ноль (0) проверьте, а то получите деление на 0
А как проверить общее кол-во на ноль?
Добавлено: 29 мар 2019, 15:53


Цитата: LexaK от 28 мар 2019, 18:56
так и пишите
СреднийБалл = (3 * Реквизит3 + 4 * Реквизит4 + 5 * Реквизит5 ) / ( Реквизит3 + Реквизит4 + Реквизит5);

Реквизит3
Реквизит4 - как там у вас реквизиты называются, свои подставьте

да и общее количество на ноль (0) проверьте, а то получите деление на 0

Объект.СреднийБалл = (3*Объект.КолВо3 + 4*Объект.КолВо4 + 5*Объект.КолВо5)/
(Объект.КолВо3 + Объект.КолВо4 + Объект.КолВо5);

Пишу это в модуль формы выдает ошибку, как исправить? И ещё вопрос, это можно просто в модуле формы записать, или нужно создавать процедуру?

Теги:

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

Рейтинг@Mail.ru

Поиск