1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Examen de passage à la deuxième année TDI 1 année 2014 / 2013: avec corrigés

abdelouafiMay 15, 2017

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      202
      Likes Received:
      9
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      On vous propose ici la correction de l'examen de passage à la deuxième année pour la filière technique de développement informatique TDI 1 pour l'année universitaire 2013/2014. Exercices corrigés proposés par nos formateurs au sein de l'établissement.
      examen-de-passage-2014-tdi-v1-1-638.jpg examen-de-passage-2014-tdi-v1-2-638.jpg examen-de-passage-2014-tdi-v1-3-638.jpg examen-de-passage-2014-tdi-v1-4-638.jpg examen-de-passage-2014-tdi-v1-5-638.jpg examen-de-passage-2014-tdi-v1-6-638.jpg examen-de-passage-2014-tdi-v1-7-638.jpg
       

      Attached Files:

      Loading...
      Correction examen de passage 2014

      Exercice 2 :

      Pour comprendre la correction de cette exercice, je vous conseil de passer un coup d’œil sur les fonctionnalités de la fonction printf. Cette fonction peut avoir une utilisation plus avancée autre que l’affichage simple de nombre entier, réel etc..

      [​IMG]



      Maintenant vous devez comprendre ce petit code :
      Code:
      for(int i = 0; i < 8; i++)
          {
              printf(":%*.*s:\n", i, 0, "");
         }
      
      Ici on a une boucle for qui commence de 0 à 7, et une fonction printf qui affiche « :: » selon la valeur de i.

      Pour i=0, on a printf(« :%0.0s:\n,””); donc le programme va remplacer le i par 0 et va afficher tout simplement ::

      Pour i=1 on a printf(« :%1.0s:\n,””); donc le programme va remplacer le i par 1 et va afficher un espace entre le deux point du message : :

      Et ainsi de suite.

      On aura en exécution le résultat suivant :
      [​IMG]


      Maintenant on va utiliser les fonctionnalités de printf pour écrire un programme en C qui permet d’écrire la fonction cerf-volant.

      Le programme final est le suivant :
      Code:
      #include <stdio.h>
      #define Taille 4
      void cerfvolant(int N) {
          int i;
          
          for(i=0;i<N;i++)
              printf("%*.*s/%*.*s|%*.*s\\\n",N-i-1,N-i-1," ",i,i," ",i,i," ");
         for(i=0;i<=N*2;i++) putchar('-');
          puts("");
          for(i=0;i<N;i++)
              printf("%*.*s\\%*.*s|%*.*s/\n",i,i," ",N-i-1,N-i-1," ",N-i-1,N-i-1," ");
      }
      int main(void) {
          cerfvolant(Taille);
        
      }
      
      L’exécution :

      Comme vous pouvez le remarquer la fonction est décomposée en trois parties, donc trois boucles. Une boucle pour afficher la partie supérieure, une autre boucle pour afficher les « -----« et la dernière boucle pour afficher la partie inférieure du graphe.
      [​IMG]

      La boucle 1 :

      Code:
          for(i=0;i<N;i++)
              printf("%*.*s/%*.*s|%*.*s\\\n",N-i-1,N-i-1," ",i,i," ",i,i," ");
      
      si on veut décortiquer un peut cette fonction printf on peut faire comme ceci :

      printf("%*.*s/ ,N-i-1,N-i-1," ") : Décalage de N-i-1 depuis le début de la ligne, puis afficher le caractère \

      printf(“%*.*s|”, i,i," ") : affichage de |

      printf(“%*.*s\\\n”, i,i," "): affichage de \

      Notez bien que pour afficher le caractère \ il faut faire printf(“\\“), c'est-à-dire doubler le \.



      Partie II : partie pratique

      Dossier 1 : langage de programmation structuré (20 pts)

      Exercice 1 : (10 pts)

      a- Que fournir l’instruction ((toupper(c)+5-'A')%26)+'A' dans le cas ou c est égale à b

      Si on suppose que toupper (a)= α alors que toupper (b)= α+1

      Donc ((toupper(c)+5-'A')%26)+'A'= (α+1 +5 - α)%26+ α

      =6%26+ α=6+ α

      6+ α est le code ASCI de G

      Si c est égale à ‘L’ :

      ((toupper(c)+5-'A')%26)+'A'= (α+11 +5 - α)%26+ α=16%26+ α=16+ α

      16+ α est le code ASCI de Q

      Si c est égale à ‘V’ :

      ((toupper(c)+5-'A')%26)+'A'= (α+21 +5 - α)%26+ α=26%26+ α=0+ α = α

      α est le code ASCI de A

      Si c est égale à ‘Z’ :

      ((toupper(c)+5-'A')%26)+'A'= (α+25 +5 - α)%26+ α=30%26+ α=4+ α

      4+ α est le code ASCI de E



      Donc B donne G

      Et L donne Q

      Et V donne A

      Et Z donne E


      Donc cette expression fait un pas de 5 caractère vers l’avant

      b- Le contenu du fichier « res.txt » est :

      GTSOTZW

      OJ

      ATZX

      XTZMFNYJ

      GTSSJ

      HMFSHJ




      Exercice 2 : (10 pts)

      Le programme affichera ceci :

      debut main : a=5, b=3

      debut fct: n=5, *m=3

      debut get : x=6, *k=6

      fin get : x=7, *k=6

      fin fct : n=6, *m=42

      Fin main : a=5, b=42

Share This Page

Share