Examens de Fin de Module : Langage de Programmation Structurée

Examen Fin Module 1 :

QCM : (5 pt)
1. Que renvoie la fonction strcmp (comparaison de chaînes) si les 2 chaînes comparées sont identiques ?
        a. 1
        b. 0
        c. -1

2. Ce programme a un défaut. Mais lequel ?

main(){
        char ville[100];
        printf("Dans quelle ville habitez-vous ? ");
        scanf("%s", &ville);
        printf("Vous habitez %s, je connais bien cette ville !", ville);
        }

a. Il manque un & devant la variable "ville" dans le printf
bb. Il manque une * devant la variable "ville" dans la déclaration de la variable.
c. Il y a un & en trop devant "ville" dans le scanf.

3. De quel type doit être le pointeur de fichier ?
        a. FILE
        b. FILE*
        c. File
        d. File*

4. Laquelle de ces affirmations est fausse ?
a. Une fonction en C peut ne pas renvoyer une valeur
b. Une fonction en C peut renvoyer une valeur de n’importe quel type
c. Une fonction peut renvoyer plusieurs valeurs

5. Dans quel cas l'instruction return n'est pas obligatoire ?
a. Quand la fonction ne prend aucun paramètre en entrée
b. Quand la fonction est de type void
c. Quand la fonction doit renvoyer 0

Exercice : 15 Pts
On veut créer un programme pour gérer les filières et les modules enseignés au sein de notre établissement.
Chaque module est défini par son numéro (entier) et son intitulé (Chaîne de caractères).
Toute filière de notre établissement est définie par son code (Chaîne de caractères), son intitulé (Chaine de caractères), nombre de modules (entier) et l’ensemble des modules liés à cette filière (tableau d’entiers –maximum 20 modules-).

1. Créer une fonction creerListeModules qui permet de :
    · Créer un fichier listeModules.txt.
    · Enregistrer, sur ce fichier, les informations saisies par l’utilisateur sur un module.
N.B : la saisie se termine si l’utilisateur tape 0. (4 pt)

2. Créer une fonction chercherModule qui permet de vérifier si le numéro de module passé en paramètre existe sur le fichier. Cette fonction retourne 1 si on trouve le module sinon elle retourne -1. (4 pt)

3. Créer une structure Filiere. (1 pt)

4. Créer une fonction creerListeFiliere qui permet de :
Remplir un tableau de filières passé en paramètre. Le nombre de filières est aussi passé en paramètre.
Avant de lier un numéro de module à une filière il faut vérifier s’il existe sur le fichier listeModules.txt en utilisant la fonction chercherModule. Si le numéro ne correspond à aucun module afficher un message d’erreur et redemander la saisie d’un autre numéro. (6 pt)

Examen Fin Module 2 :

Exercice 1 : (5 points)
Corriger le programme suivant pour pouvoir afficher tous les diviseurs d’un nombre saisi au clavier :
#include
#include
int main(){
            int nbr,div;
            printf("Entrer un nombre\n") ;
           scanf("%d", &nbr) ;
            while (div<nbr){
                                    if(nbr / div == 0) div+=1;
                                     }
            printf("%d\n", div);
            getchar();
            return 0;
             }

Exercice 2 : (7 points)
Les points cols d'un tableau à deux dimensions sont les éléments du tableau qui sont maximum sur leur ligne et minimum sur leur colonne; ou minimum sur leur ligne et maximum sur leur colonne.
Ecrire la procédure qui:
1. Reçoit une ligne et retourne la valeur du maximum et la case où elle existe.
2. Reçoit le numéro de colonne du maximum retrouvé, et retourne un booléen "vrai" dans le cas où il est minimum sur sa colonne et "faux" dans le cas contraire.
3. Reçoit une ligne et retourne la valeur du minimum et la case où elle existe.
4. Reçoit le nombre de colonne du minimum retrouvé, et retourne un booléen "vrai" dans le cas où il est maximum sur sa colonne et "faux" dans le cas contraire.
5. Ecrire le programme principal qui recherche dans un tableau à deux dimensions les points cols en utilisant les procédures précédentes.

Exercice 3 : (8 points)
On veut utiliser un tableau pour gérer un stock d’articles.
1. Le responsable sur le stock doit alimenter le stock. Ecrire une fonction pour ajouter plusieurs articles au stock. Pour tout article, il faut donner sa référence, son nom et sa quantité en stock. (4 pt)
2. Ecrire une fonction permettant de supprimer un article du stock. La référence de l’article est passée en paramètre de cette fonction. (2 pt)
3. Ecrire une fonction pour trier les articles du stock selon la quantité en stock et en ordre croissant. (4 pt)
4. Ecrire un programme principal pour: (5 pt)
     · Alimenter le stock avec un nombre d’articles saisi au clavier.
     · Trier les articles.
     · Afficher la liste des articles.

Autres EFM (s) sur le lien suivant :

No comments:

Post a Comment

Retrouvez-nous sur Facebook
×Facebook Les Filières Informatiques