Vous êtes sur la page 1sur 4

SEMESTRE 1 - EXAMEN FINAL N°1

MODULE : INFORMATIQUE I
Date : 14/01/2017 Durée : 2H
REMARQUE : - L’USAGE DE LA CALCULATRICE EST STRICTEMENT INTERDIT.
Questions de cours (6 pts) :

1) En programmation C, pour lire une valeur entière d’une variable A, on peut faire :
A) scanf("%d",A) ;
B) scanf("%d",&A) ;
C) scanf("%f",&A) ;
2) Une structure conditionnelle à une seule condition permet :
A) De satisfaire une seule condition pour exécuter le traitement associé.
B) D’exécuter une seule instruction suite à la validation d’une condition.
C) D’exécuter un ensemble d’instructions suite à la validation d’une ou plusieurs conditions.
3) Soit le sous programme suivant :
i=0;
while(i <10){
printf("%d", i);
i++; 1: #include<stdio.h>
++i;} 2: int a;
3: char char;
A) fera 10 affichages de i.
4: int main(){
B) fera 5 affichages de i.
5: scanf("%d",a);
C) fera 6 affichages de i. 6: scanf("%c",&ch);
4) Quel est l'opérateur capable de stocker une valeur dans 7: if(a=1){ch=’a’;
une variable ? 8: }
A) + 9: else{
B) = = 10: if(a<1){ch=’=’;}
C) = 11: else{
5) 12: a=’2’;}}
6) Corriger les erreurs dans le programme C suivant, 13: printf("a=%d est un caractere: ",a);
14: printf("ch =%d est un caractere", ch);
Remarque : 15: return 0;}
Il faut réécrire que les lignes qui contiennent l’erreur.
Exercice 1 (4 pt) :

I) Soit le nombre décimale signé : N=-9.


1) Donnée le nombre binaire équivalent sur 16 bits en complément à 2.
2) Donnée son équivalent en hexadécimale.
II) Soit la fonction booléenne suivante : ( , , ) = ̅ ̅ + + ̅
1) Simplifier la fonction F(x,y,z), on utilisant la méthode de Karnaugh.
2) Si on veut simplifier la même fonction F(x,y,z) par l’utilisation des théorème et postulats de l’algèbre
de Boole, quel seront les théorèmes utilisées ?.

Exercice 2 (5 pt) :

Soit les deux algorithmes suivants :

Page 1/2
Nom : algo1 Nom : algo2
Variables d'entrée : p:entier ; Variables d'entrée : m,k :entier ;
Variables intermédiaire: w:entier ; Variables intermédiaire: i :entier ;
Variables de sortie: x,y,z :entier ; Variables de sortie: S :entier ;
Début Début
lire(p) ; lire(m) ;
x=10 ; y=8 ; z=16 ; lire(k) ;
si(p==1) alors début_si s=0 ;
w=x ; pour i allant de 1 jusqu’a k par pas de 1 faire
x=y ; debut_pour
y=z ; S=S+m ;
z=w ; fin_pour ;
Fin_si ecrire(S);
sinon début_sinon Fin.
si (p==2) alors début_si
w=x ;
x=z ;
z=y ;
y=w ;
fin_si
sinon début_sinon
écrire('' erreur '') ;
fin_sinon
écrire ('' les valeur de x, y et z sont :") ;
écrire(x); écrire(y) ; écrire(z) ;
Fin
I) Soit l’algorithme algo1, donner les valeurs des variables de sorties x, y, et z pour les trois valeurs de p
suivantes:

A) L’utilisateur va saisir la valeur 1,


B) L'utilisateur va saisir la valeur 2,
C) L’utilisateur va saisir la valeur 16,

II) Soit l’algorithme algo2,


1) Quelle sera la valeur de la variable de sortie S après exécution de l’algorithme algo2 :
A) Pour k=0 et m= 0
B) Pour k=5 et m=3
2) Déduire le rôle de cet algorithme (algo2).

Exercice 3 (4pt)

Ecrire un algorithme qui demande à l'utilisateur un temps quelconque sous forme de trois variables
L'heure, Minute et Seconde, et renvois par la suite s'il s'agit d'un temps valide.

Par exemple le 28h31m51s c’est un temps invalide par contre le 16h3m55s c’est un temps valide.

Page 2/2
Corrigée EF N1 2016 2017

Questions de cours (6pts) :(une ou plusieurs bonnes réponses par question)

1) En C, pour lire une valeur entière dans la variable X, on peut faire :


B) scanf("%d",&A) ; (1pt)
2) Une structure conditionnelle à une seule condition permet :
A) De satisfaire une seule condition pour exécuter le traitement associé. (1pt)
3) Le sous programme:
B) fera 5 affichages de i. (1pt)
4) l'opérateur qui est capable de stocker une valeur dans une variable :
C) = (1 pt)
5)
B) les test imbriqué (0.75pt)
6) La correction des erreurs dans le programme C,
3: char ch; (0.25pt)
5: scanf("%d",&a); (0.25pt)
7: if(a==1){ch=’=’; (0.25pt)
12: a=2; (0.25pt)
14: printf("ch =%c est un caractere", ch); (0.25pt)
Exercice 1 (4pt)

I) N=-9.
1) 0000 0000 0000 1001 SVA(+9) (1pt)
1111 1111 1111 0110 CP1(-9)
+ 1
1111 1111 1111 0111 CP2(-9)
2) N=(1111 1111 1111 0111)2=(FFF7)16 (0.5pt)
II) Soit la fonction booléenne suivante : ( , , ) = ̅ ̅ + + ̅

1)
00
yz 01 11 10
x
0 1 0 0 1

1 1 1 0 0

(chaque groupement 0.25=> 0.75pt)

( , , )= ̅ ̅+ (0.75pt)

2) ( , , ) = ̅ ̅ + + ̅= ̅ ̅+

Le théorème utilise est : Consensus généralisé (1pt)

Page 2/2
Exercice 2 (5pt)

I) Le résultat d’exécution de l’algo1 est :


A) x=8, y=16 et z=10 (1pt)
B) x=16, y=10 et z=8 (1pt)
C) x=10, y=8 et z= 16 (0.5pt)
II)
1) Le résultat d’exécution de l’algo1 est :
A) k=0,m=0 le résultat est : S=0 ; (1pt)
B) k=5, m=3 le résultat est : S=15 ; (1pt)
2) le rôle de cet algorithme est:
Calculer la somme des m, k fois ou multiplier k*m (0.5pt)
3) la version du programme sans utiliser les boucles:

si(k<0) alors debut_si


S=0;
fin_si (0.5pt)
sinon début_sinon
s=m*k
fin_sinon ;

Exercice 3 (4pt) :

Nom : validation du temps


Variables d'entrée : h,m,s ;
Variables intermédiaire: ____________ ;
Variables de sortie:______________;
Début
lire(h) ;
lire(m) ;
lire(s) ;
si(h>=0 && h<24 ) alors début_si
si(m>=0&&m<=60) alors début_si
si(s>=0 && s<=60) alors début_si
Ecrire ("l’heur est valide") ;
Fin_si
Sinon debut_sinon
Ecrire("l’heur est invalide") ;
Fin_sinon
Fin_si
Sinon debut_sinon
Ecrire("l’heur est invalide") ;
Fin_sinon
Fin_si
Sinon debut_sinon
Ecrire("l’heur est invalide") ;
Fin_sinon
Fin.

Page 2/2

Vous aimerez peut-être aussi