Probleme algorithmique

pearsoks Messages postés 9 Statut Membre -  
artragis Messages postés 510 Statut Membre -
Bonjour,
jé besoin d'aide pour me donner un algorithme du carré parfait. 49=7²
Configuration: Windows XP
Firefox 3.0

6 réponses

  1. archi-dessin
     
    slt,
    7² =7*7
    debut
    lire valeur
    lire puiss
    somme=1
    i=1
    tanque i<=puiss faire
    somme=somme*valeur
    i=i+1
    fintantque
    ecrire somme

    fin
    2
    1. artragis Messages postés 510 Statut Membre 146
       
      là tu donnes une boucle pour calculer un nombre x élevé à l'exposant n avec n € N+
      plus simple
      lire puissance
      lire nombre
      pour i=2 à puissance par pas de 1 /*pourquoi commencer à 2? si tu commences à 0 ou 1 il fera une boucle de trop*/
      nombre=nombre*nombre
      finpour
      ecrire nombre
      0
  2. artragis Messages postés 510 Statut Membre 146
     
    gné?
    alors je te réponds un petit algorythme qui te permet de calculer le carré d'un nombre
    nombre integer
    lire nombre
    nombr*nombre==>nombre
    ecrire nombre


    et un qui te permet de vérifier si un nombre est un carré parfait et d'écrire le nombre de départ si c'est bon
    nombre integer
    racine integer
    racinefloat flottant
    
    lire nombre
    partieentiere(racine(nombre))==>racine
    racine(nombre)==>racinefloat
    si racine=racinefloat alors
    ecrire "ce nombre est le carré parfait de" + racine.convertienstring
    sinon
    ecrire "ce nombre n'est pas un carré parfait, le carré parfait le plus proche est " + (racine*racine).convertienstring + "carré parfait de" + racine.convertienstring
    fin si
    0
    1. pearsoks Messages postés 9 Statut Membre
       
      moi jé fé


      si (nombre div sqrt(nombre))= sqrt(nombre) alors ecrire ('Le nombre ',nb,'est un carré parfait'); le probleme est dans les nombres réel
      0
      1. artragis Messages postés 510 Statut Membre 146 > pearsoks Messages postés 9 Statut Membre
         
        ton algorythme est faut car 0 est le carré de 0... or si tu divise 0 par racine de 0 tu auras une division par 0 qui est impossible même pour l'ordinateur.
        ça signifie quoi "le problème est dans les nombres reels"?
        0
  3. archi-dessin
     
    sitaution général, quel que soit la valeur et aussi la puissance
    0
    1. artragis Messages postés 510 Statut Membre 146
       
      avec une puissance entiere et positive.
      car dès qu'elle est négative tu as une autre chose à faire
      de même si la puissance est relative (1.1 par exemple)
      0
  4. archi-dessin
     
    votre boucle est fausse mon cher, tu dois comprendre les conteurs des valeurs et des entrer,
    pour verifier essayer de le faire manuellement ce que vous avez écrit
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. archi-dessin
     
    si vous voulez quand généralise pour tout les valeurs de puissance déclmale et/ou négative et positive
    on peut le faire sans problèmed'ailleur ce problème parmis les sujets qui sont facile à refaire
    0
    1. artragis Messages postés 510 Statut Membre 146
       
      ma boucle je la fais
      soit puissance = 9
      pour ide 2 à 9 par pas de 1

      i= 2
      =>nomrbre = nombre * nombre
      i=3
      nombre= nombre * nombre = nombre ^3
      i=4
      nombre^4
      i=5
      nombre^5
      [..]
      i=9
      nombre puissance 9 fin de boucle

      pour les autres cas de puissance il faut juste utiliser des clauses "if"
      (je n'ai pas encore le niveau en math pour avoir vu les puissance décimale, je sais juste que ça a rapport avec l'exponentiel et ln(x))

      donc
      /*déclaration variable*/
      nombre floatdouble
      puissance floatsimple
      negative
      decimale
      
      lire nombre
      lire puissance
      si non partieeentiere(puissance)=puissance alors
      calculer avec la formule que je connais pas
      ecrire nombre
      sinon si puissance>0 alors
      faire la boucle que je t'ai proposée
      ecrire nombre
      sinon 
      faire la boucle que je t'ai prpoposée
      inverse = 1/nombre
      ecrire inverse
      finsi
      
      0
  7. Archi-dessin Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   25
     
    vous faite n'impote quoi .... essayer de faire mon algori. et le comparer avec le votre
    en plus je vous consiel d'aller rechercher des exercice simple avec des solutions pour comment les autres en fait et savoir faire la logique...... fin
    0
    1. artragis Messages postés 510 Statut Membre 146
       
      j'ai regardé et mon algo, et mes cours et j'ai même tenté de faire cela en le programmant en VB... et j'ai vu mon erreur.
      en fait voici l'algorithme corrigé
      nombre
      nombrelu
      puissance
      
      pour i 2 à puissance par pas de 1
      nombre = nombre * nombrelu

      j'ai bon là non?
      0