Vous êtes sur la page 1sur 8

EPREUVE OPTIONNELLE dINFORMATIQUE

CORRIGE

QCM

Remarque : - A une question correspond au moins 1 rponse juste
- Cocher la ou les bonnes rponses

Barme : - Une bonne rponse =+1
- Pas de rponse =0
- Une mauvaise rponse =-1

* * * * *

Question 1 : Dans lordinateur, le programme BIOS (Basic Input Output System) est charg dans la mmoire :
A - de masse
B - la RAM (Random Access Memory)
C - la ROM (Read Only Memory)

Question 2 : La mmoire cache dun ordinateur permet :
A - une plus grande scurit des donnes
B - un accs rapide aux donnes
C - une compression des donnes

Question 3 : La RS232C correspond :
A - une interface de programmation
B - une interface de communication
C - une application industrielle

Question 4 : Le systme dexploitation dun ordinateur fait partie :
A - du hardware
B - du software
C - des applications de bases de donnes

Question 5 : La taille dun octet de donnes correspond :
A - 64 bits
B - 1024 bits
C - 8 bits

Question 6 : Dans un octet, le bit de parit permet :
A - de synchroniser lhorloge du rcepteur
B - de dtecter les erreurs de transmission
C - de grer le tour de parole

Question 7 : Le rle dun modem est :
A - damplifier le signal
B - de protger lordinateur des chutes de tension
C - de transformer le signal numrique en signal analogique

Question 8 : Un caractre ASCII est cod sur :
A - 8 bits
B - 7 bits
C - 16 bits
Question 9 : Un protocole de communication est :
A - une autoroute de linformation
B - une technologie de traitement de linformation
C - un ensemble de rgles et de structures

Question 10 : Un processus est :
A - un processeur
B - une entit excutable
C - un programme de gestion de files dattentes

Question 11 : Dans lordinateur les donnes sont reprsentes sous forme :
A - de signal lectrique analogique
B - de signal lectrique numrique
C - de signal lumineux

Question 12 : Dans un langage de programmation les pointeurs permettent :
A - de partager une zone de mmoire
B - de chaner les blocs de mmoire
C - de transfrer des donnes sans les dplacer

Question 13 : La communication entre processus est :
A - possible entre plusieurs ordinateurs relis
B - possible dans un seul ordinateur
C - impossible

Question 14 : Dans une architecture Client/Serveur, le client doit :
A - rpondre aux requtes du serveur
B - envoyer des requtes au serveur
C - mettre des ressources en rseau

Question 15 : Dans une architecture Client/Serveur, le serveur doit :
A - rpondre aux requtes des clients
B - grer le tour de parole
C - mettre des ressources en rseau

Question 16 : La technique de compression de donnes permet de :
A - crypter les donnes
B - rduire la taille des donnes
C - diminuer les cots de communication

Question 17 : Un programme source devient excutable aprs avoir t trait par un module appel :
A - un convertisseur
B - un compilateur
C - un traducteur

Question 18 : La technologie multimdia permet :
A - de crer une ralit virtuelle
B - de stocker plus dinformations
C - de traiter tout type de donnes

Question 19 : DOS signifie :
A - Data Output System
B - Disk Operating System
C - Device Open System

Question 20 : Dans lUC de lordinateur, les donnes circulent :
A - en mode parallle
B - en mode srie
C - en mode asynchrone

Question 21 : Quel est le langage le plus proche de la machine ? :
A - le Pascal
B - le C
C - lAssembleur

Question 22 : Le 68000 Motorola est :
A - un microprocesseur
B - un lecteur optique
C - un rseau industriel

Question 23 : En algorithmique on parle de 2 types dalgorithmes. Lesquels ? :
A - algorithme rcursif
B - algorithme itratif
C - algorithme binaire

Question 24 : En algbre de boole, le ou exclusif donne les rsultats suivants :
A - 1 1 =0
B - 1 1 =1
C - 0 1 =0

Question 25 : La tlmatique est :
A - le traitement de linformation par ordinateur
B - la tlvision numrique
C - la fusion de linformatique et des tlcommunications


































REMARQUE :
Les programmes en Pascal et C sont des exemples et peuvent tre discuts en terme de construction. Le choix
qui a t fait, est celui dune dcoupe procdurale importante.
Cela permet de mieux faire ressortir un algorithme principal.
Ensuite chaque tache est dtaille dans la procdure ou fonction correspondante.
Dautre part, le programme en C nest pas optimis, et se prsente comme une
Traduction quasi-directe du programme Pascal.


DECOUPAGE

Le principe est le suivant :
Nous rcuprons dans un fichier (FEUILLE.IN) les tailles (longueur et largeur) des deux feuilles. Pour
calculer la taille du plus grand carr dcoupable dans les deux feuilles sans quil y est de perte, il suffit de
dterminer le PGCD des quatre nombres. Ensuite, laide de ce dernier, on dtermine le nombre de carrs
obtenus pour chaque feuille et on les somme, ce qui nous donne le nombre total de carrs.

Programme Pascal (TP7)

pr ogr amf eui l l e;
uses cr t ;
var
Fi chi er : Text ; ( * Fi chi er TEXT pour l ' ent r e/ Sor t i e *)

Long, l ar g,
Long2, Lar g2 : Byt e; ( * Tai l l e i nf r i eur e 100 *)
Tai l l eMax,
Nombr eTot al : Byt e;

pr ocedur e Lect ur eFi chi er ; ( * Lect ur e des donnes *)
begi n
Assi gn( Fi chi er , ' FEUI LLE. I N' ) ;
Reset ( Fi chi er ) ; ( * Ouver t ur e de FEUI LLE. I N en l ect ur e *)
Readl n( Fi chi er , Long, Lar g) ; ( * Rcupr at i on de l ongueur et l ar geur *)
Readl n( Fi chi er , Long2, Lar g2) ; ( * pour l es deux f eui l l es *)
Cl ose( Fi chi er ) ; ( * Fer met ur e de FEUI LLE. I N *)
end;

f unct i on Pgcd( i , j : byt e) : byt e; ( * Cal cul du PGCD de deux oct et s *)
var
r est e : byt e; ( * ut i l i sat i on du modul o *)
begi n
whi l e j >0 do ( * si i >j un t our pour r i en, cel a *)
begi n ( * vi t e l e t est et l a per mut at i on *)
r est e : = i mod j ;
i : = j ;
j : = r est e;
end;
Pgcd : = i ;
end;

pr ocedur e Ecr i t ur eFi chi er ; ( * Ecr i t ur e du r sul t at *)
begi n
Assi gn( Fi chi er , ' FEUI LLE. OUT' ) ;
Rewr i t e( Fi chi er ) ; ( * Cr at i on de FEUI LLE. OUT *)
wr i t el n( Fi chi er , ' TAI LLE MAXI MUM=' , Tai l l eMax) ; ( * Ecr i t ur e du Rsul t at *)
wr i t el n( Fi chi er , ' NOMBRE TOTAL=' , Nombr eTot al ) ;
Cl ose( Fi chi er ) ; ( * Fer met ur e de FEUI LLE. OUT *)
end;

pr ocedur e Cal cul eTai l l eEt Nombr e; ( * Cal cul des deux val eur s - appel de Pgcd
*)
begi n
Tai l l eMax : = Pgcd( Long, Pgcd( Lar g, Pgcd( Long2, Lar g2) ) ) ;
Nombr eTot al : =( Long DI V Tai l l eMax ) * ( Lar g DI V Tai l l eMax) ;
Nombr eTot al : =Nombr eTot al + ( Long2 DI V Tai l l eMax ) * ( Lar g2 DI V
Tai l l eMax) ;
end;

begi n
Lect ur eFi chi er ;
Cal cul eTai l l eEt Nombr e;
Ecr i t ur eFi chi er ;
end.

Programme C (GCC)

#i ncl ude <st di o. h>
#def i ne byt e unsi gned char

FI LE *Fi chi er ; / * Fi chi er TEXT pour l ' ent r e/ Sor t i e */
byt e Long, Lar g;
byt e Long2, Lar g2; / * Tai l l e i nf r i eur a 100 */
byt e Tai l l eMax, Nombr eTot al ;

voi d Lect ur eFi chi er ( ) / * Lect ur e des donnes */
{
Fi chi er =f open( " FEUI LLE. I N" , " r " ) ; / * Ouver t ur e de FEUI LLE. I N en l ect ur e */
f scanf ( Fi chi er , " %d %d" , &Long, &Lar g) ; / * Rcupr at i on de l ongueur et */
f scanf ( Fi chi er , " %d %d" , &Long2, &Lar g2) ; / * l ar geur pour l es 2 f eui l l es
*/
f cl ose( Fi chi er ) ;
}

byt e Pgcd( byt e i , byt e j ) / * Cal cul du PGCD de deux oct et s */
{
byt e r est e; / * ut i l i sat i on du modul o */

whi l e ( j >0) / * Si i >j un t our pour r i en, cel a */
{ / * vi t e l a per mut at i on */
r est e = i %j ;
i = j ;
j = r est e;
}
r et ur n ( i ) ;
}

voi d Ecr i t ur eFi chi er ( ) / * cr i t ur e du r esul t at */
{
Fi chi er = f open( " FEUI LLE. OUT" , " w" ) ; / * Cr at i on de FEUI LLE. OUT */
f pr i nt f ( Fi chi er , " TAI LLE MAXI MUM=%d\ n" , Tai l l eMax) ; / * Ecr i t ur e r sul t at
*/
f pr i nt f ( Fi chi er , " NOMBRE TOTAL=%d\ n" , Nombr eTot al ) ;
f cl ose( Fi chi er ) ;
}

voi d Cal cul eTai l l eEt Nombr e( ) / * Cacul des deux val eur s - appel de Pgcd */
{
Tai l l eMax = Pgcd( Long, Pgcd( Lar g, Pgcd( Long2, Lar g2) ) ) ;
Nombr eTot al = ( Long / Tai l l eMax) * ( Lar g / Tai l l eMax) ;
Nombr eTot al += ( Long2 / Tai l l eMax) * ( Lar g2 / Tai l l eMax) ;
}

i nt mai n( )
{
Lect ur eFi chi er ( ) ;
Cal cul eTai l l eEt Nombr e( ) ;
Ecr i t ur eFi chi er ( ) ;
r et ur n ( 0) ;
}

HISTOGRAMME

Le principe est le suivant :
Nous commenons par lire dans un fichier (HISTO.IN) le nombre dentre. Puis, nous rcuprons
celles-ci. A chaque fois, que lon trouve un chiffre (0 9), nous augmentons de 1 le nombre dapparitions de ce
chiffre dans un tableau (tableHisto) prcdemment initialis zro. Dans le mme temps, nous dterminons
quelle est la frquence dapparition la plus importante. Pour finir, une ligne est cre pour chaque niveau (de
cette frquence maximum jusqu un ). Pour cela, on pose une toile si le nombre dapparition est gale celui
de la frquence traite et un espace si non. Cette ligne est crite dans un fichier (HISTO.OUT). Et enfin on crit
la ligne de rfrence.

Programme Pascal (TP7)

pr ogr amhi st o;
uses cr t ;
t ype
T_Vect 10Mot = ar r ay[ 0. . 9] of wor d;
var
Fi chi er : Text ; ( * Fi chi er TEXT pour l ' ent r e/ Sor t i e *)
Nombr eEnt r ee : Wor d; ( * Nombr e d' ent r es, l u en pr emi r e l i gne *)
Tabl eHi st o : T_Vect 10Mot ; ( * Tabl eau cont enant l es f r quences/ Chi f f r e
*)
Pl usGr and : Wor d;

pr ocedur e I ni t Tabl eau; ( * I ni t i al i sat i on des f r quences zr o *)
Var
i : Byt e;
begi n
For i : =0 t o 9 do Tabl eHi st o[ i ] : =0;
end;

pr ocedur e Lect ur eFi chi er ; ( * Lect ur e des donnes *)
Var
i : Wor d;
Chi f f r e : Byt e;
begi n
Pl usGr and: =0; ( * I ni t i al i sat i on de l a pl us gr ande f r quence zr o *)
Assi gn( Fi chi er , ' HI STO. I N' ) ;
Reset ( Fi chi er ) ; ( * Ouver t ur e de HI STO. I N en l ect ur e *)
Readl n( Fi chi er , Nombr eEnt r ee) ; ( * Rcupr at i on du nombr e d' ent r es *)
f or i : =1 t o Nombr eEnt r ee do
begi n
Read( Fi chi er , Chi f f r e) ; ( * Lect ur e des chi f f r es et mi se j our *)
I nc( Tabl eHi st o[ Chi f f r e] ) ; ( * de l eur f r quence d' appar i t i on *)
i f Tabl eHi st o[ Chi f f r e] >Pl usGr and t hen Pl usGr and: =Tabl eHi st o[ Chi f f r e] ;
end;
Cl ose( Fi chi er ) ; ( * Fer met ur e de HI STO. I N *)
end;

Pr ocedur e Ecr i t ur eFi chi er ; ( * Ecr i t ur e du r sul t at *)
Var
i , j : Wor d;
Li gne : St r i ng[ 20] ; ( * 20 car act r es de l ongueur / Li gne *)
begi n
Assi gn( Fi chi er , ' HI STO. OUT' ) ;
Rewr i t e( Fi chi er ) ; ( * Cr at i on de HI STO. OUT *)
For i : =Pl usGr and downt o 1 do
begi n
Li gne: =' ' ;
f or j : =0 t o 9 do ( * Mi se en pl ace des ' *' de l ' hi st ogr amme *)
begi n ( * et dcr ment des f r quences des chi f f r es *)
i f Tabl eHi st o[ j ] =i t hen ( * concer ns *)
begi n
Li gne: =Li gne+' * ' ;
Dec( Tabl eHi st o[ j ] ) ;
end
el se Li gne: =Li gne+' ' ;
end;
wr i t el n( Fi chi er , Li gne) ;
end;
wr i t el n( Fi chi er , ' 0 1 2 3 4 5 6 7 8 9' ) ;
Cl ose( Fi chi er ) ; ( * Fer met ur e de HI STO. OUT *)
end;

begi n
I ni t Tabl eau;
Lect ur eFi chi er ;
Ecr i t ur eFi chi er ;
end.

Programme C (GCC)

#i ncl ude <st di o. h>

#def i ne Wor d unsi gned i nt

FI LE *Fi chi er ; / * Fi chi er TEXT pour l ' ent r ee/ Sor t i e */
Wor d Nombr eEnt r ee; / * Nombr e d' ent r ees, l u en pr emi er e l i gne */
Wor d Tabl eHi st o[ 10] ; / * Tabl eau cont enant l es f r equences/ Chi f r e */
Wor d Pl usGr and;

voi d I ni t Tabl eau( ) / * I ni t i al i sat i on des f r equences a zer o */
{
Wor d i ;

f or ( i =0; i <=9; i ++ )
Tabl eHi st o[ i ] =0;
}

voi d Lect ur eFi chi er ( ) / * Lect ur e des donnees */
{
Wor d i ;
Wor d Chi f f r e;

Pl usGr an / * I ni t i al i sat i on de l a pl us gr ande f r equence a zer o */
Fi chi er = f open( " HI STO. I N" , " r " ) ; / * Ouver t ur e de HI STO. I N en l ect ur e */
f scanf ( Fi chi er , " %d" , &Nombr eEnt r ee) ; / * Recuper at i on du nombr e
d' ent r ees */
f or ( i =0; i <Nombr eEnt r ee; i ++)
{
f scanf ( Fi chi er , " %d" , &Chi f f r e) ; / * Lect ur e des chi f f r es et mi se a j our
*/
Tabl eHi st o[ Chi f f r e] ++; / * de l eur f r equence d' appar i t i on */
i f ( Tabl eHi st o[ Chi f f r e] >Pl usGr and)
Pl usGr and = Tabl eHi st o[ Chi f f r e] ;
}
f cl ose( Fi chi er ) ; / * Fer met ur e de HI STO. I N */
}

voi d Ecr i t ur eFi chi er ( ) / * Ecr i t ur e du r esul t at */
{
Wor d i ;
Wor d j ;
char Li gne[ 21] ; / * 2*10 car act er es de l ongueur / Li gne + 0 t er mi nal */

Fi chi er = f open( " HI STO. OUT" , " w" ) ; / * Cr eat i on de HI STO. OUT */
f or ( i = Pl usGr and; i >0; i - - )
{
Li gne[ 0] = 0;
f or ( j =0; j <=9; j ++) / * Mi se en pl ace des ' *' de l ' hi st ogr amme */
{ / * et decr ement des f r equences des chi f f r es */
i f ( Tabl eHi st o[ j ] == i ) / * concer nes */
{
st r cat ( Li gne, " * " ) ;
Tabl eHi st o[ j ] - - ;
}
el se
st r cat ( Li gne, " " ) ;
}
f pr i nt f ( Fi chi er , " %s\ n" , Li gne) ;
}
f pr i nt f ( Fi chi er , " 0 1 2 3 4 5 6 7 8 9\ n" ) ;
f cl ose( Fi chi er ) ; / * Fer met ur e de HI STO. OUT */
}

i nt mai n( )
{
I ni t Tabl eau( ) ;
Lect ur eFi chi er ( ) ;
Ecr i t ur eFi chi er ( ) ;
r et ur n ( 0) ;
}