Aproksymacja granicy

0

Witam.

Mam na roku wstęp do programowania, a jako iż nie jestem zapalonym informatykiem ani matematykiem, pewne zadania przysparzają mi wiele programów. Potrzebuję pomocy z zadaniem 7 z tej listy:

http://korzeniowski.im.pwr.wroc.pl/teaching/L1.pdf

W liceum nie miałem granic, więc nie do końca wiem jak to zrobić. Napisałem taki o to program, ale on liczy tylko kolejne wartości ciągu.

#include "stdafx.h"
#include "math.h" 
#include "iostream"
using namespace std;

float oblicz(float a, int n)
{
	if (a < 0)
	{
		cout << "Atrybut a musi byc wiekszy od 0!";
		return -1;
	}
	float x = (float)n;
	float wynik = sqrt(x + a*sqrt(x) + 1) - sqrt(x);
	return wynik;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int n;
	float a, wynik;
	cout << "Podaj a: ";
	cin >> a;
	cout << "\nPodaj n: ";
	cin >> n;
	for (int i = 0; i <= n; i++)
	{
		wynik = oblicz(a, i);
		cout << "Wynik: " << wynik << endl;
	}
	return 0;
}

Z góry bym był wdzięczny za pomoc/naprowadzenie.

0

Na szybko, to granica tego ciągu to jest chyba a/2
W zadniu chodzi o to abyś postawil taką właśnie hipotezę, a potem obliczał kolejne wyrazy ciągu aż do bardzo dużych wartości i pokazał ze każdy kolejny wyraz jest bliżej i bliżej a/2 a im blizej tej wartosci jest, tym wolniej się zbliża :)

0

hint: pomnóż i podziel przez sumę tych pierwiastków.

0

Po mojemu, w zadaniu chodzi o to by hipotezę stawiać na podstawie programu, a potem ją dowodzić matematycznie. Program winien mieć zatem taką budowę: licz wyrazy ciągu tak długo jak różnica dwóch kolejnych wyrazów jest większa od pewnej małej liczby (np. 10-9), a potem wyświetl ostatni obliczony wyraz.

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