Войти

Показать полную графическую версию : [решено] Перевод с Pascal на C++


sleepking89
13-02-2013, 08:56
Народ трабл с переводом...

Program LAB3_4;
Var x,f,eps,a,n:real;
Begin
Write('Введите значение аргумента: x = ');
Readln(x);
Write('Введите значение точности: eps = ');
Readln(eps);
f:=x;
A:=x;
n:=3;
repeat a:=(-a)*x*x*(n-2)/n;
f:=f+a;
n:=n+2;
until abs(a)<eps;
Writeln('Арктангенс Х: ',f);
Writeln('Контрольное значение вычисленной функции: ',arctan(x));
End.

Tonny_Bennet
13-02-2013, 09:20
sleepking89, и в чём трабл? Вы понимаете как работает эта программа? Что делает каждый оператор?

Drongo
15-02-2013, 16:28
Не уверен что правильно переведу, но попробую.

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <math.h>

int main()
{
int x, f, esp, a, n;

cout << "Введите значение аргумента Х = ";
cin >> x;
cout << "Введите значение агрумента точности esp = ";
cin >> esp;

f = x;
a = esp;
n = 3;

do{
a = (-a) * x * x * (n - 2) / n;
f += a;
n += 2;
} while(abs(a) < eps);

cout << "Арктангенс Х = " << f << endl;
cout << "Контрольное значение вычисленной функции = " << arctan(x) << endl;
cin >> a;
return 0;
}

p.s. Не проверял тригонометрические функции, это вы уже сами.

novashdima
16-02-2013, 04:32
using std::cout;
using std::cin;
using std::endl; »
Вместо этого лучше написать:
using namespace std;
еще у него переменные типа real, а вы написали int, и еще парочка замечаний, так что конечный вариант будет примерно таким(имхо):

#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;

int main()
{
float x, f, esp, a, n;

cout << "Введите значение аргумента Х = ";
cin >> x;
cout << "Введите значение агрумента точности esp = ";
cin >> esp;

f = x;
a = esp;
n = 3;

do{
a = (-a) * x * x * (n - 2) / n;
f += a;
n += 2;
} while(abs(a) < eps);

cout << "Арктангенс Х = " << f << endl;
cout << "Контрольное значение вычисленной функции = " << arctg(x) << endl;
getch();
return 0;
}




© OSzone.net 2001-2012