Sunteți pe pagina 1din 2

UNIVERSITÉ DE CERGY-PONTOISE ALGORITHMIQUE ET LANGAGE C

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

CONTRÔLE CONTINU 2 JEUDI 13 MARS 2014


NOM : ...................................................................

L’usage de l’ordinateur est interdit : l’ensemble des exercices devra être résolu uniquement sur
feuille.

EXERCICE 1 : DÉCLARATION ET INITIALISATION DE TABLEAU (3 POINTS)


Écrire un programme complet en C qui déclare un tableau d’entiers de taille DIM_TAB = 6, qui initialise les
valeurs, et fait afficher l’ensemble des valeurs du tableau.

EXERCICE 2 : INVERSION DE TABLEAU (4 POINTS)


Concevoir un algorithme permettant d’inverser les valeurs d’un tableau à une dimension : parcourir les
éléments du tableau à l’aide d’un indice i et échanger la valeur contenue dans la ième case et sa symétrique
par rapport au milieu du tableau.

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


Indiquer ce que font les parties 1, 2 et 3 du code suivant.
#include <stdio.h>
#include <sys/types.h>
#include <time.h>
#define N 5
#define M 6

int main(void) {
int i, j, n;
int notes[N][M+1];

srand(time(0));

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


for (j = 0; j < M; j++) { Partie 1
notes[i][j] = rand()%21;
}
}

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


n = 0;
for (j = 0; j < M; j++) {
if (notes[i][j] >= 10) {
n++; Partie 2
}
}
notes[i][M] = n;
}

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


printf("%d ", notes [i][M]); Partie 3
}

printf("\n");
return 0;
}
CONTRÔLE CONTINU 2

NOM : ...................................................................

EXERCICE 4 : VALEURS ET ADRESSES (4 POINTS)


Soient les déclarations suivantes :
int tab[10] = {2, 5, 7, 1, 6, 0, 9, 4, 3, 8} ;
int * p = tab ;

Indiquer la valeur ou adresse correspondant à chaque expression ci-dessous :

Expression Valeur Adresse


*(p + 3)
*p + 2
tab + 5
&tab[9] – &tab[6]
p + (*p + 4)
&tab[8] – p
tab[0] + 5
tab[9] – tab[6]

EXERCICE 5 : STRUCTURES ET POINTEURS (6 POINTS)


1. Définir une structure nommée Horaire ayant deux caractéristiques : heure et minute, toutes deux entières.
2. Définir une variable de type Horaire nommée algo et réaliser la saisie des caractéristiques de cette
variable pour que l’horaire de algo soit égal à 13h30.
3. Définir un pointeur pouvant contenir l’adresse d’un Horaire.
4. Affecter ce pointeur avec l’adresse de la variable que vous avez définie à la question 2.
5. Afficher le contenu de la variable algo sans le formalisme pointeur.
6. Afficher le contenu de la variable algo avec le formalisme pointeur.

S-ar putea să vă placă și