Показать сообщение отдельно
  #1  
Старый 29.04.2010, 20:08
demda demda вне форума
Прохожий
 
Регистрация: 29.04.2010
Сообщения: 3
Репутация: 10
По умолчанию нужна помощь по делфи

всем доброго вечера, у меня следующая проблема, не кодил на делфе уже года 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 числе добваить сумму остатков. Ну и потому же принципу остальные два типа: Вписываем подряд максимально возможноые числа по порядку до тех пор, пока сумма не будет равнятся нужной сумме, и в третьем то же самое, только с конца.
Совсем забыл делфи, очень прошу помощи. Надо очень срочно(
Ответить с цитированием