Перевести код на C# с Pascal
Формулировка задачи:
program sin_teilor;
var x,stx,sint,e: real;
i,fakt,z: integer;
Begin
Write('Введите x: ');
Readln(x);
Write('Введите точность e: ');
Readln(e);
stx:= x; {x в степени}
fakt:= 1; {значение факториала в знаменателе}
sint:= 0; {первый элемент в разложении}
i:= 1; {счётчик}
z:= 1; {знак элемента}
while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности}
sint:=sint+z*stx/fakt;
inc(i,2);
stx:=stx*x*x;
fakt:=fakt*(i-1)*i;
z:=z*(-1); {смена знака}
end;
Writeln('Количество элементов в разложении = ',i div 2);
Writeln('Значение sin(',x:6:6,')= ',sint:6:6);
Writeln('Значение компьютера: ',sin(x):6:6);
Readln;
End.Решение задачи: «Перевести код на C# с Pascal»
textual
Листинг программы
using System;
class sin_teilor
{
static void Main(string[] args)
{
Console.Write("Введите x: ");
double x = double.Parse(Console.ReadLine());
Console.WriteLine("Введите точность e: ");
double e = double.Parse(Console.ReadLine());
double stx = x; // x в степени
int fakt = 1; // значение факториала в знаменателе
double sint = 0; // первый элемент в разложении
int i = 1; // счётчик
int z = 1; // знак элемента
while (stx / fakt >= e) // до тех пор, пока элемент в разложении не меньше точности
{
sint += z*stx/fakt;
i += 2;
stx *= x*x;
fakt *= (i - 1)*i;
z *= -1;
}
Console.WriteLine("Количество элементов в разложении = {0}", i/2);
Console.WriteLine("Значение sin({0}) = {1}", x, sint);
Console.WriteLine("Значение компьютера: {0}", Math.Sin(x));
Console.ReadKey();
}
}