EVALUATION EN ALGORITHMIQUE TEST  08/ XX    

Exercice 01 : Question de Cours 5pts

  1. Donnez les différences entres les 03 Boucles suivantes :

Pour

Tantque

Repeter

  1. Donnez la Syntaxe de déclaration d’un tableau a 02 dimensions.
  2. Expliquez clairement chacune des instructions suivantes: t[i,j] <- ‘A’ et A[i] <- 9 .

Exercice 02 : Exécution Manuelle 3pts

ALGORITHME 01

ALGORITHME 02

Algorithme GeniusTest5 ;

Var fou,n :reel ;

Debut

Ecrire("Donner un entier positif:") ; 
lire(n) ;
si (n>0) alors
    fou ← n*n ;
    Ecrire("fou=",fou);
 sinon
       Ecrire("fou=0") ;              
fsi
Ecrire("GROUPE GENIUS") ;

Fin

Questions :

  1. Dénichez les potentielles erreurs dans cet algorithme.
  2. Pour n = 9 et n=-3 dire ce que réalise cet algorithme & donner le tableau de trace

Algorithme GeniusTest6 ;

Var Robin,Desbois ,i : Entier ;

Debut

 Ecrire("Entrez un nombre:") ; 
 Lire ( Robin ) ;

  DesBois ← 1 ;
  si (DesBois=0 ou DesBois=1) alors

   Ecrire("Félicitation le:",Robin, "entrer vaut",DesBois,

"Et correspond au ? d’un nombre"

   Sinon 

   pour i de 1 à Robin faire 

    DesBois ← DesBois * i ;

   finpour 
 
Ecrire("Félicitation le:",Robin, "entrer vaut",DesBois, "Et correspond
 au ? d’un nombre") ;
 Fsi

Fin.

Questions :

  1. Dénichez les potentielles erreurs dans cet algorithme.
  2. Pour Robin = 4 , donner le tableau de trace et la sortie écran de cet algorithme.

Exercice 03 : Structure Conditionnelle 3pts

Écrire un algorithme qui demande le numéro d’un mois à l’utilisateur et affiche le nombre jours que comporte ce mois (sans tenir compte des années bissextiles).

Exercice 04 : Structure Répétitive 4pts

U0 = 1

Un+1 = Un + 2

Écrire un algorithme qui afficher les n premiers termes de la suite arithmétique suivante (avec n demandé à l’utilisateur).

 

Problème : Le Lièvre et la Tortue 5pts

Le Lièvre et la Tortue est une célèbre fable de Jean de La Fontaine qui dénonce la vanité en faveur de la persévérance. C'est l'histoire d'un lièvre qui se pense plus rapide qu'une tortue pour gagner la course. Mais il va apprendre à ses dépens que « rien ne sert de courir, il faut partir à point ».Le lièvre et La tortue sont sur la ligne de départ. La tortue doit avancer de p cases pour atteindre la ligne d'arrivée. Règle du jeu : Une partie comporte au plus p tours. À chaque tour, on lance un dé ( la valeur du dé est entrer par l’utilisateur est doit être inferieure ou égale a 6 )Si le 6 sort, alors le lièvre gagne la partie, sinon la tortue avance d’une case. La tortue gagne quand elle a avancé p fois. Soit T l'évènement : "La tortue a gagné la partie", il s'agit de déterminer, à l'aide d'une simulation de ce jeu, la fréquence de l'évènement T afin de pouvoir conjecturer, suivant les valeurs de p, si le jeu est à l'avantage du lièvre ou de la tortue. Pour chaque partie, l’utilisateur entre la valeur d’un dé au maximum p fois. Par exemple, si le 6 sort au second lancer alors la tortue a perdu et on recommence alors une nouvelle partie, Pour chaque partie gagnée par la tortue, on incrémente la valeur de t. Au bout de M parties on calcule le quotient t/M correspondant à la fréquence de l'évènement T. Ecrire l'algorithme permettant d'effectuer la simulation de M parties (M=5) et de compter le nombre de parties t gagnées par la tortue. En déduire la fréquence t/M de l'évènement T.

Algo le lievre et la tortue pandacodeur

                                                                                                                                                                                                                                                         Par Joel_Yk | Contact :+237652027193

 

Correction :

CORRECTION DE L'EVALUATION EN ALGORITHMIQUE TEST  08/ XX

CORRIGÉ


Exercice 01 : Question de Cours (5pts)

  1. Différences entre les 3 boucles : POUR / TANTQUE / REPETER

    Pour TantQue Répéter ... Jusqu'à
    • Utilisée quand le nombre d’itérations est connu (ou calculable).
    • Le compteur varie automatiquement (ex : i de 1 à n).
    • Le test est fait avant chaque tour.
    • Si la borne est déjà impossible, la boucle peut ne jamais s’exécuter.
    • Utilisée quand le nombre d’itérations n’est pas connu à l’avance.
    • Le test est fait avant d’entrer dans le corps de la boucle.
    • Si la condition est fausse au début, elle ne s’exécute jamais.
    • Attention : si on n’évolue pas la condition, on crée une boucle infinie.
    • La boucle s’exécute au moins une fois.
    • Le test est fait à la fin (après l’exécution du corps).
    • Elle s’arrête quand la condition de fin devient vraie.
    • Pratique pour la saisie contrôlée.
  2. Syntaxe de déclaration d’un tableau à 2 dimensions

    Forme générale :

    TypeNom = tableau[borne1..borne2, borne3..borne4] de TypeElement ;
        

    Exemples :

    T : tableau[1..6, 1..3] de reel ;
    A : tableau[0..9, 0..9] de entier ;
        
  3. Explication : t[i,j] ← 'A' et A[i] ← 9

    • t[i,j] ← 'A' :
      On place le caractère 'A' dans la case située à la ligne i et la colonne j du tableau à 2 dimensions t.
    • A[i] ← 9 :
      On place la valeur entière 9 dans la case d’indice i du tableau à 1 dimension A.

    Remarque : les indices doivent être dans les bornes du tableau, sinon c’est une erreur (dépassement de tableau).


Exercice 02 : Exécution Manuelle (3pts)

ALGORITHME 01 : GeniusTest5

a) Dénichez les potentielles erreurs

b) Pour n = 9 et n = -3 : sortie écran + tableau de trace

Idée de l’algorithme : il lit n. Si n > 0 alors il calcule fou = n*n donne le  carrée de n, sinon il affiche fou=0, puis affiche GROUPE GENIUS.

1) Cas n = 9

Étape n fou Affichage
Lecture 9 non défini Donner un entier positif:
Test (n > 0) 9 non défini Vrai
Calcul 9 81 fou=81
Fin 9 81 GROUPE GENIUS

Sortie écran (n=9) :

Donner un entier positif:
fou=81
GROUPE GENIUS

2) Cas n = -3

Étape n fou Affichage
Lecture -3 non défini Donner un entier positif:
Test (n > 0) -3 non défini Faux
Sinon -3 non changé fou=0
Fin -3 non changé GROUPE GENIUS

Sortie écran (n=-3) :

Donner un entier positif:
fou=0
GROUPE GENIUS

ALGORITHME 02 : GeniusTest6

a) Dénichez les potentielles erreurs

b) Pour Robin = 4 : tableau de trace et sortie écran

Interprétation attendue : le programme calcule le factoriel de Robin dans la variable DesBois (au départ DesBois = 1, puis multiplication de 1 à Robin).

Pour Robin = 4 :

DesBois commence à 1, puis : 1) DesBois = 1 * 1 = 1
2) DesBois = 1 * 2 = 2
3) DesBois = 2 * 3 = 6
4) DesBois = 6 * 4 = 24

i Robin DesBois (avant) DesBois (après)
Initialisation 4 -- 1
1 4 1 1
2 4 1 2
3 4 2 6
4 4 6 24

Sortie écran (Robin = 4) :

Entrez un nombre:
Félicitation le: 4 entrer vaut 24 Et correspond au ? d’un nombre

Exercice 03 : Structure Conditionnelle (3pts)

Énoncé : demander un numéro de mois (1..12) et afficher le nombre de jours (sans années bissextiles).

Algorithme Jours_Mois ;

Var
    m : entier ;

Debut
    Ecrire('Donner un numero de mois (1..12) : ') ;
    Repeter
        Lire(m) ;
    Jusqu'a (m >= 1 ET m <= 12) ;

    Si (m = 1 OU m = 3 OU m = 5 OU m = 7 OU m = 8 OU m = 10 OU m = 12) alors
        Ecrire('Ce mois contient 31 jours') ;
    SinonSi (m = 4 OU m = 6 OU m = 9 OU m = 11) alors
        Ecrire('Ce mois contient 30 jours') ;
    Sinon
        Ecrire('Ce mois contient 28 jours') ;  // fevrier sans bissextile
    FinSi
Fin.

Exercice 04 : Suite arithmétique (4pts)

Suite : U0 = 1 et Un+1 = Un + 2.

Demande : afficher les n premiers termes (n demandé à l’utilisateur).

Algorithme Suite_Arithmetique ;

Var
    n, i : entier ;
    U : entier ;

Debut
    Ecrire('Donner n (nombre de termes a afficher) : ') ;
    Repeter
        Lire(n) ;
    Jusqu'a (n >= 1) ;

    U <- 1 ;   // U0

    Pour i de 0 a n-1 faire
        Ecrire('U', i, ' = ', U) ;
        U <- U + 2 ;
    FinPour
Fin.

Problème : Le Lièvre et la Tortue (5pts)

Données : M parties avec M = 5. Chaque partie a au plus p tours. A chaque tour, l’utilisateur saisit une valeur de dé (<= 6). Si 6 sort : lièvre gagne (partie perdue pour la tortue). Sinon : tortue avance d’une case. La tortue gagne si elle avance p fois (donc si aucun 6 ne sort pendant les p tours).

But : compter t = nombre de parties gagnées par la tortue, puis afficher la fréquence t/M.

Algorithme Lievre_Tortue ;

Const M = 5 ;

Var
    p, partie, tour, de : entier ;
    t : entier ;
    avance : entier ;
    freq : reel ;
    gagneTortue : booleen ;

Debut
    Ecrire('Donner p (nombre de cases / tours max) : ') ;
    Repeter
        Lire(p) ;
    Jusqu'a (p > 0) ;

    t <- 0 ;

    Pour partie de 1 a M faire
        avance <- 0 ;
        gagneTortue <- VRAI ;

        Pour tour de 1 a p faire
            Ecrire('Partie ', partie, ' - Tour ', tour, ' : valeur du de (0..6) = ') ;

            Repeter
                Lire(de) ;
            Jusqu'a (de >= 0 ET de <= 6) ;

            Si (de = 6) alors
                gagneTortue <- FAUX ;
                // le lievre gagne, on arrete cette partie
                tour <- p ;   // sortie forcee de la boucle Pour (version pseudo)
            Sinon
                avance <- avance + 1 ;
            FinSi
        FinPour

        Si (gagneTortue ET avance = p) alors
            t <- t + 1 ;
        FinSi
    FinPour

    freq <- t / M ;

    Ecrire('Nombre de parties gagnees par la tortue t = ', t) ;
    Ecrire('Frequence t/M = ', freq) ;
Fin.

Par Joel_Yk | Contact :+237652027193

Si vous avez trouvé les eaxamens corrigés en Algorithme de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Télécharger L'exercice Sous Forme de PDF

 

Questions / Réponses

Aucune question. Soyez le premier à poser une question.
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam