Académique Documents
Professionnel Documents
Culture Documents
GÉNIE DE ELECTRIQUE
DU BURKINA FASO
———
1ÈRE ANNÉE TRONC COMMUN
FORMATION INITIALE (1ATCFI)
1ATCFI A et B NOM :
Année académique 2021 - 2022
CORRIGÉ du Devoir Surveillé No 2 Prénom(s) :
Juillet 2022
Durée : 03H Enseignants : Cédric BÉRÉ et Alexis NAGALO
Ce contrôle continu contient 11 pages (y compris cette page de garde) et 3 exercices. Vérifiez
qu’aucune page ne manque. Inscrivez toutes les informations requises en haut de la page (Noms et
Prénoms) et mettez vos initiales en fin de chaque page, au cas où certaines pages se sépareraient
et se mélangeraient aux copies de vos collègues.
Aucun document ni support de cours n’est autorisé sauf le mémo du langage qui
vous seras remis lors de la composition !
Vous êtes tenus d’inclure toutes les pages de la partie QCM de cet examen dans votre copie finale
afin que toutes les questions puissent êtres évaluées. Les barème suivant sera appliqué :
NOTE (/20) :
NE PAS ECRIRE DANS LES CASES DU TABLEAU CI-DESSUS !
Répondez aux questions dans les espaces prévus à cet effet sur la feuille de contrôle.
Si vous êtes à court d’espace pour une réponse, continuez au dos de la page.
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 2 of 11 Juillet 2022
(b) 1 point Dans un organigramme, une instruction d’entrée ou de sortie est représentée
par : ...
A. Un losange
B. Un rectangle
C. Un parallélogramme
D. Un cercle
(c) 1 point Dans un organigramme, un calcul (processus) est représenté par : ...
A. Un losange
B. Un rectangle
C. Un parallélogramme
D. Un cercle
(e) 1 point Quelle est la sortie du code suivant ? ( Pour cette question, Bonne réponse :
1 ; Mauvaise réponse : -0,25 ; Absence de réponse 0.)
A. 6.0000000
B. 6.8
C. 6
D. Erreur de compilation
#include <stdio.h>
int main()
{
int var = 6;
float var = 6;
printf("%d", var )
return 0;
}
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 3 of 11 Juillet 2022
(g) 2 points Quelle(s) est(sont) la(les) bonne(s) syntaxe(s) d’initialisation de tableau d’en-
tiers de taille 4 :
A. int tab[2,10, 5, 9] ;
B. int 2,10, 5, 9 ;
C. int tab[4] ={2,10, 5, 9} ;
D. int tab[] ={2,10, 5, 9} ;
(h) 2 points Quelle(s) est(sont) la(les) bonne(s) syntaxe(s) de déclaration d’une chaine de
caractère ayant la valeur Bienvenue à l’ISGE
A. char ch=”Bienvenue à l’ISGE” ;
B. char ch[10]=”Bienvenue à l’ISGE” ;
C. char ch[20]=”Bienvenue à l’ISGE” ;
D. char ch[]=”Bienvenue à l’ISGE” ;
(j) 1 point Quelles sont les valeurs des variables après exécution de cet algorithme :
Toto = 24;
Tutu = Toto
Tutu = Toto + 4
Tutu = Tutu + 1
Riri = "Loulou"
Fifi = "Riri"
Riri = Fifi
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 4 of 11 Juillet 2022
A. Toto vaut 24 ; Tutu vaut 29 ; Riri vaut ”Riri” ; Fifi vaut ”Riri”
B. Toto vaut 4 ; Tutu vaut 24 ; Riri vaut ”Loulou” ; Fifi vaut ”Fifi”
C. Toto vaut 24 ; Tutu vaut 1 ; Riri vaut ”Riri” ; Fifi vaut ”Riri”
D. Toto vaut 24 ; Tutu vaut 28 ; Riri vaut ”Loulou” ; Fifi vaut ”Riri”
2 Question de cours
Question 2
(a) 2 points Citez trois (03) langages de programmation ?
Solution:
(b) langage C, langage php, JAVA, AJAX, JavaScript, Python, Ruby, ...
(c) 3 points Quelles différences faites-vous entre un langage compilé et un langage interprété ?
(d) 5 points Donnez des exemples identiques (même résultat) d’utilisation de ces deux boucles
en langage C. Quelle est la différence entre la boucle while() et la boucle do ... while()
expliquez à partir de vos exemples.
Solution:
#include <stdio.h>
int main()
{
int i;
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 5 of 11 Juillet 2022
}while(i<=10);
return 0;
}
Solution:
#include <stdio.h>
int main()
{
int i;
scanf("%d", &i);
Ici, la principale différence entre la boucle while et la boucle do while est la suivante :
Dans la boucle while la condition de vérification s’exécute avant l’itération de la boucle,
alors que do while, vérifie la condition après l’exécution des instructions à l’intérieur de la
boucle.
3 Programmation
Question 3
(a) 4 points Écrivez un programme en C qui demande le rayon d’un cercle (flottant) et
affiche son diamètre, sa circonférence et sa surface ?
Solution:
#include<stdio.h>
int main(){
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 6 of 11 Juillet 2022
diam = 2*ray;
printf("Le diamètre du cercle est : %f", diam);
circ = 2*3.14*ray;
printf("La circonférence du cercle est : %f", circ);
surf = 3.14*ray*ray;
printf("La surface du cercle est : %f", surf);
return 0;
}
(b) 4 points Réaliser le programme en C qui demande un entier et indique s’il est pair ou
impair. ?
Solution:
#include<stdio.h>
#include<stdlib.h>
main(void)
{
int a;
if(a%2==0)
{
printf("\t \n %d est nombre pair\n",a);
}
else
printf("\t \n %d est nombre impair\n ",a);
return 0;
}
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 7 of 11 Juillet 2022
(c) 4 points Ecrivez un programme en C qui lit deux variables A et B, puis calcule leur
somme dans la variable S et l’affiche, ensuite leur produit dans la variable P et l’affiche et
enfin leur moyenne dans la variable M et l’affiche ?
Solution:
#include<stdio.h>
int main(){
S = A + B;
P = A*B;
M = S/2;
return 0;
}
(d) 6 points Ecrivez un programme en C qui permet à l’utilisateur d’entrer 10 valeurs entières
(On utilisera un tableau). Le programme affichera ensuite la somme des entiers. ?
Solution:
#include<stdio.h>
int main(){
int i, somme;
int tab[10];
somme=0;
for(i=1; i<10; i++){
somme=somme+tab[i];
}
printf("Le Somme est : %d ", somme);
return 0;
}
(e) 4 points Ecrivez un autre programme en C qui utilise seulement 2 variables Var1 et Var2
pour lire au clavier 3 valeurs, puis affiche leur somme à l’écran ?
Solution:
#include<stdio.h>
int main(){
return 0;
}
Réponse à la question 1 :
Solution:
#include<stdio.h> /*Déclaration de bibliothèque*/
/* Programme principal*/
int main(){
int A, B, C,i, n;
//Initialisation
A = 2;
B = 3;
return 0;
}
Réponse à la question 2 :
Solution:
#include<stdio.h> /*Déclaration de bibliothèque*/
/* Programme principal*/
int main(){
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 10 of 11 Juillet 2022
int A, B, C, rang, X;
do{
printf("Entrer la valeur de X : ");
scanf("%d", &X);
}while(X<=2);
//Initialisation
A = 2;
B = 3;
rang = 1;
do{
C = B + 2*A;
A = B;
B = C;
rang++;
}while(C<X);
if(C==X)
printf("%d est un terme de la suite et son rang est %d", X, rang);
else
printf("%d N’EST PAS un terme de la suite", X);
return 0;
}
(g) 10 points Pierre-André est un lycéen, son père lui a offert une tirelire qui ne contient
rien au départ(0 F CFA).
Il décide d’épargner à partir de l’argent de son goûter à raison de 25 FCFA de plus par
semaine par rapport à la semaine précédente.
Exemple :
— semaine No 1, il doit épargner 25F , montant total de sa tirelire = 0F + 25F soit
25F
— semaine No 2, il doit épargner 50F = (25F + 25F), montant total de sa tirelire =
25F + 50F soit 75F
— semaine No 3, il doit épargner 75F = (50F + 25F), montant total de sa tirelire =
75F + 75F soit 150F
— semaine No 4, il doit épargner 100F = (75F + 25F), montant total de sa tirelire =
150F + 100F soit 250F
En consiédrant qu’une année scolaire comporte 36 semaines de cours. Écriver le programme
Tirelire.c qui affiche pour chaque semaine le montant qu’il doit épargner mais aussi le
montant total de sa tirelire durant chaque semaine de cours.
1ATCFI A et B CORRIGÉ du Devoir Surveillé No 2 - Page 11 of 11 Juillet 2022
Solution:
#include<stdio.h> /*Déclaration de bibliotheque*/
int main(){
int somAEpargner[36];
int mtTotalEpargne = 0;
int i;
somAEpargner[0]= 25; //Première semaine
return 0;
}