|
|
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Добрый день, не могу решить никак задачу. Имеется средний балл 9,5. Числа этого среднего балла 9 и 10 ((9+10)/2)). Нужно чтобы средний балл составил 9,8. для этого нужно три десятки ((9+10+10+10+10))/5) так нужно написать программу, которая вычисляет какие нужно числа для повышения и их количество. Знаю идею, но никак не могу разобраться с циклом WHILE. Кто захочет помочь, можете написать на любом языке (VBA, Pascal....) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 18:04 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Кой ещё While, мать моя кошка... Берётся старый набор из N0 значений, дающий средний балл A0. Чтобы получить средний балл A1 добавляем k десяток: A1 = (A0 * N0 + 10 * k)/(N0 + k), A1(N0 + k) = (A0 * N0 + 10 * k), k = (A1 - A0) * N0 / (10 - A1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 20:07 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
MrCat, Неужели тут даже for не надо? Для считывания количества k? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 20:28 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Roken, Извиняюсь да тут больше ничего не надо. Но вы рассмотрели тут случай при добавлении только десяток, ну а если будет необходимость добавления девяток или восьмёрок, то тут понадобиться цикл, не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 20:33 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. набрал всё как у вас cells(23,2) = средний балл текущий cells(23,3) = кол-во оценок текущее Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 20:47 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Ладно, общий случай чуть сложнее. Рассмотрим на примере. Пусть нужно из 9,5 = (9, 10) получить 9,7. Средний балл получается из рациональной дроби. Попытаемся получить её верх - целое число. 9,7 =97/10. Эта дробь неприводима, потому для получения балла 9,7 нужно как минимум 10 оценок. У нас есть 2 оценки, следовательно добавить придётся 8. У нас уже есть 19 баллов, следовательно получить надо 78. 78/8 это 9,75. Ceil(9,75) = 10. 10 * 8 = 80. Если мы добавим 8 десяток, то получим 80 - 78 = 2 лишних балла, которые надо раскидать между этими 8-ю десятками. Например, добавить 7 десяток и одну восьмёрку. Или 6 десяток и две девятки. Ферштейн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 20:54 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
И да, ещё один момент. Если полученного минимального количества оценок недостаточно, можно использовать Ceil(k), полученного по формуле из первого комментария. Т.е. нужно получить такое представление дроби, чтобы в знаменателе было число >=, чем Ceil(k) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 21:01 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Roken, 9.8 это девять целых и восемь десятых. Или: Эх ты... троешник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 21:13 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
Тьху... латекс глюканул. Вобщем добавь столько дробей сколько нужно справа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 21:14 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
MrCat, Да, согласен, только напишите мне пожалуйста код, потому что по тому который написал в Vba выбивает ошибку. С остальными мелочами я сам разберусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2016, 21:36 |
|
||
|
Увеличивание среднего балла
|
|||
|---|---|---|---|
|
#18+
MrCat, Но можно рассмотреть ещё один вариант, который наиболее легче 9. Это как Вы написали 98/10 или 49/5, так как это сократимая дробь. То есть мне нужно получить ещё три десятки, чтобы чисел стало пять и сумма у меня тогда как раз будет 49. Я к чему это, что если дробь сократима, то её нужно будет сокращать по максимуму, чтобы дописать чисел как можно меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2016, 07:07 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1340704]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 542ms |

| 0 / 0 |
