всем доброго вечера, у меня следующая проблема, не кодил на делфе уже года 2, если не больше, а тут очень срочная нужна написать небольшую функцию. Логическое написание простое, это я сделал на другом языке, но надо именно на делфи. Помогите пожалуйста, кто может )
Задание такое:
Код HTML:
Требуется:
Необходимо реализовать функцию, выполняющую распределение указанной суммы с учетом типа распределения. Если способ распределения - пропорционально, то распределять сумму пропорционально суммам, остаток от округления добавить к последней сумме, чтобы общая сумма совпала. Если в счет первых, то распределять на всю сумму по порядку. Если в счет последних, то распределять на всю сумму в обратном порядке.
В задании использовать округление до копеек.
Входные параметры:
• Тип распределения – признак: «ПРОП», «ПЕРВ», «ПОСЛ»;
• Сумма - дробное число (точность – 2 знака после разделителя), распределяемая сумма;
• Суммы - строка, список сумм через «;» в соответствии с которыми распределяется сумма;
Выходной параметр: строка, список распределенных сумм через «;».
Пример:
Вход:
Тип распределения - пропорционально (ПРОП)
Сумма - 10000
Суммы - 1000;2000;3000;5000;8000;5000
Выход: 416.67;833.33;1250;2083.33;3333.33;2083.34
Вход:
Тип распределения - в счет первых (ПЕРВ)
Сумма - 10000
Суммы - 1000;2000;3000;5000;8000;5000
Выход: 1000;2000;3000;4000;0;0
Вход:
Тип распределения - в счет последних (ПОСЛ)
Сумма - 10000
Суммы - 1000;2000;3000;5000;8000;5000
Выход: 0;0;0;0;5000;5000
Требования к решению
Возможные языки: любые .NET, Delphi.
логически все легко понимаемо, если один тип ПРОП, то суммируем числа, сумму делим на нужную сумму, получаем коэфицент и каждое число делим на него по отдельности, округляя до 2 знака и апоминая остаток, на 6 числе добваить сумму остатков. Ну и потому же принципу остальные два типа: Вписываем подряд максимально возможноые числа по порядку до тех пор, пока сумма не будет равнятся нужной сумме, и в третьем то же самое, только с конца.
Совсем забыл делфи, очень прошу помощи. Надо очень срочно(