Sprawdzenie poprawności krótkiego kodu - szeregi

0

Hejka

Dostałem dziś na laboratoriach takie zadanie do zrobienia: 1 - x^2/2! + x^4/4! - x^6/6! + ... Należało obliczyć sumę tego szeregu nieskończonego.

Wkleję tutaj część kodu którego nie jestem pewien. Możecie ocenić, czy wszystko poprawnie napisałem?


    suma=0;
    w=1;
    n=1;

    while(fabs(w)>EPS)
        {

            suma=suma+w;
            w=(w*(-1))*(pow(x,2))/(n*(n+1));
            n=n+2;

        }

Pozdrawiam

1

Tak, ale zauważ, że na sumę ciągu geometrycznego są wzory i da się policzyć bez użycia pętli.
Sn = a1*(1-q^n)/(1-q)

0

A to bardzo ciekawe. Przyznam szczerze, że zastosowałem podobny sposób jaki zastosowała prowadząca i do głowy mi nie przyszło by skorzystać z tego :D
Tak czy inaczej dziękuję za pomoc.

0

Udało mi się zrobić kolejne zadanie. Należało obliczyć sumę tego szeregu nieskończonego: x-1/1 - (x-1)^2/2 + (x-1)^3/3 - ... dla x rzeczywistego 0<x<2.

Tym razem wklejam cały kod, bo nie jestem pewien, czy jest dobrze.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define EPS 1E-12

int main()
{
    double x,z,suma,n,z1;

    do
        {
            printf("Podaj 0<x<2: ");
            scanf("%lf",&x);

        }
    while(x<=0 || x>=2);

    suma=0;
    z1=x-1;
    z=z1;
    n=2;

    while(fabs(z)>EPS)
        {
            suma=suma+z;
            z1=(-1)*z1*(x-1);
            z=z1/n;
            n=n+1;
        }

        printf("\n\t x=%.3f\n",x);
        printf("\n\t suma szeregu   : x=%.12f",suma);

    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1