Вычисление выражения - перевод с Pascal - C#

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста с переводом
program cos_teilor;
var x,stx,cost,e: real;
    i,fakt,z: integer;
Begin
Write('Введите x: ');
Readln(x);
Write('Введите точность e: ');
Readln(e);
 stx:= x*x;  {x в степени}
 fakt:= 2;  {значение факториала в знаменателе}
 cost:= 1;  {первый элемент в разложении}
 i:= 2;  {счётчик}
 z:= -1;  {знак элемента}
while stx/fakt>=e do begin  {до тех пор, пока элемент в разложении не меньше точности}
                      cost:=cost+z*stx/fakt;
                      inc(i,2);
                      stx:=stx*x*x;
                      fakt:=fakt*(i-1)*i;
                      z:=z*(-1);  {смена знака}
                      end;
Writeln('Количество элементов в разложении = ',i div 2 + 1);
Writeln('Значение cos(',x:6:6,')= ',cost:6:6);
Writeln('Значение компьютера: ',cos(x):6:6);
Readln;
End.

Решение задачи: «Вычисление выражения - перевод с Pascal»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication
{
    class cos_teilor
    {
        static void Main(string[] args)
        {
            //var x,stx,cost,e: real;
                float x,stx,cost,e;
            //i,fakt,z: integer;
                int i, fakt, z;
            //Write('Введите x: ');
                Console.Write("Введите x: ");
            //Readln(x);
                x = float.Parse(Console.ReadLine());
            //Write('Введите точность e: ');
                Console.Write("Введите точность e: ");
            //Readln(e);
                e = float.Parse(Console.ReadLine());
            //stx:= x*x; {x в степени}
                stx = (float)Math.Pow((double)x,(double)2);
            //fakt:= 2; {значение факториала в знаменателе}
                fakt = 2;
            //cost:= 1; {первый элемент в разложении}
                cost = 1;
            //i:= 2; {счётчик}           
                i = 2;
            //z:= -1; {знак элемента}
                z = -1;
            //while stx/fakt>=e do {до тех пор, пока элемент в разложении не меньше точности}
                while (stx / fakt >= e)
                //begin
                    {
                        //cost:=cost+z*stx/fakt;
                             cost=cost + z * stx / fakt;
                        //inc(i,2);
                             i+=2;
                        //stx:=stx*x*x;
                             stx = stx * x * x;
                        //fakt:=fakt*(i-1)*i;
                             fakt = fakt * (i-1) * i;
                        //z:=z*(-1); {смена знака}
                             z = z * (-1);
                //end;
                    }
            //Writeln('Количество элементов в разложении = ',i div 2 + 1);
                Console.WriteLine("Количество элементов в разложении = " + i / 2 + 1);
            //Writeln('Значение cos(',x:6:6,')= ',cost:6:6);
                Console.WriteLine("Значение cos({0:000000.000000}) ",cost);
            //Writeln('Значение компьютера: ',cos(x):6:6);
                Console.WriteLine("Значение компьютера: {0:000000.000000}", Math.Cos(x));
            //Readln;
                Console.ReadKey();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы