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 :

Correction


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut Correction
    Procedure Contact(pA:chaine, pB:chaine, pC: chaine)
    debut
    pA<---pA+'NON'
    pB<---pB+'ON'
    pC<---'RA'+pA
    Fin
    1.Quels sont les affichage réalisés par les morceaux de programme suivant :
    A<---'ST' ...............................A<---'T'
    B<---'M' .............................. B<---'ST'
    C<---'DA' ..............................C<---'CA'
    Appeler Contact (A,B,C)........... Appeler contact(A,B,C)
    Afficher (A,B,C)...................... Afficher (A+B+C)
    Reponse
    afiiche(A,B,C) : STNON MON RASTNON
    affiche (A+B+C): TNONSTONRATNONCA

    Exercice 2
    décrire l'exécution de ce programme, instruction par instruction. on donnera simultanément l'évolution du contenu des variables utilisées. on précisera aussi la déclaration de la fonction et de la procédure:
    Code :
    Programme Test
    Var
    x,y : entier
    debut
    x<---MaFonction(6,5)
    /* MaFonction renvoie le résultat du produit du premier paramètre par le 2eme */

    y<---7
    Appeler MaProcédure(x,y,10)
    /* MaProcedure multiplie les deux premiers paramètres par le 3eme */

    Ecrire (x+y)
    Fin

    Reponse
    rogramme Test */* exécuter "Programme Test" --> on ne fait rien
    Var */ exécuter "Var" --> on ne fait rien
    x,y : entier */ exécuter "x,y : entier" --> on crée 2 variables en mémoire, initialisé à zero
    debut */ exécuter "début" --> on ne fait rien
    x<---MaFonction(6,5)
    /* MaFonction renvoie le résultat du produit du premier paramètre par le 2eme */

    y<---7 */ on affecte la variable 'y' par la valeur 7
    Appeler MaProcédure(x,y,10)*/ on appele la procedure 'MaProcedure'
    /* MaProcedure multiplie les deux premiers paramètres par le 3eme */

    Ecrire (x+y) */ on affiche la somme de (y+x)

    que pensez vous ?

  2. #2
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Bonsoir,

    Utilises les balises codes aussi bien pour l'algo (que tu indenteras) que pour justifier un paragraphe : c'est pas compliqué à faire et ça donne envie de répondre.

    Donc,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Procedure Contact(pA:chaine, pB:chaine, pC: chaine)
    debut
      pA<---pA+'NON'
      pB<---pB+'ON'
      pC<---'RA'+pA
    Fin
    1.Quels sont les affichage réalisés par les morceaux de programme suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    1. A<---'ST'                    A<---'T' 
    2. B<---'M'                     B<---'ST' 
    3. C<---'DA'                    C<---'CA' 
    4. Appeler Contact (A,B,C)      Appeler contact(A,B,C)
    5. Afficher (A,B,C)             Afficher (A+B+C)
    Pour résoudre ce genre de problèmes tu fais un tableau en avançant pas à pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    A          B          C          étape
    ST                               A<--'ST'
    ST         M                     B<--'M'
    ST         M          DA         C<--'DA'
                                     Appeler Contact(A,B,C) en paramètre ça donne pA=A pB=B pC=c
    STNON      M          DA         pA<--pA+'NON'
    STNON      MON        DA         pB<--pB+'ON'
    STNON      MON        RASTNON    pC='RA'+pA
    Afficher(A,B,C) donnera donc : STNON MON RASTNON -> bonne réponse. Essaye de faire la même chose sur la deuxième partie pour repérer ton erreur.

    Quant à la fin je ne vois pas ce que tu as fait à part recopier l'énoncé. Essaye de refaire un tableau similaire en donnant les valeurs de x et y au fur et à mesure.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    pA<---pA+'NON'
    pB<---pB+'ON'
    pC<---'RA'+pA
    A B C
    'T' 'ST' 'CA'

    Appeler Contact (C,A,B)
    Afficher (A+B+C)
    voila j'ai fait le tableau mais je vois pas vraiment ce qu'il faut faire la je suis perdu

  4. #4
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    En fait il faut juste faire ce qui est demandé :

    Dans ton tableau tu as 3 colonnes A,B et C
    Quand tu rencontres la lignes A<--'T' tu écris T dans la colonne A, la ligne suivante tu dois faire B<--'ST' = tu écris ST dans la colonne B, ainsi de suite.
    Quand tu te trouves face à un appel de fonction, tu dois juste faire attention à quoi correspondent les paramètres, un peu comme dans f(x)=x+1, x=3 donc f(x)=f(3)=3+1=4.

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Justement j'arrive pas à savoir à quoi correspondent les paramètres,

  6. #6
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    OK on va prendre un exemple simplifié.
    Prenons l'algo suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Procédure Ajouter(x:entier, y:entier)
    Début
      x <-- x + y
    Fin.
    Une procédure hypersimple, tu lui donnes deux paramètres nommés x et y et dans x tu mets la somme de x et y.
    Par exemple si tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a=10
    b=20
    c=30
    d=40
    alors après Ajouter(a,b) a vaudra l'ancienne valeur de a plus b et b restera inchangé, i.e. a=30 et b=20.

    Dans un tableau ça donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    a     b     x     y     étape
    10    20    -     -     a<--10;b<--20
    10    20    10    20    Ajouter(a,b) {on commence par "copier a dans x et b dans y}
    10    20    30    20    on exécute x<--x+y {on calcule x+y valeur de la ligne précédente, on change la valeur de x sur cette ligne}
    30    20    -     -     on "recopie x dans a et y dans b" à la fin de l'appel
    Essaye de faire un TABLEAU avec l'appel à ta procédure Contact, dans ma première réponse tu trouveras dans mon tableau des couleurs qui t'indiquent ce qui change et pourquoi ...

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    Voila le résultat :
    TONRASTCANON

  8. #8
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Perdu ...
    Essaye de faire un tableau et de nous le montrer ici pour qu'on te dise où tu te trompes.

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    A...........................B.....................C
    'T'........................'ST'...................'CA'
    pA<----pA+'NON'
    pB<----pB+'ON'
    pC<----'RA'+pA
    Appeler Contact (C,A,B)
    pA<-----CA+NON
    pB<-----TON
    pC<-----RAST
    Afficher (A+B+C)
    CANONTONRAST

  10. #10
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Hein ???

    L'énoncé c'est Appeler Contact (C,A,B) ou Appeler Contact (A,B,C) parce que ça ne donnera pas le même résultat .... et là c'est clair qu'on est loin de se comprendre.

    Utilises les balises codes, au besoin va en mode avancé et utilise la fonction prévisualisation du message.

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    c'est Appeler Contact (C,A,B)

  12. #12
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    La dernière ligne de taq procédure Contact te demande de "créer une chaine qui est 'RA' suivie de la valeur de pA et mettre cette chaine dans pC".
    Avant cette ligne que contient pA ?

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    pA contient 'CANON'

  14. #14
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Donc si tu exécutes "créer une chaine qui est 'RA' suivie de la valeur de pA et mettre cette chaine dans pC" sachant que pA vaut 'CANON', pC contiendra ...

  15. #15
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    RACANON ?

  16. #16
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    oui c'est ça, pC contient 'RACANON'. pC est un paramètre (le troisième) de ta procédure, comme l'appel de la procédure c'est fait avec Contact(C,A,B) au retour de l'appel c'est B (le troisième paramètre) qui prendra la valeur de pC.Donc après l'appel B vaudra 'RACANON', et que valent A et C ?

  17. #17
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    pA c'est CANON
    pB c'est TON
    pC c'est RACANON

  18. #18
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Jusque là ok ... c'est bon.
    Après il faut se souvenir que pA est le premier paramètre, pB le deuxième et pC le troisième. Comme tu as fait l'appel contact(C,A,B) (=C est le premier paramètre, A le second et B le dernier) quelles sont les valeurs de A,B et C après l'appel ?

  19. #19
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Points : 4
    Points
    4
    Par défaut
    ben je viens de les écrire non ?

  20. #20
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    non, tu viens de me donner la valeur des paramètres pA, pB et pC ; pas les valeurs de A,B et C.

Discussions similaires

  1. Faites des messages corrects !!!
    Par Alacazam dans le forum C++
    Réponses: 6
    Dernier message: 23/03/2006, 15h56
  2. savoir si outlook s'est fermé correctement
    Par iubito dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 07/11/2003, 08h41
  3. [IB71] mon Blob ne marche pas correctement
    Par BoeufBrocoli dans le forum InterBase
    Réponses: 2
    Dernier message: 17/09/2003, 14h03

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