École Supérieure de Technologie et d'Informatique

A.0 2005/2006

Session de Contrôle
Matière : Programmation Il

Enseignants : Arla H., Hadda H.                                                     Date : juin 2006

Filière/Classe : Gestion Industrielle (2ème année)                           Durée : 2h

Section / Groupe : A, B, C                                                         Documents : non autorisés

Nixe pages : 2 pages                                                                   Calculatrice non autorisée

Exercice 1

Soient ch une chaîne de caractères contenant la chaîne "bonne chance" et un pointeur sur un caractère p.

On initialise p comme suit :

p = h ;

Quel sera le résultat de chacune des instructions suivantes :

printf("%c\n",*p) ;

printf("%s\n",p) ;

p+=6;

printf("%s\n",p) ;

strcpy(ch,p) ;

printf("%s\n",ch) ;

Exercice 2

Ecrire la fonction saisir_entiér qui- permet. de saisir un entier strictement positif. ((en effectuant le contrôle nécessaire ).

int saisir entier ()

2. En utilisant la fonction saisir entier, écrire la fonction saisir tableau qui permet de saisir un tableau d'entiers strictement positifs, le nombre (d'entiers à saisir dim passé à la fonction comme argument.

void saisir tableau (int *tab,int dim)

3. Ecrire une fonction moyenne qui permet de calculer et de retourner la moyenne d'une série de dim entiers contenus dans un tableau passé en argument.

float moyenne (int *tab,int dim)

4. En utilisant les fonctions ci-dessus, écrire un programme (vHoi d main ) qui :

·           Permet de saisir à partir du clavier deux tableaux d'entiers Tab1 et Tab2, dont les dimensions dim1 et dim2 sont également à saisir à partir du clavier.

·           Calculer et afficher la moyenne des entiers de chacun des tableaux.

Exercice 3

1.      Ecrire la fonction EGAL _ N _CH qui retourne la valeur 1 si les N premiers caractères de CH1 et CH2 sont égaux, sinon la valeur 0. (Si N est plus grand que la longueur de CH1 ourle CH2, le résultat peut être 1 ou 0).

int EGAL N CH (int *CH1, int *CH2)

2.      Tester cette fonction dans un programme principal.

Bonne chance

Barème indicatif : Exercice 1 : (3 pts)             Exercice 2   : (10 pts)                     Exercice 3 : (7 pts)