Probleme algorithmique

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. 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. 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. 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. 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
    2. @pearsokston 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. sitaution général, quel que soit la valeur et aussi la puissance
    0
    1. 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. 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
    1. 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. 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
    2. 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. 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