IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Algorithme de recherche d'entiers


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Par défaut Algorithme de recherche d'entiers
    Coucou ! Voilà j'ai un petit (ou un gros !) problème pour résoudre un petit exercice de programmation sur Turbo Pascal : il faut afficher les triplets d'entiers (a,b,c) tels que b<a<n (n donné par l'utilisateur) et sqr(a)+sqr(b)=sqr(c). J'ai essayé avec la boucle for mais ça ne marche pas alors ça serait bien que quelqu'un me mette sur la bonne voie parce que là je sèche. Je précise que je commence à peine à programmer et que je suis new sur le forum donc je sais pas trop ce qui va se passer (aii! ouii!). thx

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Hello,

    C'est un problème d'algorithmique, donc la meilleure solution est de réfléchir à ce que ton programme doit faire pas-à-pas, puis l'écrire en français et ensuite le traduire en langage algorithmique et en Pascal. Certains diront "un papier et un crayon"....

  3. #3
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 052
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Citation Envoyé par suit-moo Voir le message
    J'ai essayé avec la boucle for mais ça ne marche pas
    Peux-tu montrer ce que tu as fait ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Wae,
    Citation Envoyé par suit-moo Voir le message
    J'ai essayé avec la boucle for mais ça ne marche pas
    En programmation, on n'essaye pas à tout hasard, pour voir si ça marche.

    - On cherche un algorithme conduisant au résultat désiré (c'est là qu'interviennent le papier et le crayon )

    - PUIS on code cet algorithme dans le langage choisi.

  5. #5
    Membre éclairé
    Avatar de Wachter
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2008
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 404
    Par défaut
    Bonsoir,

    La difficulté de ton exercice c'est comment savoir si un entier n est un carré parfait, c'est-à-dire il existe un entier k tel que : n = k².
    Je te propose un algorithme bourrin qui devrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Varier a, b en respectant la contrainte a > b > n
    Calculer c² = a² + b²
    Si c² est un carré parfait alors
      Afficher le triplet (a, b, c)
    Et je te laisse le soin de chercher comment déterminer si un entier naturel est un carré parfait.

    En fait, pour aller droit au but, ton problème revient à calculer les triplets pythagoriciens...

    --
    Wachter

  6. #6
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Par défaut
    J'ai fait ça au debut et c'est du n'importe quoi!(shame)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    program triplets;
    uses wincrt;
    var a,b,c,n,i,x,s:integer;
    begin
    readln(n);
      for i:=1 to n do
       begin
        if (a<i)and(b<a) then
         begin
          s:=sqr(c);
          s:=sqr(a)+sqr(b);
         end;
       end;
        if x=sqrt(s) then
         begin
         write(a,b,x);
         end
        else
        write('pas de triplets');
    end.

    au moin ça ne manque pas de variables (Si mon prof voyait ça il changrait de metier). un commentaire peut etre?

  7. #7
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour

    Citation Envoyé par suit-moo Voir le message
    J'ai fait ça au début et c'est du n'importe quoi!(shame)
    je crois que ce qui serait du vrai n'importe quoi serait que toi même tu comprenne pas le programme que tu as écris. Mais ça arrive de ne pas pouvoir bien traduire ce qu'on veut faire dans le langage (dans ce cas voir revoir l'ennoncé et l'algo que tu utilises

    Citation Envoyé par suit-moo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    program triplets;
    uses wincrt;
    var a,b,c,n,i,x,s:integer;
    begin
    readln(n);
      for i:=1 to n do
       begin
        if (a<i)and(b<a) then
         begin
          s:=sqr(c);
          s:=sqr(a)+sqr(b);
         end;
       end;
        if x=sqrt(s) then
         begin
         write(a,b,x);
         end
        else
        write('pas de triplets');
    end.

    au moin ça ne manque pas de variables (Si mon prof voyait ça il changrait de metier). un commentaire peut etre?
    Tu as pensé à ton prof mais tu n'as pas pensé aux forumeurs (nous nous ferions quoi?)

    Plus sérieusement, ce que je comprend pas c'est que tu es bien conscient que ton code est loin de faire ce que tu veux, alors dans ce cas pourquoi tu n'y retourne pas pour revoir l'algo que tu utilises?
    ça commence ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        if (a<i)and(b<a) then
    i a bien une valeur en ce moment la mais a et b valent quoi d'apres toi?(si tu devines la reponse tu verras que ton test est inutile)

    Revois l'algo et aies une petite certitude dessus avant de le traduire en Pascal

    Cordialement

  8. #8
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Par défaut
    Je crois que c'est ma façon d'analyser le problème qui n'est pas bonne(pauvre débutante que je suis). Donc je recommence en tenant compte de tout ce que vous avez dit et de ce que vous n'avez pas dit. merci pour votre aide.

Discussions similaires

  1. Algorithme de Recherche
    Par i.pollux dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 19/10/2006, 09h48
  2. Meilleur algorithme de recherche de chaine?
    Par ryosnake dans le forum Algorithmes et structures de données
    Réponses: 23
    Dernier message: 20/09/2006, 20h34
  3. Algorithme pour trouver i entier tel que n + i² est un carré
    Par duchere dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 22/04/2006, 08h24
  4. Algorithme de recherche
    Par pekka77 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 08/03/2006, 13h01
  5. Algorithme de recherche de chemin
    Par amelie gaya dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 09/06/2002, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo