Вопрос № 78283: Люди плиз хелп ми... задачу нужно сделать на Паскале используя ООП а я совсем не разбираюсь в этом, собсно вот условие, если кому не трудно...
Заданы 2 уравнения. Требуется найти общую переменную с мини-
мальным номером, и, если она есть...
Вопрос № 78.283
Люди плиз хелп ми... задачу нужно сделать на Паскале используя ООП а я совсем не разбираюсь в этом, собсно вот условие, если кому не трудно...
Заданы 2 уравнения. Требуется найти общую переменную с мини-
мальным номером, и, если она есть, исключить ее из второго
уравнения. При этом второе уравнение должно измениться, чтобы
система из 2 уравнений осталась эквивалентной заданной.
Если при изменении второго уравнения один из его коэффи-
циентов оказывается равным 0, то этот элемент надо из списка
исключить. Если после таких исключений второе уравнение будет
иметь вид 0=a (или 0=0), то об этом должна выдаваться поясня-
ющая информация.
Отправлен: 14.03.2007, 18:12
Вопрос задал: Вадик (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Verena
Здравствуйте, Вадик!
Насколько я понимаю, Вы не знаете, как воспользоваться ООП в данной задаче, поэтому в приложении описан объект - динамический список коэффициентов уравнения, и несколько его методов - инициализация списка (присвоение его олям начальных значений), добавление элемента в конец списка (по заданному коэффициенту), удаление элемента по его индексу (индексы последующих элементов я не меняю, поскольку здесь они, видимо, будут обозначать индексы переменных уравнения, т.е. х1, х2 и т.п., а индексы переменных меняться
не могут). По аналогии Вы сможете добавить сюда свои методы, необходимые для решения этой конкретной задачи.
Поля first и kol объявлены после директивы private, они будут доступны только в том модуле, в котором объявлен тип, а в модулях, использующих его поля будут закрыты для прямого доступа. Это обычно делается для обеспечения большей безопасности программе (например, если в основной программе поменять количество элементов или ссылку на первый элемент без других соответствующих изменений, то появится ошибка, а так предполагается, что вся работа со списком будет происходить при помощи методов объекта).
В Вашей задаче надо будет создать два представителя объекта TList (это делается так: Var ur1, ur2: TList), вызвать процедуру инициализации для каждого, внести входные данные в каждый из списков (для каждого уравнения свой) с помощью последовательного добавления элементов в конец списка. А далее действовать в соответствии с задачей, выполнять необходимые действия можно как в самой программе, так и в составе методов объекта.
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 6-ой класс)
Ответ отправлен: 14.03.2007, 21:35 Оценка за ответ: 5 Комментарий оценки: Больше спасибо за подробное разъяснение! Весьма благодарен! )