Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

turbo pascal

Posté par
aqw97240
17-08-11 à 21:03

On considère l'algorithme suivant :
BEGIN
a:=0;b:=0;
For i:= 0 to n-1 do begin
a:=a+1/(sqr(n)+sqr(i);
b:= b+1/ (sqr(n)+sqr(i+1);
end;
a:=n*a;
b:= n*b;
END;

1) quelles sont les quantités a et b calculées par cet algorithme ?
a = c'est la somme pour k allant de 0 de ( n-1 1/( n²+k²) ) *n ?
b =la somme pour k allant de 0 de ( n-1 1/( n²+(k+1²) ) *n ?

2/Ont elles un limite quand n tend vers l'infini ?
j'obtiens que elles tendent vers 1 en utilisant un équivalent de 1/ n²+k² ;
3/  Quelle est la somme Sn calculée par l'algorithme suivant ?
S:= 1;
For k := n down to 1 do S:=1+S/(2k);
write S
de quel nombre S² est elle ma valeur approchée ?
édit Océane : forum modifié

Posté par
sanantonio312
re : turbo pascal 18-08-11 à 11:24

Bonjour,
De mémoire, sqr(x), c'est x et non x². Non?
Il manque des parenthèses fermantes un peu partout. Non?

Posté par
J-P Posteur d'énigmes
re : turbo pascal 18-08-11 à 11:44

L'algo ne calculera rien du tout si les fautes ne sont pas corrigées.

Les parenthèses ne sont pas équilibrées dans a:=a+1/(sqr(n)+sqr(i); ni dans b:= b+1/ (sqr(n)+sqr(i+1);

De plus, si tu utilises la fonction Racine carrée implémentée d'origine dans certain Pascal, la syntaxe est sqrt(); et pas sqr();

En outre, tu utilises n mais sans l'avoir initialisé à une certaine valeur.

Il me semble aussi que les types de variables doivent être déclarées.
-----

Cette dernière remarque est capitale car si a est, par exemple, déclaré comme integer, le résultat ne sera pas du tout le même que s'il est déclaré comme nombre à virgule flottante ou ...

Bref s'il s'agit d'analyser ce qui va se passer si on tente de lancer l'algo écrit en Pascal ...
C'est rien ... Si ce n'est que le logiciel va envoyer des messages d'erreurs.




Posté par
aqw97240
re : turbo pascal 19-08-11 à 16:44

dsl
je crois que sqr c'est ² et sqrt c'est la racine.
Voici l'énoncé corrigé:
On considère l'algorithme suivant :
BEGIN
a:=0;b:=0;
For i:= 0 to n-1 do begin
a:=a+1/(sqr(n)+sqr(i));
b:= b+1/ (sqr(n)+sqr(i+1));
end;
a:=n*a;
b:= n*b;
END;

1) quelles sont les quantités a et b calculées par cet algorithme ?
a = c'est la somme pour k allant de 0 à ( n-1) de 1/( n²+k²) ) *n ?
b =la somme pour k allant de 0 à ( n-1) à 1/( n²+(k+1²) ) *n ?

2/Ont elles un limite quand n tend vers l'infini ?
j'obtiens que elles tendent vers 1 en utilisant un équivalent de 1/ n²+k² ;
3/  Quelle est la somme Sn calculée par l'algorithme suivant ?
S:= 1;
For k := n down to 1 do S:=1+S/(2k);
write (S);
de quel nombre S² est elle la valeur approchée ?

Posté par
J-P Posteur d'énigmes
re : turbo pascal 19-08-11 à 17:18

OK, avec sqr() pour la fonction "carré" (square)

Les parenthèses ont été corrigées.

Mais n n'a toujours pas été initialisés, ni les variables déclarées.

L'algo est sensé faire n boucles ... mais n n'est pas connu... ce qui ne peut pas être le cas dans un programme d'algo.

A part cela :

1) quelles sont les quantités a et b calculées par cet algorithme ?
a = c'est la somme pour k allant de 0 à ( n-1) de 1/( n²+k²) ) *n
b =la somme pour k allant de 0 à ( n-1) à 1/( n²+(k+1)² ) *n  ----------> il y avait un ² mal mis dans ta réponse.

2)
La lim pour n --> +oo de a comme de b est Pi/4

Sauf distraction.  



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !