Suite de Racines Carrées

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

Suite de Racines Carrées

Message par Napoléon le Ven 30 Nov - 11:32

Calculer une estimation de R.



*********

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par lamia le Sam 1 Déc - 0:17

Code:
program RacineCarre;
uses wincrt;
var
    N,i:integer;
    R:real;
begin
    write('donner le N');
    read(N);
    R:=0;
    i:=N;
    while i>0 do
    begin
        R:=sqrt(i+R);
        i:=i-1;
    end;
end.

Je sais pas si vraiment ce code marche car je l'ai pas essayé sur machine (remarque: depuis mon bac j'ai pas ecrit un programme en pascal Very Happy )


Dernière édition par le Lun 3 Déc - 0:44, édité 1 fois
avatar
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 31
Localisation : Tunis
Réputation : 53
Points : 4184
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par lamia le Sam 1 Déc - 0:27

une instruction manque en fin du programme
Code:
...
    end;
    write ('l''estimation est:',R);

end.
avatar
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 31
Localisation : Tunis
Réputation : 53
Points : 4184
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Sam 1 Déc - 0:30

Vraiment bravo:
Il y a juste deux petites erreurs syntaxiques

RacineCarree ---> ajouter ";"
Begin: ---> sans ":"

Il faut aussi afficher R Smile

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Sam 1 Déc - 0:36

On trouve R = 1.758 (à 0.001) prêt.

Il faut trouver c'est quoi cette limite exactement? !!!!

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par suneddine le Sam 1 Déc - 0:44

Code:

#include<stdio.h>

void main()
{int i,n;
float R;

printf("donner un entier\n");
scanf("%d",&n);

R=sqrt(n);
for (i<=n-1;i=1;i--)
{R=sqrt(i+R);}

printf("l'estimation de %d = %.4f\n",n,R);
}



avatar
suneddine
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 730
Age : 31
Localisation : tunisie
Réputation : 5
Points : 3705
Date d'inscription : 11/11/2007

Feuille de personnage
Capacité linguistique:
995/1000  (995/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par manianis le Sam 1 Déc - 1:08

Oui c'est quoi R ?

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3638
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Sam 1 Déc - 1:21

C'est un peu dur à trouver Wink
Je suis entrain d'essayer de répondre à la question.

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Sam 1 Déc - 18:52

Proposons une version récursive de la solution...

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Sam 1 Déc - 20:47

Salut tout le monde:

Je crois qu'on s'est trompé TOUS dans cet exercice Shocked Shocked Shocked

Les solutions données sont fausses, et personne n'a fait attention Surprised

(J'espère que ce n'est pas moi qui se trompe maintenant Very Happy)

La solution R := SQRT(i + R) ne donne pas le résultat demandé.

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par informix le Sam 1 Déc - 20:59

je ne vois pas l'erreur nabiL Sad

_________________
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
avatar
informix
Nombre Rationnel
Nombre Rationnel

Nombre de messages : 399
Réputation : 4
Points : 3909
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par lamia le Sam 1 Déc - 21:46

moi aussi je ne la vois pas, comment corriger l'erreur?

_________________
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
avatar
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 31
Localisation : Tunis
Réputation : 53
Points : 4184
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par manianis le Dim 2 Déc - 22:38

Je propose une solution (non récursive) puis une autre (récursive)


Code:
program racines_r;
var
    i, n : integer;
    r : real;
begin
    Readln(n);
   
    r := sqrt(n);
    i := n-1;
    while (i > 0) do begin
        r := sqrt(i + r);
        i := i - 1;
    end;

    Writeln('r = ', r);

    Readln;
end.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3638
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Dim 2 Déc - 22:44

Admin a écrit:Salut tout le monde:

Je crois qu'on s'est trompé TOUS dans cet exercice Shocked Shocked Shocked

Les solutions données sont fausses, et personne n'a fait attention Surprised

(J'espère que ce n'est pas moi qui se trompe maintenant Very Happy)

La solution R := SQRT(i + R) ne donne pas le résultat demandé.

Vos commentaires sur ce que j'ai posté ?

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par manianis le Dim 2 Déc - 22:47

Code:
program racines_r;
var
    n : integer;
   
function rac(_from, _to : integer):real;
begin
    if (_from = _to) then rac := sqrt(_to)
    else
        rac := sqrt(_from + rac(_from + 1, _to));
end;

begin
    Readln(n);
    Writeln('r = ', rac(1, n));

    Readln;
end.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3638
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Dim 2 Déc - 22:52

manianis a écrit:Je propose une solution (non récursive) puis une autre (récursive)
Code:
program racines_r;
var
    i, n : integer;
    r : real;
begin
    Readln(n);
   
    r := sqrt(n);
    i := n-1;
    while (i > 0) do begin
        r := sqrt(i + r);
        i := i - 1;
    end;

    Writeln('r = ', r);

    Readln;
end.

salut:
J'ai éxécuté le code source manianis. Il fonctionne bien. J'ai pourtant quelques remarques:
Pourquoi la boucle "while" ici alors qu'on connait d'avance le nombre d'itérations qui est n ?

Autre chose:
Il faut commencer avec R := sqrt(n) et non pas R := 0. Lamia s'est trompée au début. D'ailleurs la majorité s'est trompée au début Smile

bravo manianis!


Dernière édition par le Dim 2 Déc - 23:01, édité 1 fois

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par suneddine le Dim 2 Déc - 22:53

manianis, vous pouvez nous expliquer le raisonnement de la solution récursive? merci
avatar
suneddine
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 730
Age : 31
Localisation : tunisie
Réputation : 5
Points : 3705
Date d'inscription : 11/11/2007

Feuille de personnage
Capacité linguistique:
995/1000  (995/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par manianis le Dim 2 Déc - 23:00

Nabil :

Si j'ai fait attention et la solution que j'ai proposé est correcte car R a été initialisée à sqrt(n)

La boucle while est un choix que j'ai faite pour éviter d'écrire
for i:=n-1 downto 1 do ... que je n'aime pas.


Mosa :
Le raisonnement est assez simple.
Rn = sqrt(n)
Rn-1 = sqrt(n-1 + Rn)
Rn-2 = sqrt(n-2 + Rn-1)
...
R1 = sqrt(1 + R2)

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3638
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par lamia le Dim 2 Déc - 23:26

Dans le code de Manianis:
Code:
r := sqrt(n);
    i := n-1

Dans le miens :
Code:
    R:=0;
    i:=N;

En principe que ca va etre la meme chose en fin de compte confused Expliquez moi SVP la difference???

_________________
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
avatar
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 31
Localisation : Tunis
Réputation : 53
Points : 4184
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par manianis le Lun 3 Déc - 0:37

read(N);
R:=0;
i:=N;
while i>0 do
begin
R:=sqrt(i+R);
i:=i-1;
end;

Exécution Manuelle pour n = 3

r:=0
i:=3
i > 0 ==> R :=sqrt(3)
i:=2
i > 0 ==> R :=sqrt(2+sqrt(3))
i:=1
i > 0 ==> R := sqrt(1+sqrt(2+sqrt(3)))

==>
Oui Lamia ton travail est correct.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3638
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Lun 3 Déc - 0:45

Vous avez tous raison. J'ai pas fait attention que l'itération commence avec i=N Wink


Dernière édition par le Lun 3 Déc - 0:45, édité 1 fois

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par lamia le Lun 3 Déc - 0:45

Smile

_________________
¤´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·`¤... Lamia
avatar
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 31
Localisation : Tunis
Réputation : 53
Points : 4184
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
996/1000  (996/1000)

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Lun 3 Déc - 0:48

manianis a écrit:
Code:
program racines_r;
var
    n : integer;
   
function rac(_from, _to : integer):real;
begin
    if (_from = _to) then rac := sqrt(_to)
    else
        rac := sqrt(_from + rac(_from + 1, _to));
end;

begin
    Readln(n);
    Writeln('r = ', rac(1, n));

    Readln;
end.

logiquement: la fonction doit prendre en paramètre uniquement le "n". Ca doit être suffisant pour calculer R(n).

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par manianis le Lun 3 Déc - 9:47

Oui c'est suffisant mais il faudra procéder de cette façon dans ce cas.

f
Code:
unction rac(n : integer):real;

function int_rac(_from, _to : integer):real;
begin
    if (_from = _to) then rac := sqrt(_to)
    else
        rac := sqrt(_from + rac(_from + 1, _to));
end;

begin
    rac := int_rac(1, n);
end;

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 3638
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Napoléon le Lun 3 Déc - 11:21

Salut,

Peut-on trouver une forme récurrente de la suite R(n).
Autrement dit, une relation entre R(n+1) et R(n) par exemple.

???

a+

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5255
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: Suite de Racines Carrées

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum