0% ont trouvé ce document utile (0 vote)
4 vues6 pages

Questions et Exercices sur l'Algorithme

Le document présente une épreuve de brevet de technicien en informatique de gestion pour la session 2017 au Niger, comprenant des questions de cours, des exercices pratiques et un problème de fusion de fichiers. Les candidats doivent démontrer leur compréhension des concepts d'algorithmes, ainsi que leur capacité à écrire des fonctions et procédures en utilisant des fichiers binaires. Les tâches incluent la définition de variables, l'écriture de fonctions pour déterminer des propriétés des nombres et la manipulation de fichiers pour gérer les résultats des candidats.

Transféré par

abdoulzakou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues6 pages

Questions et Exercices sur l'Algorithme

Le document présente une épreuve de brevet de technicien en informatique de gestion pour la session 2017 au Niger, comprenant des questions de cours, des exercices pratiques et un problème de fusion de fichiers. Les candidats doivent démontrer leur compréhension des concepts d'algorithmes, ainsi que leur capacité à écrire des fonctions et procédures en utilisant des fichiers binaires. Les tâches incluent la définition de variables, l'écriture de fonctions pour déterminer des propriétés des nombres et la manipulation de fichiers pour gérer les résultats des candidats.

Transféré par

abdoulzakou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE DU NIGER

Brevet de Technicien
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR, EPREUVE : Algorithme
Supérieur
DE LA RECHERCHE ET DE L’INNOVATION
OFFICE NATIONAL DES EXAMENS ET CONCOURS BTS D’ETAT DUREE : 3 heures
DU SUPERIEUR (ONECS)
DIRECTION DES EXAMENS ET CONCOURS DU COEFFICIENT : 3
SUPERIEUR Session 2017
FILIERE : INFORMATIQUE DE GESTION

A. Questions de cours sur 2.5 points


1. Donnez une définition des données suivantes
a. Variable globale
b. Variable locale
c. Constante
2. Quelle est la différence entre ces deux modes de passage de paramètres
à une fonction (procédure) :
a. Passage par valeur
b. Passage par Adresse

B. Exercices sur 5.5 points


1. Exercice 1 /2pts
Soit la fonction suivante où M et N sont des entiers positifs avec N
différent de 0.
Fonction QUOI(M,N : Entier) : Entier
Variables
Q : Entier
Début
Q 0
Tantque (M > N) Faire
Q Q+1
MM-N
Ftanque
QUOI Q
FIN
En exécutant : QUOI(17,3) ; QUOI(12,4) ; QUOI(9,2) ; QUOI(0,6)
Dites quelle opération arithmétique effectue cette fonction.
2. Exercice 2./ 3.5pt
En mathématique, un entier est dit parfait s’il est égal à la somme de tous
ses diviseurs sauf lui-même .
Exemple :
6= 1+2+3
28 = 1+2+4+7+14
Ecrire la fonction booléenne EstParfait qui reçoit un entier N strictement
positif puis renvoie VRAI si N est parfait et FAUX dans le cas contraire.
On dispose des opérateurs DIV et MOD qui calculent respectivement le
quotient entier et le reste de la division entière.
C. Problème sur 12 points
Pour l’organisation du BTS session 2017, l’ONECS a retenu deux centres
pour la filière Informatique de Gestion à savoir Zinder et Niamey vu que le
nombre des candidats ne dépasse pas 200.

1/2
Pour ce faire, l’ONECS utilise deux fichiers binaires FZR et FNY qui ont la
même structure.
On vous donne les types et variables globales suivants :
Type Tcandidat = Enregistrement
NumTable : Chaine(4)
NomPrenom : Chaine(40)
NumJury : Entier
Moyenne : Reel /* moyenne générale* /
Fenregistrement
FNY : Fichier de Tcandidat
/*fichier de Niamey correspondant au fichier ‘’C:\ONECS\2017\[Link]’’*/
FZR : Fichier de Tcandidat
/*fichier de Zinder correspondant au fichier ‘’C:\ONECS\2017\[Link]’’*/
FNAT : Fichier de Tcandidat
/*fichier National correspondant au fichier
‘’C:\ONECS\2017\[Link]’’*/
FAD : Fichier de Tcandidat
/*fichier des admis correspondant au fichier ‘’C:\ONECS\2017\[Link]’’*/

Les Fichiers FRZ et FNY sont triés par ordre croissant de NumTable.

TAB : TABLEAU [1..200] de Tcandidat.


NbrCandidat : Entier /* nombre réel de tous les candidats*/

Travail à faire.
1. Ecrire la procédure FusionnerFichier qui fusionne les Fichiers FZR et FNY
dans le Fichier FNAT de telle sorte que ce dernier soit lui-même trié par
ordre croissant de NumTable. 4pts
FusionnerFichier doit aussi renseigner NbrCandidat avec le nombre exact
des candidats.
2. Ecrire une Procédure ChargerTable qui rempli le vecteur TAB avec les
données de FNAT. 4pts
3. Ecrire une Procédure AfficherResultat qui, à partir de TAB et en utilisant
NbrCandidat, affiche tous les résultats en même temps qu’il écrit dans le
fichier FADMIS les candidats dont la moyenne est >=10.
Nb :
On vous donne les primitives suivantes :
Fouvrir(F,chemindufichier, ‘’l’’) ouvre le fichier F en lecture en l’associant
au fichier physique dont le nom est spécifié dans la chaine chemindufichier.
Fcreer(F,chemindufichier) crée le fichier F et l’associe au fichier physique
dont le nom est spécifié dans la chaine chemindufichier.
Ffermer(F) ferme le fichier F.
Ffin(F) teste la fin du fichier F (VRAI ou FAUX)
Flire(F,BUFFER) lit un enregistrement de F et le place dans la variable
BUFFER
Fcrire(F,BUFFER) écrit le contenu de la variable BUFFER dans le fichier F.

2/2
On suppose que les fichiers FZR et FNY existent et qu’aucune de ces
primitives ne provoque d’erreurs matérielles.
Important : les commentaires seront bien appréciés.

3/2
Correction
D. Questions de cours sur 2.5 points
1. Donnez une définition des données suivantes
a. Une Variable globale est une donnée qui est vue et reconnue dans
l’ensemble d’un programme. Elle est déclarée une seule fois. Sa vie
s’arrête à la fin du programme.
b. Variable locale est une donnée qui n’est reconnue que dans la procédure
qui la déclare. Sa vie s’arrête à la fin de l’exécution de la procédure.
c. Une Constante est une donnée dont la valeur ne change tout au long de
l’exécution d’un programme.

3. Quelle est la différence entre ces deux modes de passage de paramètres


à une fonction (procédure) :
a. Quand un paramètre est passé par valeur à une procédure ou
fonction, celle-ci peut l’utiliser dans des expressions mais ne peut
pas changer sa valeur.
b. Quand un paramètre est passé par adresse (ou nom) à une
procédure ou fonction, celle-ci peut l’utiliser dans des expressions et
peut changer sa valeur.

Exercices sur 5.5 points


Exo 1.
QUOI(17,3) = 5
QUOI(12,4) = 3
QUOI(9,2) = 4
QUOI(0,6) =0
La fonction QUOI effectue la division entière de M et N.
Exo2.
Il faut comparez N à la somme de tous ses diviseurs sauf lui-même. En
cas d’égalité il est parfait sinon il ne l’est pas.

Fonction EstParfait (N : Entier) : Booléen


Variables I, SOM : Entier
Début
SOM0
Pour I1 à N DIV 2 faire
Si (N MOD I=0) Alors
SOMSOM+I
Fsi
Fpour
EstParfait(SOM=N)
/* Si (N=SOM) alors EstParfaitVRAI sinon EstParfaitFAUX*/
Fin

Problème
Procédure FusionnerFichier ()
Variables

4/2
BUFNY, BUFZR : TCanidat
Début
Fouvir (FNY, ‘’C:\ONECS\2017\[Link]’’, ‘’l’’)
Fouvir (FZR, ‘’C:\ONECS\2017\[Link]’’, ‘’l’’)
Fcreer (FNAT, ‘’C:\ONECS\2017\[Link]’’, ‘’l’’)
Flire(FNY,BUFNY)
Flire(FZR,BUFZR)
Tanque Non Ffin(FNY) ET Non Ffin(FZR) Faire
Si [Link] <=[Link] alors
Début
Fecrire(FNAT, BUFNY)
Flire(FNY,BUFNY)
Fin
Sinon
Début
Fecrire(FNAT, BUFZR)
Flire(FZR,BUFZR)
Fin
Ftantque
/* un des deux fichiers terminé*/
Si Non Ffin(FNY) Alors /*Fin du fichier Zinder, on recopie Niamey*/
Début
Fecrire(FNAT, BUFNY) /*ecriture du dernier enregistrement non écrit*/
Flire(FNY,BUFNY)
Tanque Non Ffin(FNY) Faire
Fecrire(FNAT, BUFNY)
Flire(FNY,BUFNY)
Ftantque
Fin
Sinon /*c’est Niamey qui est fini on recopie Zinder*/
Début
Fecrire(FNAT, BUFZR) /*ecriture du dernier enregistrement non écrit*/
Flire(FZR,BUFNZR)
Tanque Non Ffin(FZR) Faire
Fecrire(FNAT, BUFZR)
Flire(FNY,BUFZR)
Ftantque
Fin
Ffermer(FNAT) ; Ffermer(FZR) ; Ffermer(FNY)
FIN
Procédure ChargerTable ()
Variables
I : Entier
BUF : TCandidat
DEBUT
Fourvir(FNAT, ‘’C:\ONECS\2017\[Link]’’, ‘’l’’)
Flire(FNAT,BUF)
NrbCandidat 0
5/2
Tanque Non Ffin(FNAT) Faire
NrbCandidat NbrCandidat+1
TAB[NbrCandidat]  BUF
Flire(FNAT,BUF)
Ftanque
Ffermer(FNAT)
FIN

Procédure AfficherResultat()
Varibales
I : Entier
BUF : TCandidat
DEBUT
Fcréer (FAD, ‘’C:\ONECS\2017\[Link]’’)
Pour I1 à NbrCandidat Faire
Ecrire(TAB[I].NumTable)
Ecrire(TAB[I].NomPrenom)
Ecrire(TAB[I].NumJury)
Ecrire(TAB[I].Moyenne)
Si (TAB[I].Moyenne) >=10 Alors
Fecrire(FAD, TAB[I])
Fsi
Fpour
Ffermer(FAD)
FIN

6/2

Vous aimerez peut-être aussi