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 :

Convertir programme en pascal


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Par défaut Convertir programme en pascal
    Salut tout le monde j'ai programme et je veux faire la transformation en algorithme ou en pascal de préférence en pascal
    voici le programme :


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    from __future__ import division
     
    from decimal import *
     
    ##############################################################################
    def pidec():
        """Calcul de pi avec la précision demandé"""
        getcontext().prec += 2
        a1 = Decimal("1.0")
        b1 = Decimal("1.0")/Decimal("2.0").sqrt()
        p1 = Decimal("1.0")
        t1 = Decimal("0.25")
        eps = Decimal("1.0e-" + str(getcontext().prec-1))  # condition d'arrêt
        while True:
            a2 = (a1 + b1)/2
            b2 = (a1*b1).sqrt()
            p2 = 2*p1
            a12 = a1-a2
            t2 = t1-p1*a12*a12
            if abs(a2-b2)<eps:
                break
            else:
                a1, b1, p1, t1 = a2, b2, p2, t2
        ab = a2+b2
        res = (ab*ab)/(4*t2)
        getcontext().prec -= 2
        return res*1
    si vous pouvez m’aider n’hésitez pas ^^ et merci

  2. #2
    Membre émérite
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Par défaut
    Yop,

    Il y a déjà une grosse partie que tu peux convertir directement en pascal sans avoir besoin de notre aide. Si déjà tu nous montres ou tu bloques et la ""traduction"" code python en algo ou en pascal, ça nous tentera plus de t'aider.

    fiki

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Par défaut
    g pas compris celle la "getcontext().prec += 2" et aussi comment faire un Break

  4. #4
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    getcontext.prec += 2 -> il me semble que ça rajoute des nombres après la virgule pour tes chiffres castés en 'Decimal'. ( Par contre à sortir en algo il faudrait faire l'algo de la lib decimal!).

    Pour le break, tu peux traduire ça par un 'Fin Boucle'

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Bésto Voir le message
    ...et aussi comment faire un Break
    Salut
    Tu remarques que ta boucle se traduit par
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tant que vrai (boucle infinie)
    faire
         mettre gros calcul dans résultat
         si résultat dépasse précision alors break
    fin faire

    Ce qui peut se raccourcir en
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tant que résultat < précision
    faire
        mettre gros calcul dans résultat
    fin faire

    Et là tu n'as plus besoin de break...

    Citation Envoyé par Pymento Voir le message
    Par contre à sortir en algo il faudrait faire l'algo de la lib decimal!).
    Peut-être qu'une librairie analogue existe déjà en Pascal...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonjour.

    Citation Envoyé par Bésto Voir le message
    Salut tout le monde j'ai programme et je veux faire la transformation en algorithme
    A mon avis, tu prends le problème à l'envers car un algorithme peut avoir des fonctions faciles à comprendre par lecture mais dur à programmer.
    Un exemple : le tracé d'un flocon de von Koch est aisé à comprendre et à produire à la main, par contre pour passer à la programmation Python, il va falloir faire appel à une bibliothèque "graphique".
    Un autre exemple, le calcul du PGCD pour des grands nombres fait dans un langage comme le C va soit demander de fabriquer une lib pour calculer avec des grands entiers, soit de faire appel à une bibliothèque existante. Pourtant l'algo d'Euclide est très facile à rédiger dans un langage courant.

    Je bosse sur un outil qui permettra de rédiger des algorithmes via un langage à la Python. Ces algorithmes seront alors traduits automatiquement, et au choix, en langage naturel, en Python, en JavaScript et pourquoi pas en C ou C++... Il me semble que c'est aussi dans ce sens qu'il faut travailler à la main.

Discussions similaires

  1. Problème de résultat sur un programme en Pascal
    Par Poseidon62 dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2009, 20h13
  2. Mon site sur la programmation en Pascal
    Par darrylsite dans le forum Contribuez
    Réponses: 6
    Dernier message: 18/11/2008, 19h17
  3. [BP7] Vitesse d'exécution des programmes compilés Pascal
    Par Transgarp dans le forum Turbo Pascal
    Réponses: 27
    Dernier message: 08/04/2008, 21h09

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