Vous êtes sur la page 1sur 1

UNIVERSITÉ DE CERGY-PONTOISE ALGORITHMIQUE ET LANGAGE C

UFR SCIENCES ET TECHNIQUES – SAINT MARTIN L1S2–MPI – GROUPE 2

CORRECTION DU CONTRÔLE CONTINU 2 JEUDI 13 MARS 2014

EXERCICE 1 : DÉCLARATION ET INITIALISATION DE TABLEAU EXERCICE 2 : INVERSION DE TABLEAU (4 POINTS)


(3 POINTS) entier dim ← 6 ;
#include <stdio.h> entier temp, i ;
tableau[dim] = {0, 1, 2, 3, 4, 5} ;
#define DIM_TAB 6 pour i allant de 0 à dim / 2 faire
temp ← tableau[dim-1-i] ;
int main(void) { tableau[dim-1-i] ← tableau[i] ;
int i; tableau[i] ← temp ;
int tab[DIM_TAB] = {3, 6, 8, 1, 0, 4}; finpour

for (i = 0; i < DIM_TAB; i++) {


printf("%d ", tab[i]);
}

printf("\n");
return 0;
}

EXERCICE 3 : QUE FAIT CE CODE ? (3 POINTS)


Partie 1 : génère aléatoirement des notes comprises entre 0 et 20 dans le tableau de taille N × M ;
Partie 2 : pour chaque ligne, compte les notes supérieures ou égales à 10 et inscrit ce nombre dans la dernière case de
la ligne (M+1ème case).
Partie 3 : affiche la dernière colonne de chaque ligne, soit chaque nombre de notes ≥ 10.

EXERCICE 4 : VALEURS ET ADRESSES (4 POINTS)


Expression Valeur Adresse
*(p + 3) 1
*p + 2 4
tab + 5 &tab[5]
&tab[9] – &tab[6] 3
p + (*p + 4) &tab[6]
&tab[8] – p 8
tab[0] + 5 7
tab[9] – tab[6] -1

EXERCICE 5 : STRUCTURES ET POINTEURS (6 POINTS)


1. struct Horaire {
int heure ;
int minute ;
};
2. struct Horaire algo ;
algo.heure = 13 ;
algo.minute = 30 ;
3. struct Horaire * pHoraire ;
4. pHoraire = &algo ;
5. printf(“ \nLe TD d’algo commence à %d heures %d minutes. ”, algo.heure, algo.minute) ;
6. printf(“ \nLe TD d’algo commence à %d heures %d minutes. ”, pHoraire->heure, pHoraire->minute) ;