|

Sã se calculeze radacina parata dintr-un numar real x, prin generarea unui sir A. numere (ai)<=n care o aproximeaza, folosind definiția recurentă:a1=1a2=(1+x/1 )/2a3=((1+x)/2+x/((1 +x)/2))/2 7

………………………………………
an= (an-1+x/an-1)/2
Termenii aivor fi generati recursiv până când diferența |ai – ai-1| va fi mai mica decât o valoare e (eroarea acceptata, un numar subunitar foarte mic). Ultimul termen ai generat va contine valoarea aproximativa a radicalului din numarul x. x si e se introduc de la tastatura.

#include <iostream>

#include <cmath>

using namespace std;

int main() {

    double x, a = 1, e;

    cout << „Introduceti numarul x: „;

    cin >> x;

    cout << „Introduceti eroarea e: „;

    cin >> e;

    while (true) {

        double a_anterior = a;

        a = (a + x / a) / 2;

        if (abs(a – a_anterior) < e) {

            cout << „Rădăcina pătrată a lui ” << x << ” este: ” << a << endl;

            break;

        }

    }

    return 0;

}

Acesta este un algoritm pentru a aproxima rădăcina pătrată a unui număr folosind metoda lui Newton-Raphson:

  1. Se citește numărul real x și eroarea e de la tastatură.
  2. Se inițializează variabila a cu 1.
  3. Se calculează a următorul termen al șirului folosind formula: a = (a + x/a) / 2.
  4. Se calculează diferența dintre a și termenul anterior, |a – a_anterior| și se compară cu eroarea e.
  5. Dacă diferența este mai mică decât eroarea, se afișează a și se termină algoritmul.
  6. Altfel, se reia pasul 3 cu a devenind termenul anterior și se continuă până când diferența este mai mică decât eroarea.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *