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

Python Discussion :

Un programme qui calcul la puissance d'un réel


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2018
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Un programme qui calcul la puissance d'un réel
    Pardon aidez moi a faire un programme qui calcule a puissance d'un réel sans utiliser une fonction au préalable....Svp!
    En fait la puissance et le nombre doivent être saisis par l'utilisateur (donc quelques soit les valeurs des entrées)
    Merci d'avance!

  2. #2
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Points : 704
    Points
    704
    Par défaut
    Bonjour,

    alors quand vous dites "pas de fonction au préalables" c'est à dire ?
    parce que pour interagir avec l'utilisateur il faut utiliser des fonctions de base telle que input() ou print(), et je vois mal quelqu'un réinventer la roue.
    pour ce qui est de mettre un nombre x à la puissance n bah c'est comme en math, c'est à dire qu'il y à des opérateurs : en math on écrirais xn bah en python c'est x**n ... enfin là 5s de recherche google et c'était bon .

  3. #3
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2018
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Non non, je ne parle pas de ces fonctions là!!! Je parle un peu dans un sens plus algorithmique[function ] voyez vous????

  4. #4
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par tpsl80 Voir le message
    Non non, je ne parle pas de ces fonctions là!!! Je parle un peu dans un sens plus algorithmique[function ] voyez vous????
    euh, soit on fait du code soit de l'algorithmique .
    enfin là en 3 lignes le programme est fait...

    Je comprends vraiment pas où vous voulez en venir, montrez l'énoncé exacte pour que je comprenne où est le problème.
    ps : vous êtes vraiment développeur informatique ?!

  5. #5
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2018
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Non. Moi je suis debutant en programmation
    Bref je veux le programme c'est tout.

    Humblement!

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 352
    Points : 36 879
    Points
    36 879
    Par défaut
    Citation Envoyé par tpsl80 Voir le message
    Non. Moi je suis debutant en programmation
    Bref je veux le programme c'est tout.
    La seule chose que vous risquez d'obtenir, c'est l'adresse d'un bon tuto.

    - W

  7. #7
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par tpsl80 Voir le message
    Non. Moi je suis debutant en programmation
    Bref je veux le programme c'est tout.

    Humblement!
    avec supplément frite coca ou menu simple ?

  8. #8
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 609
    Points : 2 073
    Points
    2 073

  9. #9
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 480
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il existe effectivement un algorithme rapide pour l'exponentiation.

    La méthode basique pour calculer x**y conduit à faire y-1 multiplications de x par lui-même (x*x*x*x*...). L'objectif de l'exponentiation rapide est de diminuer fortement ce nombre de multiplications.

    Pour la méthode: voir par exemple:
    https://fr.wikipedia.org/wiki/Exponentiation_rapide
    http://math.univ-lyon1.fr/~roblot/re...s_partie_3.pdf

    Et voilà un exemple de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def powrap(x, y):
        """Calcul rapide de la puissance entière x**y avec x et y entiers 
        """
        result = 1
        while y>0:
            if y%2!=0: # y impair
                result *= x
            x *= x    
            y //= 2 # division entière par 2
        return result
    Les opérations pour le test de parité et de division entière par 2 sont très rapides pour un ordinateur puisqu'il s'agit d'opérations binaires simples. Pour le reste, on peut compter facilement (mettre un compteur!) que le nombre des multiplications qui subsistent est très inférieur au nombre de multiplications de la méthode basique.

    Exemple (on peut vérifier que ça donne bien le même résultat que x**y ou pow(x, y)):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x, y = 20, 100
    print(powrap(x, y))
    12676506002282294014967032053760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Pour cet exemple, si on met un compteur, on trouve qu'on a calculé 10 multiplications, alors que la méthode basique en compterait 100-1 = 99.

    De plus, on peut facilement modifier ce code pour calculer l'exponentiation modulaire (x**y)%n.

    [edit]: je m'aperçois qu'en relisant la question il s'agit de nombres "réels", et mon calcul ne semble concerner que les nombres entiers. En fait, ça marche avec x réel, mais y doit être entier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x, y = 20.123456, 100
    print(powrap(x, y))
    2.345615632351028e+130

  10. #10
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2018
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci tyrtamos!!!!!!

Discussions similaires

  1. Réponses: 12
    Dernier message: 10/05/2013, 15h45
  2. programme pour calculer les puissances
    Par zakariaforever dans le forum C#
    Réponses: 2
    Dernier message: 07/03/2010, 19h13
  3. erreur d'un programme qui calcule la remise
    Par maydarak1 dans le forum C
    Réponses: 3
    Dernier message: 27/01/2010, 18h06
  4. Réponses: 16
    Dernier message: 13/01/2008, 21h28
  5. comment faire un programme qui calcul la somme ?
    Par jahjouna dans le forum C++
    Réponses: 18
    Dernier message: 13/12/2006, 00h33

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