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

Algorithmes et structures de données Discussion :

demande verification d'un exercice


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 162
    Par défaut demande verification d'un exercice
    je souhaiterai que vous verifiez avec moi cet algo svp:
    voici l'énoncé:
    Ecrire un algorithme qui demande à l’utilisateur un nombre premier jusqu’à ce que la réponse convienne :
    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
     
    #
    algo premier
    variable n,i: entier
                premier: booleen
    debut
    premier<-- faux
    tant que(premier=faux) faire
    ecrire('saisir un nbre')
    lire(n)
    pour i allant de 2 jusqu'à n div 2 faire
                    si (n mod i=0) alors
                               premier<-- vrai
                    finsi
    fin pour
    fin

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    hum...
    Citation Envoyé par nabilfaouzi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    si (n mod i=0) alors
       premier <-- vrai
    fin si
    Si "n mod i=0" alors "i" est un diviseur de "n". Donc "n" n'est PAS premier.

    Dans ton test il faut mettre "premier <-- faux"... et donc, avant le "pour/faire" il faut initialiser "premier<--vrai".

    Ensuite, ca serait bien d'optimiser la sortie de la boucle "pour/faire" des qu'on a trouvé un diviseur, plutot que de continuer la boucle jusqu'a la fin
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 162
    Par défaut
    j'ai pas bien compris ce que tu me propose.pourriez vous ecrire ton algo et on discute si tu veux merci
    Note bien :que si dans mon algo le nombre est premier il va me demander de resaisir un autre nbre sinon il va sortir du programme et c'est mieux qu'il affiche le nbre premier saisi.

    Edit:

    t'as raison il faux que je mettre si (n mod i)<>0 alors premier<--vrai c'est ce que tu veux dire??

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par nabilfaouzi Voir le message
    t'as raison il faux que je mettre si (n mod i)<>0 alors premier<--vrai c'est ce que tu veux dire??
    Non. Ce n'est pas parceque "i" n'est pas un diviseur de "n", que forcement "n" est premier !

    Par exemple on a bien "(15 mod 2)<>0" mais "15" n'est pas premier.

    Par contre l'inverse est vrai: si "(i mod n)==0" alors on est sur a 100% que "n" n'est pas premier, puisque "n" a au moins "i" comme diviseur.

    Donc ton test c'est forcement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    si (n mod i=0) alors
      premier <-- faux
    fin si
    Ce test met la valeur de 'premier' a 'faux'. Ca implique que, au départ, la valeur de 'premier' etait 'vrai', sinon ce test ne nous apprend rien. Donc, la structure de ton algorithme doit ressembler a:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    # (...) du code a mettre par ici (...)
     
    premier <-- vrai
     
    pour i allant de 2 jusqu'à n div 2 faire
        si (n mod i=0) alors
            premier <-- faux
        fin si
    fin pour
     
    # (...) du code a mettre par la (...)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. demande cours Excel et exercice + debutant
    Par nomane64 dans le forum Excel
    Réponses: 1
    Dernier message: 18/08/2008, 15h48
  2. Demande de corrections d'exercices Turbo Pascal
    Par Helpine dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 16/01/2005, 10h38

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