Вопрос № 78317: у меня еще одна задачка, рассчитываю на вашу помощь...
вот собственно условие:
Заданы список уравнений и массив из N значений переменных.
Требуется посчитать невязку (т.е. максимум среди модулей разности между фактическим и требуемым знач...
Вопрос № 78.317
у меня еще одна задачка, рассчитываю на вашу помощь...
вот собственно условие:
Заданы список уравнений и массив из N значений переменных.
Требуется посчитать невязку (т.е. максимум среди модулей разности между фактическим и требуемым значениями уравнений).
Отправлен: 14.03.2007, 22:21
Вопрос задал: Вадик (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Verena
Здравствуйте, Вадик!
Продолжая тему вопроса № 78283... Там был объявлен объект-список, дополним его полем otv, содержащим требуемое значение уравнения функцией Neviazka, которая будет вычислять модуль разности между фактическим и требуемым значениями уравнений. Теперь опишем ещё один объект, который будет представлять собой список уравнений. В нём введём деструктор и конструктор (стандартные названия Init и Done). В теле конструктора (деструктора) можно писать любые действия, как правило, это инициализация каких-либо переменных
(удаление переменных). При использовании динамической памяти по отношению к объектам нужно будет писать, например, так (если p имеет тип ^Eq) p:=new (TEq, Init) и dispose (p, Done). Для примера пишу конструктор.
О задаче. Описываем список уравнений как var p: sp1. В объект TEq стоит добавить метод добавления элемента. Создадим список уравнений, зададим каждое из уравнений. Создаём массив из стольких же элементов, сколько уравнений задано, вызываем для каждого из элементов списка (т.е. уравнению) функцию Neviazka и запоминаем в массиве каждое из значений. Потом просто ищем максимум в массиве, это и будет ответом.
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 6-ой класс)
Ответ отправлен: 15.03.2007, 21:38 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо, ответы очень пояснительные... буду разбирать! )