Программа Pascal Классы ООП

Компьютеры программирование pascal ООП

Нужно создать класс, который решает квадратные уравнения (коэффициенты внутри класса и методы для исчисления дискриминанта). Это что-то из Объектно-ориентированного программирования.
А вот обычная программа, которая решает квадратные уравнения:

program Quadratic;

var
A,B,C,D: integer;

begin
write('A = ');
readln(A);
if (A=0) then
begin
writeln('Not a quadratic equation.');
halt;
end;
write('B = ');
readln(B);
write('C = ');
readln(C);
D := B*B-4*A*C;
if (D=0) then
begin
writeln('x = ',-B/2.0/A);
halt;
end;
if (D>0) then
begin
writeln('x1 = ',(-B+Sqrt(D))/2.0/A);
writeln('x2 = ',(-B-Sqrt(D))/2.0/A);
end
else
begin
writeln('x1 = (',-B/2.0/A,',',Sqrt(-D)/2.0/A,')');
writeln('x2 = (',-B/2.0/A,',',-Sqrt(-D)/2.0/A,')');
end;
end.

Помогите переделать эту программу под ООП?
Ответы:
помоги себе сам, братюнь
Чем переделывать, лучше с нуля писать.
И да, ООП-программы на пасквиле - гиблое дело.
Но если всё же надо:
Заводишь класс с тремя вещественными полями a, b, c. Желательно предусмотреть конструктор, принимающий их значения.
И заводишь в нём функцию d, которая возвращает sqr(b) - 4 * a * c.
А также можно процедуру getRoots, принимающую по ссылке (var) два вещественных параметра x1 и x2, и присваивающую x1 := (-b - sqrt(d)) / 2 / a, x2 := (-b + sqrt(d)) / 2 / a.
Если нужны и комплексные корни, пишешь класс Complex и процедуру getComplexRoots которая принимает уже параметры соотв. класса.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.