Catalogue d'algorithmes justes à compléter

 
                          gilles.hunault@univ-angers.fr

 

On trouvera ici des algorithmes qui sont justes mais incomplets ou maladroits. Ils sont sans doute faciles à modifier. Nous sommes convaincus que lire et modifier des algorithmes, notamment pour ajouter des commentaires ou changer le nom des variables est une pratique très instructive.

 

Table des matières cliquable

  1. Compter les bonbons

  2. Calculer le maximum d'un tableau d'entiers

  3. Extraire des sous-chaines de caractères

  4. Trier un tableau par paires

  5. Tester si un triangle est rectangle

 

1. Compter les bonbons

Pour cet exercice, vous devez renommer les variables.


     ##  auteur gh
     ##  compter le nombre de bonbons en tout
     ##  validation-via : lesbonbons ##
     
     ################################################
     #                                              #
     #  eva a 5 bonbons et daniel a 3 bonbons       #
     #  combien en ont-ils en tout ?                #
     #                                              #
     ################################################
     
     
     affecter v1 <-- 5
     affecter v2 <-- 3
     affecter v3 <-- v1 + v2
     
     ecrire " en tout, les enfants ont " , v3 , " bonbons "
     
     
     ##  noms conseillés de variables à la place de v1, v2, v3 :
     ##  (par ordre alphabétique)
     
     #   daniel
     #   ensemble
     #   eva
     

2. Calculer le maximum d'un tableau d'entiers

Pour cet exercice, vous devez aussi renommer les variables.


     ##  auteur gh
     ##  calcul du maximum d'un tableau de nombres entiers
     ##  validation-via : calcmaxent ##
     
     affecter x1   <-- entierAuHasard(5,10)
     affecter x2   <-- tableauAuHasard(x1,-10,20)
     
     affecter x3 <-- x2[ x1 ]
     pour x4 de1a x1
         affecter x5 <-- x2[ x4 ]
         si x5>x3
            alors
              affecter x3 <-- x5
         fin_si # test de nouveau maximum
     fin_pour # fin de boucle sur x4
     
     ecrire "Le tableau qui contient les " , x1, " valeurs suivantes "
     appeler afficheTableau( x2 )
     ecrire " a pour maximum la valeur " , x3
     
     ##  noms conseillés de variables à la place de x2, x1, x3... :
     ##  (par ordre alphabétique)
     
     #   ind
     #   nbVal
     #   tabVal
     #   valCour
     #   valMax
     

3. Extraire des sous-chaines de caractères

Pour cet exercice, vous devez écrire ou compléter les commentaires aux endroits où il y a des XXXXXXXXXXX.


     # auteur gh
     # extraction de sous-chaines  : l'extension du nom d'un fichier
     ## validation-via : extrext ##
     
     # on veut extraire l'extension dans un nom de fichier
     # par exemple si nomFic est "C:\\Data\\exemple.xls" on veut avoir "xls" dans extFic
     # de même, par exemple si nomFic est "/home/gh/data.serie1.csv" on veut avoir "csv" dans extFic
     
     # 1. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     
     affecter point     <--  "."
     affecter posPoint  <--  1
     affecter lngNomFic <-- longueur(nomFic)
     
     pour indCar de1a lngNomFic
          # carCour est XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          affecter carCour <-- sousChaine( nomFic, indCar, 1 )
          si carCour=point
               alors
                 affecter posPoint <-- indCar
          fin_si # XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     fin_pour # XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     
     
     # 2. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     
     affecter extFic <-- sousChaine( nomFic, posPoint+1, lngNomFic - posPoint )
     

4. Trier un tableau par paires

Pour cet exercice, vous devez renommer les variables et remplacer les XXXXXXXXXXXXXXXXXXXXXXXXX par de vrais commentaires.


     # auteur # (gH)   -_-  tritab.alg  ;  TimeStamp (unix) : 02 Juin 2018 vers 10:55
     # auteur gh
     # tri d'un tableau par paires (tri à bulles)
     
     # le tableau des données se nomme XXXXXXXXXXXXXXXXXXXXXXXXX
     # et il contient XXXXXXXXXXXXXXXXXXXXXXXXX données
     
     pour x1 de1a x2
         pour x3 de1a x2
            affecter x4 <-- x5[ x1 ]
            affecter x6 <-- x5[ x3 ]
            # XXXXXXXXXXXXXXXXXXXXXXXXX
            si x4 > x6
              alors
                 affecter x7  <-- x4
                 affecter x4  <-- x6
                 affecter x6  <-- x7
            fin_si # XXXXXXXXXXXXXXXXXXXXXXXXX
         fin_pour # XXXXXXXXXXXXXXXXXXXXXXXXX
     fin_pour # XXXXXXXXXXXXXXXXXXXXXXXXX
     
     #  noms conseillés de variables à la place de x2, x1, x3... :
          ##  (par ordre alphabétique)
     
          #   ind
          #   jnd
          #   nbVal
          #   tabVal
          #   valCour1
          #   valCour2
          #   tmpVal
     

5. Tester si un triangle est rectangle

Pour cet exercice, vous devez renommer les variables et remplacer les XXXXXXXXXXXXXXXXXXXXXXXXX par de vrais commentaires et des affichages cohérents avec les calculs. On ne fournit pas, volontairement ici, des noms souhaités pour les variables mais on pourra les déduire de la validation.


     ##  auteur gh
     ##  tester si un triangle est rectangle
     ##  validation-via : triangrect ##
     ##  le plus grand coté est nommé cote3
     
     ## méthode : XXXXXXXXXXXXXXXXXXXXXXXXX
     
     affecter cl1 <-- l1 * l1
     affecter cl2 <-- l2 * l2
     affecter cl3 <-- cote3 * cote3
     
     si cl1+cl2=cl3
        alors
          ecrire " le triangle XXXXXXXXXXXXXXXXXXXXXXXXX "
          affecter res1 <-- 1
        sinon
          ecrire " le triangle XXXXXXXXXXXXXXXXXXXXXXXXX "
          affecter res1 <-- 0
     fin_si # XXXXXXXXXXXXXXXXXXXXXXXXX
     
     

 

Code-source de cette page.

 

 

   retour gH    Retour à la page principale de   (gH)