Вычислить значение функции - Pascal (81049)
Формулировка задачи:
Парабола у =(x-A)^2+B. Поле first — вещественное число - коэффициент А; поле second — вещественное число, коэффициент В. Реализовать метод function()— вычисление для заданного х значения функции у.
Необходимо сделать на С++ и на Паскале. Если на С++ я легко все сделал, то на паскаля я даже представить ен могу, как работают классы. Может кто подсказать, показать и объяснить? Читал кучу статей и так ни чего и не понял. заранее благодарю)
Код на С+ прилагаю.
#include "stdafx.h"
#include <iostream>
using namespace std;
class funct
{
double first, second;
public:
void put (double x, double y)
{
first=x;
second=y;
}
double getfirst()
{
return first;
}
double getsecond()
{
return second;
}
double function(int a)
{
return pow((a-first),2)+second;
}
};
int main()
{
setlocale(LC_ALL,"Rus");
int a;
cout<<"Введите Х: ";
cin>>a;
funct z;
z.put(10,2);
cout<<"y("<<a<<")="<<z.function(a)<<endl;
system("pause");
return 0;
}Решение задачи: «Вычислить значение функции»
textual
Листинг программы
type
Func = class
private
first: real;
second: real;
public
constructor(a: real; b: real);
procedure Print(x: integer);
end;
//----------------- Func -------------------
constructor Func.Create(a: real; b: real);
begin
first := a;second := b;
end;
var
y: real;
procedure Func.Print(x: integer);
begin
y := power((x-first),2)+second;
writeln('A= ', first, ' B= ', second, ' y(', x, ')=', y);
end;
var
z: Func;
a: integer;
begin
write('Введите А: ');
read(a);
z := new Func(10, 2);
z.Print(a);
end.
Объяснение кода листинга программы
- Создается новый экземпляр класса Func с параметрами 10 и 2.
- Переменная y инициализируется результатом вычисления y(x) = (x-10)^2 + 2.
- Выводится значение y.
- Задается вопрос пользователю о вводе значения переменной a.
- Значение a считывается из ввода пользователя.
- Вызывается метод Print экземпляра класса Func с аргументом a.
- Вычисляется значение y(a) и выводится на экран.