Informatique et Programmation Examen N°1
18 mars 2013 18h30-20h30
Nom : Prénom :
Remarques :
Exercice 1 :
Ecrire un programme qui permet de saisir des caractères et qui affiche leur code ascii en décimal et en hexadécimal.
Exercice 2 :
Ecrire un programme qui permet saisir des chiffres sous forme de caractère et qui affiche leur valeur numérique ( '0' 0, '1' 1, … '9' 9). Le programme devra vérifier que le caractère saisi correspond bien à un chiffre et redemander une nouvelle saisie en cas d'erreur.
Exercice 3 :
Reprendre le programme de l'exercice 2 et en faire une fonction renvoyant la valeur numérique du caractère (ou à défaut son code ascii).
Exercice 4 :
Reprendre le programme de l'exercice 3 et modifier la fonction de telle manière qu'elle remplisse un tableau reçu en argument (ainsi que sa taille). Les chiffres seront saisis au clavier sans espaces. La fonction devra renvoyer 1 en cas de succès et 0 en cas d'erreur de saisie (caractères insatisfaisants ou trop ou pas assez de chiffres).
Exercice 5 :
Ecrire la définition d'une fonction :
void intzero(int *add, int n);
permettant d'initialiser à 0 n cases mémoires contenant des entiers et situées à partir de l'adresse add.
Exercice 6 :
La fonction suivante est entachée d'erreurs de syntaxes et algorithmiques :
void sort(int tab[], int dim) { int i,flag;
for(flag=1; flag==1;) {
for(flag=0,i=0; i<dim; ++i) { if(tab[i]>tab[i+1]) {
aux=tab[i];
tab[i+1]=tab[i];
tab[i+1]=aux;
flag=1;
} } } }
Quel est le but de cette fonction ?
Corriger les erreurs et valider le bon fonctionnement de la fonction grâce à un petit programme de test.