[C][C#]Program obliczający sumę szeregu funkcyjnego.

xobox123
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 31 sty 2018, o 10:18
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 2 razy

[C][C#]Program obliczający sumę szeregu funkcyjnego.

Post autor: xobox123 »

Witam serdecznie,

Piszę tego posta, ponieważ mam problem z projektem na studiach, z programowania.
Mianowicie muszę napisać program, który będzie obliczać sumę szeregu fynkcyjnego,
po wyznaczeniu szeregu rekurencyjnego, którego nie jestem w stanie rozwiązać.
\(\displaystyle{ \sum_{ n=1}^{\infty } \left( -1 \right) ^n \frac{x^n}{3^n \cdot n}}\)

Kod: Zaznacz cały

        static void SumaSzergu(float Esp, float x,out float suma,out int n)
        {
            float w;

            suma = 0.0f;

            w = 1.0f;

            n = 0;

            do
            {// liczenie:
                suma += w;
                n++;
                w *= 1 * x / n; //TUTAJ NALEZY WPISAC WZÓR REKURENCYJNY
            }
            while (Math.Abs(w)>Esp);
        }
Próbowałem sam stosować jakieś obliczania, jednak progam sie zatrzymywał, prawdopodobnie z powodu przeciązenia.
Pozdrawiam serdecznie i czekam na Wasze sugestie.-- 1 lut 2018, o 12:14 --Ktoś coś wie?
Ostatnio zmieniony 1 lut 2018, o 04:19 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
SlotaWoj
Użytkownik
Użytkownik
Posty: 4211
Rejestracja: 25 maja 2012, o 21:33
Płeć: Mężczyzna
Lokalizacja: Kraków PL
Podziękował: 2 razy
Pomógł: 758 razy

[C][C#]Program obliczający sumę szeregu funkcyjnego.

Post autor: SlotaWoj »

Postaw się w roli komputera i zacznij samemu wykonywać obliczenia. W ten sposób znajdziesz swoje błędy w kodzie. Np.
  • Dlaczego pierwszym składnikiem sumy jest \(\displaystyle{ 1}\) ?
    Dlaczego nie ma dzielenia przez \(\displaystyle{ 3}\) ?
    Dlaczego nie ma zmiany znaków kolejnych składników szeregu ?
    Dlaczego zakodowałeś tak, że w kolejnych mianownikach składników szeregu jest \(\displaystyle{ n!}\) , a nie \(\displaystyle{ n}\) ?
Później dopiero zacznij wykonywać swój program, ale początkowo krok po kroku.

Bardzo słabo znam C, ale pasuje mi tak:

Kod: Zaznacz cały

  n = 1;
  do {
     w *= -1*x/3;
     suma += w/n++; }
  while (Math.Abs(w)>Esp);
ODPOWIEDZ