Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
com
Solution du sujet T1 -1
Exercice 1
Analyse de la procédure Chercher
Résultat = Afficher l'existence ou non du mot dans chaque ligne du fichier
Traitement :
- Lire la première ligne et chercher l'existence du mot dans cette ligne puis afficher le message
correspondant.
- Répéter ce traitement pour toutes les lignes, jusqu'à la fin du fichier.
Tant que Non ( Fin_fichier (FT)) Faire
Lire (FT , ligne)
Si Position (mot , ligne) ≠ 0 Alors Ecrire("Le mot : ", mot, " existe pas dans la ligne ",
i)
Sinon Ecrire ("Le mot : ", mot, " n'existe pas dans la ligne ", i)
Fin Si
i Åi+1
Fin tant que
Algorithme
0) Procédure chercher (VAR FT : Texte ; ligne, mot : chaîne de caractères)
1) Ouvre (nom_logique)
2) i Å 1
4) Tant que Non ( Fin_fichier (FT)) Faire
Lire (FT, ligne)
Si Position (mot, ligne) ≠ 0 Alors Ecrire ("Le mot : ", mot, " existe pas dans la ligne ",
i)
Sinon Ecrire ("Le mot : ", mot, " n'existe pas dans la ligne ", i)
Fin Si
i Åi+1
Fin tant que
3) Fin chercher
T.D.O. Locaux
Objet Type / Nature Rôle
i Entier Compteur
Exercice 2
DOC4MTINFCS0001 Page 1
http://www.najah.com
Exercice 3 :
Analyse du programme principal
Résultat : Affichage des messages.
Traitement : - La recherche du mot et 'affichage des lignes sont réalisés par la procédure
Chercher.
- Pour afficher les lignes de texte, il faut commencer par remettre à zéro le pointeur du fichier,
puis faire une lecture de ce dernier.
- La saisie des lignes et leur enregistrement dans le fichier sont la tâche de la procédure
Création.
- Associer du nom logique "FT" au nom physique "Lignes.fch" avant de commencer la
sauvegarde des lignes dans le fichier.
Fin Analyse
DOC4MTINFCS0001 Page 2
http://www.najah.com
T.D.O. Globaux
Objet Type / Nature Rôle
FT Fichier texte Nom logique du fichier de texte
Ligne Chaîne de caractères Ligne de texte du fichier
Mot Chaîne de caractères Le mot recherché
DOC4MTINFCS0001 Page 3
http://www.najah.com
PROGRAM Program_Mots;
USES WinCrt ;
VAR
Ligne, mot : String ;
FT : Text;
{= = == = = = = = = =P P = = = = = = = = = == = =}
BEGIN
Assign (FT, 'Lignes.fch');
Creation (FT, Ligne) ;
Write('Donner un mot : '); ReadLn (mot) ;
Chercher (FT, Ligne, mot) ;
Close (FT);
END.
DOC4MTINFCS0001 Page 4
http://www.najah.com
Solution du sujet T1 - 2
Analyse du programme principal (Nbr_lettres)
Résultat = Afficher l'occurrence de chaque lettre et son pourcentage de présence dans le
fichier
Traitement :
Procédure qui calcule le pourcentage de présence et affiche l'occurrence et le pourcentage
pour chaque lettre. les occurrences sont dans un tableau T.
Affiche (T)
Procédure qui teste les caractères de chaque ligne pour distinguer uniquement les lettres, les
transforme en majuscule puis cumule leur nombre dans le tableau T
Cumul (FT, T, Ligne)
T.D.O. Globaux
Objet Type / Nature Rôle
T Tab Tableau contenant les occurrences de chaque lettre
FT Texte nom logique du fichier de texte
Ligne Chaîne de caractères ligne de texte du fichier
Nom Chemin chemin + nom + extension du fichier
Extension Constante = FTX L'extension du nom physique du fichier
Algorithme
0) Début Nbr_lettres
1) Ouvre (FT, nom)
2) Saisie (FT, ligne)
3) Cumul (FT, T, ligne)
4) Affiche (T)
5) Ferme (FT)
6) Fin Nbr_lettres
DOC4MTINFCS0002 Page 1
http://www.najah.com
Algorithme
0) PROCEDURE Ouvre (VAR FT : Texte ; nom : chemin)
1) Ecrire ("Entrer le nom du fichier ") ; Lire (nom)
2) nom Å nom + extension
3) Associer (FT, nom) ; Ouvrir (FT)
4) Si erreur d'E/S Alors Recréer (FT)
Fin Si
5) Fin Ouvre
Algorithme
0) PROCEDURE Saisie (VAR FT : Texte ; ligne : Chaîne de caractères)
1) Ecrire (" Taper une ligne de texte : ") ; Lire (ligne)
2) Tant Que ligne ≠ "*" Faire
Ecrire_nl (FT, ligne)
DOC4MTINFCS0002 Page 2
http://www.najah.com
T.D.O. Locaux
Objet Type / Nature Rôle
i Entier Compteur
ca Entier Code ASCII d'un caractère
Algorithme
DOC4MTINFCS0002 Page 3
http://www.najah.com
Ecrire ("La lettre : ", CHR (i)," est présente : ", T[i]," fois, donc : ", pc:3:2, "
%")
Fin Pour
- Calcul du nombre total de lettres
nb Å 0
Pour i de ASCII ('A') à ASCII ('Z') Faire
nb Å nb + T[i]
Fin Pour
Ecrire ("Le nombre total de lettres dans le fichier est : ", nb)
Fin Affiche
T.D.O. Locaux
Objet Type / Nature Rôle
i Entier Compteur
nb Entier Nombre total de lettres dans le fichier
pc Réel Pourcentage de présence d'une lettre
Algorithme
0) PROCEDURE Affiche (T : Tab)
1) nb Å 0
2) Pour i de ASCII ('A') à ASCII ('Z') Faire
nb Å nb + T[i]
Fin Pour
DOC4MTINFCS0002 Page 4
http://www.najah.com
3) Ecrire ("Le nombre total de lettres dans le fichier est : ", nb)
DOC4MTINFCS0002 Page 5
http://www.najah.com
Traduction en Pascal
PROGRAM nbr_lettres ;
USES WinCrt ; { ou CRT sous Dos }
CONST
extension = 'FTX' ;
TYPE
Tab = ARRAY [ORD ('A') .. ORD ('Z')] Of Integer ;
chemin = String [50] ;
VAR
FT : Text ;
nom : chemin ;
T : Tab ;
ligne : String ;
{$I+}
END;
DOC4MTINFCS0002 Page 6
http://www.najah.com
DOC4MTINFCS0002 Page 7
http://www.najah.com
BEGIN
{Init du tableau à zéro }
For i := ORD ('A') To ORD ('Z') DO T[i] := 0 ;
{ ==================== P. P ======================}
BEGIN
Ouvre (FT, nom);
Saisie (FT, ligne);
Cumul (FT, T, ligne);
DOC4MTINFCS0002 Page 8
http://www.najah.com
Affiche (T);
END.
DOC4MTINFCS0002 Page 9
http://www.najah.com
Solution du sujet T1 - 3
Analyse du programme principal TOUT_RECURSIF
Résultat = Si Fn Rechercher (V, T, N ) = VRAI alors Ecrire (V , " existe dans T ") Sinon
Ecrire (V," n'existe pas dans T ")
Traitement :
- Rechercher est une fonction qui retourne un booléen indiquant la présence ou non de V dans
T.
- Une procédure Remplir permet le remplissage du tableau par des réels
- Une procédure Saisie permet la saisie et le test de l'entier N
- V est une valeur donnée
Fin TOUT_RECURSIF
DOC4MTINFCS0003 Page 1
http://www.najah.com
- La fonction doit être initialisée à FAUX pour pouvoir quitter si la valeur V ne se trouve pas
dans le tableau T.
Rechercher Å FAUX
Fin Rechercher
DOC4MTINFCS0003 Page 2
http://www.najah.com
3) Fin Remplir
DOC4MTINFCS0003 Page 3
http://www.najah.com
Traduction en Pascal
PROGRAM TOUT_RECURSIF ;
USES WinCrt ;
TYPE Tab = ARRAY [1..100] OF Real ;
VAR N : Integer ;
V : Real ;
T : Tab ;
{------------------------------------------------------------------------}
PROCEDURE Saisie (VAR N : Integer) ;
BEGIN
Write ('donner un entier : '); ReadLn (N) ;
If (N<2) OR (N > 100) Then Saisie (N) ;
END ;
{------------------------------------------------------------------------}
PROCEDURE Remplir (VAR T : Tab ; N : Integer);
BEGIN
Write ('Entrer l''élèment ', N,' : ' ) ; ReadLn (T[N]) ;
If (N >1) Then Remplir (T, N-1) ;
END ;
{------------------------------------------------------------------------}
FUNCTION Rechercher (V : Real; T : TAB; N : Integer) : Boolean ;
BEGIN
Rechercher := False ;
If (V = T[N]) Then Rechercher := TRUE
Else If (N >1) Then Rechercher := Rechercher (V, T, N-1) ;
END ;
{ ======================== P P ==========================}
BEGIN
Saisie (N);
Remplir (T, N);
Write ('Donner une valeur numérique ') ; ReadLn (V) ;
If Rechercher (V, T, N) Then WriteLn (V, ' existe dans T')
Else WriteLn (V:8:3, ' n''existe pas dans T ');
END.
DOC4MTINFCS0003 Page 4
http://www.najah.com
Solution du sujet T1 - 4
Vu la longueur de la solution, on propose seulement le programme en Pascal
avec plusieurs commentaires et explications.
PROGRAM Videotheque ;
USES WinCrt ;
CONST
ext ='.FCH' ; { l'extension du nom physique du fichier}
TYPE
Films = RECORD
Reference : Word ;
Titre : String [40] ;
End ;
VAR
choix : Byte ;
nl : Fichier; {nom logique du fichier}
nf : nom_physique ; {le chemin du fichier }
enr : Films ;
ouvert : Boolean ;
trouve : Boolean ;
Posi : LongInt ;
Ref2 : Word ;
PROCEDURE Echap ;
VAR Rep : Char ;
BEGIN
WriteLn ;
WriteLn ('Appuyer sur la touche [ECHAP] pour continuer ...' : 20) ;
Repeat
Rep := Readkey ;
Until Rep = CHR (27) ; {27 = code ascii de la touche Echap }
END ;
DOC4MTINFCS0004 Page 1
http://www.najah.com
Writeln ('Le fichier sera créer sur la racine du disque dur C '); WriteLn ;
WriteLn ('Pour des raison de compatibilité avec le SE DOS ');
WriteLn (' et avec les versions de Turbo Pascal sous Dos ') ;
WriteLn ('le nom du fichier est composé au maximum de 8 caractères ');
Writeln (' Si le nom saisit est plus long, il sera tronqué.') ;
WriteLn ;
WriteLn ('Réspecter SVP les caractères composant un nom de fichier sous DOS.') ;
WriteLN; WriteLn ;
Repeat
Write('Entrer le nom du fichier : '); ReadLn (nf);
L := Length (nf) ;
Until (L > 0) AND (L <=8 ) ;
Writeln ;
WriteLn ('Le fichier ', nf, ' a été est crée avec succès ');
Writeln ;
ouvert := true ; { drapeau qui indique que le fichier est ouvert }
Echap ;
END;
{$I-}
Repeat
Repeat
Write ('Entrer le nom du fichier : '); ReadLn (nf);
L := Length (nf) ;
Until (L > 0) AND (L <=8 ) ;
DOC4MTINFCS0004 Page 2
http://www.najah.com
nf := 'C:\'+nf+ext ;
IF er <> 0 THEN
Begin
Writeln ;
WriteLn ('Le fichier ', nf, ' n''existe pas ') ; Writeln ;
Repeat
Write ('Vouler vous réessayer O/N ? ') ;
Rep := Readkey ; Rep := UpCase (rep);
WriteLn;
Until Rep IN ['O' , 'N'] ;
WriteLn ;
End;
IF er = 0 Then
Begin
ouvert := true ;
WriteLn ('Le fichier ', nf, ' est maintenant ouvert ');
End;
Writeln ;
Echap ;
END;
{$I-}
Repeat
Repeat
Write ('Entrer le nom du fichier à supprimer : '); ReadLn (nf);
L := Length (nf) ;
Until (L > 0) AND (L <=8 ) ;
nf := 'C:\'+nf+ext ;
DOC4MTINFCS0004 Page 3
http://www.najah.com
IF er = 0 Then
Begin
Erase (nl) ;
ouvert := false ; { Aucun fichier n'est ouvert }
WriteLn ('Le fichier ', nf, ' a été supprimer avec succès ');
Writeln ;
End ;
Echap ;
END;
BEGIN
ClrScr ;
Writeln ('FERMETURE D''UN FICHIER' : 50);
WriteLn; WriteLn ;
{$I-}
Assign (nl, nf);
ReSet(nl);
er := IOResult ;
{$I+}
IF (er <> 0) or (ouvert=false) THEN
Begin
Writeln ;
if ouvert = false then WriteLn (' Le fichier n''est pas ouvert ')
Else WriteLn ('Le fichier ', nf, ' n''existe ');
DOC4MTINFCS0004 Page 4
http://www.najah.com
Writeln ;
End
Else
Begin
Repeat
Write ('Vouler vous fermer Le fichier ', nf, ' (O / N) ? ' );
Rep := Readkey ; Rep := UpCase (rep);
WriteLn;
Until Rep IN ['O','N'] ;
Writeln ; WriteLn ('Le fichier ', nf, ' a été fermer avec succès ');
End;
Writeln ;
ouvert := false;
Echap ;
END;
PROCEDURE Cherche (ref2 : Word ; enr : Films; VAR nl : Fichier ; VAR posi : LongInt ;
VAR trouve : Boolean);
BEGIN
Trouve := False ;
Reset (nl);
While (NOT(EOF (nl))) AND (trouve = False) DO
Begin
Read(nl, enr);
IF ref2 = enr.reference then
Begin
trouve := True ;
posi := FilePos(nl) -1 ;
End;
End;
END ;
BEGIN
ClrScr ;
WriteLn ('A J O U T E R F I L M S':20); WriteLn ;
Repeat
Repeat
Repeat
DOC4MTINFCS0004 Page 5
http://www.najah.com
Write(nl, enr);
BEGIN
ClrScr ;
WriteLn ('M O D I F I E R F I L M S' : 20); WriteLn ;
Repeat
Write ('Référence : '); ReadLn (ref2);
Repeat
Write ('Ancienne référence : ', enr.reference,' Nouvelle référence : ') ;
ReadLn (enr.reference);
DOC4MTINFCS0004 Page 6
http://www.najah.com
Repeat
Rep := Readkey ; Rep := UpCase (Rep);
Until Rep IN ['O', 'N'] ;
WriteLn; WriteLn ;
Until rep = 'N' ;
END ;
DOC4MTINFCS0004 Page 7
http://www.najah.com
BEGIN
ClrScr ;
WriteLn('S U P P R I M E R F I L M S':20); WriteLn ;
REPEAT
Write ('Référence : '); ReadLn (ref2);
Reset(nl);
Taille := FileSize(nl);
For i:=0 to taille-1 do
Begin
Seek(nl, i) ; Read (nl, enr);
Writeln;
Write('Continuer Oui ou Non (O/N)? ');
Repeat
Rep := Readkey ; Rep := UpCase (Rep);
Until Rep IN ['O', 'N'] ;
WriteLn; WriteLn ;
DOC4MTINFCS0004 Page 8
http://www.najah.com
{ _____ Procédure qui affiche un message d'erreur si le fichier n'est pas ouvert _______ }
PROCEDURE Erreur ;
BEGIN
ClrScr ;
Writeln (' E R R E U R ');
Writeln ('Aucun fichier n''est ouvert ');
Writeln ;
Echap ;
END;
BEGIN
REPEAT
ClrScr ;
WriteLn; Writeln ('___ M E N U ___ ' : 50);
WriteLn ; WriteLn ;
WriteLn (' F I C H I E R S EDITION Q U I T T E R '); Writeln;
WriteLn (' 1 - Créer un nouveau fichier 5 - Ajouter un film 9 - Sortir');
WriteLn (' 2 - Ouvrir un fichier existant 6 - Modifier un film ');
WriteLn (' 3 - Supprimer un fichier 7 - Chercher un film ');
WriteLn (' 4 - Fermer un fichier 8 - Supprimer un film '); Writeln ; WriteLn;
Write (' Votre choix ? ');
Repeat
Rep := ReadKey;
Until Rep IN ['1' .. '9'];
Case Rep Of
'1' : Creation (nf) ;
'2' : Ouverture (nf) ;
'3' : Suppression (nl, nf) ;
'4' : Fermeture (nl, nf) ;
'5' : If ouvert = true then Ajouter (nl, enr) Else Erreur;
'6' : If ouvert = true then Modifier(nl, enr) Else Erreur;
'7' : If ouvert = true then Chercher_afficher (nl, enr) Else Erreur;
'8' : If ouvert = true then Supprime (nl, enr) Else Erreur;
'9' : Begin
ClrScr;
Write(' A U R E V O I R ');
If ouvert Then close(nl);
Halt ; { Halt : procédure pré définie qui stoppe le programme et ramène au
système }
End;
End ;
UNTIL Rep = '9';
DOC4MTINFCS0004 Page 9
http://www.najah.com
BEGIN
ouvert := false ; { init : aucun fichier n'est ouvert }
Menu (choix);
END.
DOC4MTINFCS0004 Page 10
http://www.najah.com
Solution du sujet T1 - 5
EXAMEN DU BACCALAUREAT (session : JUIN 1994)
SUJET : INFORMATIQUE
EXERCICE 1 (6 points )
1) La RAM est placée physiquement :
DOC4MTINFCS0006 Page 1
http://www.najah.com
F 8 F 19 V 22
DOC4MTINFCS0006 Page 2
http://www.najah.com
EXERCICE N° 2
DOC4MTINFCS0006 Page 3
http://www.najah.com
2) Fin Affiche
0) Début Devinette
1) Saisie ( MOT1 , MOT2 )
2) MOT1 ← Conv_Majus ( MOT1 )
3) co ← 0
4) n ← Longueur ( MOT1)
5) Affiche ( MOT2 )
6) Répéter
co ← co + 1
Lire_Car( c )
Cherche_Remplace ( MOT1 , c , MOT2)
Affiche ( MOT2 )
Jusqu'a ( co = 2 * n ) OU ( MOT2 = MOT1 )
7) Si MOT1 = MOT 2 Alors Ecrire (MOT1, "Trouvé en ", co , " essais")
Sinon Ecrire ("Désolé, le mot est : ", MOT1);
Fin Si
8) Fin Devinette
DOC4MTINFCS0006 Page 4
http://www.najah.com
DOC4MTINFCS0006 Page 5
http://www.najah.com
Solution du sujet T1 - 6
PARTIE I ( 6 points )
Exercice 1 ( 3 points )
1)
Soit la fonction Traitement suivante écrite en Pascal :
BEGIN
indmin:=d ;
FOR i := d+1 TO f DO
IF T[i] < T[indmin] THEN
Begin
indmin := i ;
End;
Traitement := indmin ;
END ;
2/ La valeur renvoyée par la fonction Traitement si d=2, f=5 et le tableau T contient les
éléments suivants est :
T -10 5 0 -6 10 13
i 1 2 3 4 5 6
Exercice 2 (3 points)
Dans un contexte informatique, la définition de :
1) Signet : lieu indiqué dans un document pour référencer un lien hypertexte.
Mots clés : - Emplacement ou tout mot équivalent (0.5 point)
DOC4MTINFCS0006 Page 1
http://www.najah.com
1 point
Analyse du problème
Résultat = Ecrire (FN Décision(nbf, nbd, nbn, m) )
(nbf, nbd, nbn) = PROC Vote(nbf, nbd, nbn, m)
m = PROC Saisie(m)
Fin Analyse
DOC4MTINFCS0006 Page 2
http://www.najah.com
Résultat = Décision
Traitement :
Décision = [ ] Si (neutre > n DIV 2) alors
Fn Décision ← "Reportée"
Sinon si (favorable > défavorable) alors
Fn Décision ← " Acceptée"
Sinon
Fn Décision ← "Refusée"
Fin Si
Fin Analyse
DOC4MTINFCS0006 Page 3
http://www.najah.com
3) Algorithmes
0) Début Marché_info
1) PROC Saisie (m)
2) PROC Vote (nbf, nbd, nbn, m)
3) Ecrire (FN Décision (nbf, nbd, nbn, m) )
4) Fin marché_info
DOC4MTINFCS0006 Page 4
http://www.najah.com
Fin Si
Fin Pour
2) neutre Å n - (favorable + défavorable)
3) Fin vote
DOC4MTINFCS0006 Page 5
http://www.najah.com
Barème
Questions Note
1/ Analyser le problème en le décomposant en modules (3 points)
- Analyse et décomposition en modules 1 point
- Programme principal 1 point
- Tableaux de déclaration. 0.5 point
- Cohérence des appels et mode de passage 0.5 point
NB : -0.25 point par erreur
DOC4MTINFCS0006 Page 6
http://www.najah.com
Solution du sujet T2 - 7
Exercice 1 :
{Fonction nommée Power qui retourne x^y (x à la puissance y) }.
Exercice 2 :
Utilisation de la fonction pour effectuer la conversion de binaire à décimal.
PROGRAM Power_x_y ;
USES WinCrt ;
VAR
nombre : Integer ;
i: Integer ;
r : Integer ;
valeur : LongInt ;
Power := p ;
END;
{ ================= P . P ====================}
BEGIN
ClrScr ;
i := 0 ;
valeur := 0 ;
DOC4MTINFCS0007 Page 1
http://www.najah.com
Exercice 3 :
Réutilisation de la fonction Power et écriture d'une fonction Int2Bin qui convertit l'entier en
paramètre en binaire
PROGRAM Entier_vers_binaire ;
USES WinCrt;
TYPE Str8 = String [8];
VAR
i: Integer;
j: Integer;
BEGIN
i := 0; (* nombre de bits de codage *)
While (value DIV Power2(i)) <> 0 Do
i := i + 1;
int2bin[0] := Chr(i);
For j := 0 To i - 1 Do
Begin
int2bin[i - j] := Char(((value shr j) and 1) + Ord('0'));
End;
END ;
{ = = = = = = = = = == = = P P = = = = = = = = = = = = = = = =}
VAR
i: Integer;
value: Integer;
BEGIN
ClrScr ;
WriteLn (int2bin (256) );
END.
DOC4MTINFCS0007 Page 3
http://www.najah.com
Solution du sujet T2 - 8
Algorithme
0) Début Classement
1) Proc Saisie (N)
2) Proc Remplit_T (T , N)
3) Proc TRi_Shell (T , N)
4) Proc Affiche (T , N)
5) Fin Classement
Algorithme
0) Procédure Saisie (VAR N : Entier)
1) Répéter
Ecrire ("Entrer un entier N compris entre 10 et " , Maxi )
Lire (N)
DOC4MTINFCS0008 Page 1
http://www.najah.com
DOC4MTINFCS0008 Page 2
http://www.najah.com
Pour i de 1 à N Faire
T[i] Å Hasard (5000)
Fin Pour
Fin Remplit
Algorithme
0) Procédure Remplit (VAR T : Vect ; N : Entier)
1) Pour i de 1 à N Faire
T[i] Å Hasard (5000)
Fin Pour
2) Fin Remplit
- Pour avoir la valeur maximale du pas, on utilise une boucle à condition d’arrêt :
PÅ 1
Tant Que p < N Faire
p Å (3 * p + 1)
- Détermination des valeurs successives que prendra le pas en utilisant la formule suivante :
pÅ p div 3 jusqu’à arriver à une valeur pour le pas égale à 1.
On utilise une boucle à condition d’arrêt
Tant Que p ≠ 0 Faire
p Å p DIV 3
- Pour par exemple une valeur maximale du pas p = 4, on a 4 sous tableaux dont les éléments
sont distants de 4 cases. Ces 4 sous tableaux seront triés par l'algorithme de tri par insertion.
Si T[i] n’est pas à sa place alors on réalise les actions suivantes :
Pour i de p +1 à N Faire
DOC4MTINFCS0008 Page 3
http://www.najah.com
- On prend la seconde valeur de p calculé, on répète le même traitement jusqu'à une valeur de
p = 1.
Dans ce cas on applique un tri par insertion normal sur tout le tableau.
Fin Tri_Shell
Algorithme
0) Procédure Trier (VAR T : Vect ; N : Entier)
1) PÅ 1
2) Tant Que (p < N) Faire
p Å (3 * p +1)
Fin Tant Que
3) Tant Que (p < >1) Faire
pÅ p DIV 3
Pour c de p+1 à N Faire
Si T[c] < T[c-p] Alors
Tmp Å T[c]
pos Å c
Tant Que (pos > p-1) ET (T[pos -p] > tmp) Faire
T[pos]Å T[pos - p]
pos Å pos - p
Fin Tant que
T[pos]Å Tmp
Fin Si
Fin Pour
Fin Tant Que
3) Fin Tri_Shell
DOC4MTINFCS0008 Page 4
http://www.najah.com
Pour i de 1 à N Faire
Ecrire T[i]
Fin Pour
Fin Affiche
DOC4MTINFCS0008 Page 5
http://www.najah.com
Algorithme
0) Procédure Affiche (T : Vect ; N : Entier)
1) Pour i de 1 à N Faire
Ecrire (T[i])
Fin Pour
2) Fin Affiche
Traduction en Pascal
PROGRAM Tri_Shell ;
USES WinCrt ;
{--------------------------------------------------------------------------------------}
PROCEDURE Saisie (VAR N : Integer );
BEGIN
Repeat
Write ('Entrer un entier N compris entre 10 et 1000 : ');
ReadLn (N);
Until (N >= 10 ) AND (N <= Maxi) ;
END ;
{--------------------------------------------------------------------------------------}
PROCEDURE Remplit (VAR T : Vect ; N : Integer ) ;
VAR i : Integer ;
BEGIN
Randomize ;
For i := 1 TO N DO
T[i] := Random (5000);
END ;
{--------------------------------------------------------------------------------------}
PROCEDURE Trier (VAR T : Vect ; N : Integer );
VAR p, c, pos, Tmp : Integer ;
BEGIN
p := 1 ;
DOC4MTINFCS0008 Page 6
http://www.najah.com
While (p < N) Do
Begin
p := (3 * p +1) ;
End ; {End while }
T[pos] := Tmp ;
End ; { End If }
{--------------------------------------------------------------------------------------}
PROCEDURE Affiche (T : Vect ; N : Integer ) ;
VAR i : Integer ;
BEGIN
For i := 1 To N Do
Writeln (i:3 ,' : ', T[i] );
END ;
{ ===================== P P ==========================}
BEGIN
Saisie (N);
Remplit (T, N) ;
Trier (T, N) ;
Affiche (T, N);
END.
DOC4MTINFCS0008 Page 7
http://www.najah.com
Solution du sujet T2 - 9
EXAMEN DU BACCALAUREAT (session : JUIN 1995)
SUJET : INFORMATIQUE
EXERCICE N° 1 ( 3 points)
1/
a/ F V F
b/ V F F
2/
F F V
EXERCICE N° 3 (1 point)
DOC4MTINFCS0009 Page 1
http://www.najah.com
3/ b/ Traduction en Pascal
DOC4MTINFCS0009 Page 2
http://www.najah.com
UNTIL N=0;
END;
DOC4MTINFCS0009 Page 3
http://www.najah.com
4/ ALGORITHME PROCEDURE
Remarque : l'élève peut donner d'autres solutions en utilisant par exemple le code ASCII ou
la structure de choix multiples ( SELON c FAIRE ... )
5/ b/ Traduction en Pascal
DOC4MTINFCS0009 Page 4
http://www.najah.com
Fin Pour
3) Fin Concaténation
DOC4MTINFCS0009 Page 5
http://www.najah.com
7/ ALGORITHME CONVERSION
0) Début Conversion
1) Proc Saisie_Dec (N)
2) Proc Saisie_Base (B)
3) Proc Ranger (N, B, RESTES, R)
4) Proc Renverser (RESTES, R )
5) Proc Concaténation (résultat, RESTES)
6) Ecrire ( N, " en décimal vaut ", résultat, " en base ", B )
7) Fin Conversion
DOC4MTINFCS0009 Page 6
http://www.najah.com
Solution du sujet T2 - 10
BAC 97 - CORRIGE
PARTIE 1 (8 points)
V A := 3 ; V E := (C >= ‘C’) ;
F C := 3 ; V T[ 1 ] := -8 ;
V D := ‘ALI‘ ; F T[ 5 ] := T[ 1 ] / 2 ;
JUSQU’A (A[ i ] ≥ 0) ET ( A[ i ] ≤ 20 )
Fin Pour
3) Fin Saisie
DOC4MTINFCS0010 Page 1
http://www.najah.com
b) Traduction en Pascal
BEGIN
REPEAT
READLN( n );
UNTIL n IN [ 10 .. 40];
FOR i:=1 TO n DO
REPEAT
READLN( A[ i ] );
UNTIL (A[ i ] >= 0) AND (A[ i ] <= 20);
END;
4) Fin Rang
DOC4MTINFCS0010 Page 2
http://www.najah.com
2) Fin Rangs
DOC4MTINFCS0010 Page 3
http://www.najah.com
b) Traduction En Pascal
BEGIN
FOR i:=1 TO N DO
R[ i ] := RANG ( n, A, A[ i ] )
END;
5/ ALGORITHME RECHERCHE_RANG
0) Début Recherche_Rang
1) Proc Saisie (n , M)
2) Proc Rangs (n , M , R)
3) Proc Affiche (n , M , R )
4) Fin Recherche_Rang
DOC4MTINFCS0010 Page 4
http://www.najah.com
DOC4MTINFCS0010 Page 5
http://www.najah.com
Solution du sujet T2 - 11
PARTIE 1 (6 points)
Exercice 1 (3 points)
Soit le message suivant :
"Cher ami, j'ai reçu ton message électronique et je te signale que tu peux télécharger le cours
de multimédia à partir de l'adresse suivante : fttp;//edunet.tn"
Exercice 2 (3 points)
Remplir le tableau suivant :
Description Exemple
Moteur de recherche www.yahoo.fr
Explorateur Internet Explorer
Adresse (URL) d'un site Internet http;//www.edunet.tn
Adresse du courrier électronique (e-mail) Mohamed.Salah@edunet.tn
Logiciel de création des pages Web MS Front Page
Protocole réseau TCP/IP
1) Décomposition en modules
* Proc Saisie_Nombre
* Proc Extraction
* Proc Trie
* Proc Affiche
* Programme principal Plus Grand
Dans ce qui suit on va respecter les normalisations utilisées actuellement, c'est-à-dire l'écriture
des analyses suivie des algorithmes et des tableaux de codification.
Résultat = Tri
Traitement :
- Trier par ordre croissant le tableau T.
DOC4MTINFCS0011 Page 2
http://www.najah.com
DOC4MTINFCS0011 Page 3
http://www.najah.com
3) Fin Affiche
DOC4MTINFCS0011 Page 4
http://www.najah.com
Proc Saisie_Nombre (n )
Proc Extraction (n , T )
Proc Tri (L, T )
Proc Affiche ( L, T)
Fin Analyse
DOC4MTINFCS0011 Page 5
http://www.najah.com
Solution du sujet T2 - 12
EXAMEN DU BACCALAUREAT (session : JUIN 1993)
SUJET : INFORMATIQUE
EXERCICE 1 ( 6 points )
1) Le nombre hexadécimal CAF est égal dans la base 10 à :
2) Le nombre Octal 456, multiplié par 8, est égal dans la même base à :
4) ASCII est :
F '17373' F 0 V 5
DOC4MTINFCS0012 Page 1
http://www.najah.com
EXERCICE 2 ( 14 points)
295 → 110, 2, 4, 16, 37, 58, 89, 145, 42, 20, 4, 16, 37, 58
DOC4MTINFCS0012 Page 2
http://www.najah.com
4) CARRECHIF ← somme
5) Fin CARRECHIF
0) Début INSPID
1) Proc INIT (T)
2) Proc SAISIE (U0)
3) T[ 0 ] ← U0
4) i ← 0
5) posi ← -1
6) TANT QUE ( posi = -1) ET (T[ i ] ≠ 1 ) FAIRE
i ← i+1
T[ i ] ← CARRECHIF( T[ i-1 ] )
posi ← CHERCHE( T[ i ], i -1 )
DOC4MTINFCS0012 Page 3
http://www.najah.com
DOC4MTINFCS0012 Page 4
http://www.najah.com
Solution du sujet T3 - 13
Partie I (6 points)
Exercice 1 : (3 points)
Exercice 2 : (3 points)
DOC4MTINFCS0013 Page 1
http://www.najah.com
pratique
2. Examen
théoriqu
e
<U> Examen pratique </U> <BR>
Examen pratique Examen
4 <Centrer> Examen théorique 3
théorique
</Center>
Examen pratique
Examen pratique Examen
5 <BR> 2
théorique
Examen théorique
1) Analyse du problème
Résultat =
Une même procédure nommée Affiche, permet l'affichage des trois tableaux et ce par trois
appels différents.
Proc Affiche (n, T1)
Proc Affiche (n, T2)
Proc Affiche (m, INTER)
Traitement :
- Une procédure Intersection permet de faire l'intersection des deux tableaux T1 et T2 dans le
tableau INTER à m éléments.
Proc Intersection (n, T1, T2, m, INTER)
- Une même procédure Remp, permet de remplir les deux tableaux T1 et T2 par deux appels
successifs.
Proc Remp (n, T1)
Proc Remp (n, T2)
- Une procédure Saisie, permet la saisie et le test de du nombre d'éléments N.
Proc Saisie (n)
Fin Analyse
Type
Vect = Tableau de n éléments de type entier
DOC4MTINFCS0013 Page 2
http://www.najah.com
T2 Vect Tableau 2
m Entier Nombre d'éléments de l'intersection
INTER Vect Tableau de l'intersection
Intersection Procédure Réalise l'intersection de T1 et T2 dans Inter
Remp Procédure Remplit un tableau
Saisie Procédure Saisie le nombre d'élément N
Algorithme
0) Procédure Affiche (n : Entier ; A :Vect)
1) Pour i de 1 à n Faire
Ecrire (A[i])
Fin Pour
2) Fin Affiche
Algorithme
0) Procédure Intersection (n : entier ; A1, A2 : Vect ; VAR m : entier ; VAR B : vect)
DOC4MTINFCS0013 Page 3
http://www.najah.com
1) m ← 0
2) Pour i de 1 à n Faire
Si Fn Existe (A1[i], n, A2) Alors
m ← m+1
B [m] ← A1 [i]
Fin Si
Fin Pour
3) Fin intersection
Algorithme
0) Fonction Existe (v : Entier ; k : entier; A : vect) : Booléen
1) Test ← Vrai
2) i ← 1
3) Tant Que (A[i] ≠ v) et (i ≤ k) Faire
i← i+1
Fin Tant Que
4) Si (i = k+1) Alors
Test ← Faux
FinSi
5) Existe ← test
6) Fin existe
DOC4MTINFCS0013 Page 4
http://www.najah.com
Algorithme
0) Procédure Remp (n : entier ; VAR A : vect)
1) Lire (A[1])
2) Pour i de 2 à n Faire
Répéter
Lire (A[i])
Jusqu'à NON (FN Existe (A[i], i - 1, A))
FinPour
3) Fin remp
Algorithme
0) Procédure Saisie (VAR k : entier)
1) Répéter
Lire (k)
Jusqu'à k dans [3 .. 99]
2) Fin Saisie
DOC4MTINFCS0013 Page 5
http://www.najah.com
Solution du sujet T3 - 14
Analyse du programme principal Jeu_de_mots
- Une procédure Remplir permet de ranger des lettres majuscules dans la matrice M.
- Une procédure Saisie permet la saisie et le test de validité de l'entier N représentant l'ordre
de la matrice.
Fin Jeu_de_mots
Algorithme
0) Début Jeu_de_mots
1) Proc Saisie (N)
2) Proc Remplir (M, N)
3) Proc Lecture (ch, N)
4) inv_ch Å FN Inverse(ch)
5) Result Å FN Trouve (N, M, ch, in_ch)
6) Si Result Alors Ecrire ("le mot ", mot, " se trouve dans la matrice ")
Sinon Ecrire ("le mot ", mot, " ne se trouve pas dans la matrice ")
Fin Si
7) Fin Jeu_de_mots
Algorithme
0) Procédure Remplir (N : Entier ; VAR M : Matrice)
1) Pour i de 1 à N Faire {ligne}
Pour j de 1 à N Faire {colonne}
Répéter
Ecrire ("Donner M[", i , " ," , j , " ] : ")
Lire (M[i, j] )
M[i, j] Å Majuscule M[i, j]
Jusqu'à M[i, j] Dans ["A" .. "Z"]
Fin Pour
Fin Pour
2) Fin Remplir
DOC4MTINFCS0014 Page 2
http://www.najah.com
Algorithme
0) Procédure Lecture (VAR ch : Mot ; N : Entier)
1) Répéter
ch = Donnée ("Entrer le mot à chercher ")
Jusqu'à (Longueur (ch) = N)
2) Pour i de 1 à N Faire
ch[i] Å Majuscule (ch[i])
Fin Pour
3) Fin Lecture
Algorithme
0) Fonction Inverse (ch : Mot) : Mot
1) inv Å ""
2) Pour i de longueur (ch) à 1 faire
inv Å inv + ch[i]
Fin Pour
3) Inverse Å inv
4) Fin Inverse
T.D.Objets locaux
Objet Type / Nature Rôle
inv Chaîne Pour construire la chaîne inverse de ch
i Entier Compteur pour parcourir la chaîne ch
DOC4MTINFCS0014 Page 3
http://www.najah.com
Algorithme
0) Fonction Trouve (N : Entier ; M : Matrice ; ch, inv_ch : Mot) : Booléen
1) OK Å Faux
2) OKD Å ((FN Mot_Diagonale (N, M,1) = ch) OU ((FN Mot_Diagonale (N, M, 1) = inv_ch
))
Si OKD Alors OK Å Vrai
Sinon
OKD Å ((FN Mot_Diagonale (N, M, 2) = ch) OU ((FN Mot_Diagonale (N, M, 2) =
inv_ch ))
Fin Si
DOC4MTINFCS0014 Page 4
http://www.najah.com
Fin Si
Trouve Å OK
3) Fin Trouve
T.D.Objets locaux
Traitement :
On parcourt toute les colonnes pour concaténer les N lettres de la ligne L en cours. On
forme ainsi le mot de la ligne.
Pour k de 1 à N Faire
ml Å ml + M[L, k]
La variable ml doit être initialisée à vide
ml Å ""
Fin Mot_Ligne
Algorithme
0) Fonction Mot_Ligne (N, L : Entier ; M : Matrice ) : Mot
1) ml Å ""
2) Pour k de 1 à N Faire
ml Å ml + M[L, k]
Fin Pour
3) Mot_Ligne Å ml
4) Fin Mot_Ligne
T.D.Objets locaux
Objet Type / Nature Rôle
k Entier Compteur des colonnes
ml Mot le mot de la ligne
DOC4MTINFCS0014 Page 5
http://www.najah.com
Algorithme
0) Fonction Mot_Colonne (N, C : Entier ; M : Matrice ) : Mot
1) mc Å ""
2) Pour k de 1 à N Faire
mc Å mc + M[k, C]
Fin Pour
3) Mot_Colonne Å mc
4) Fin Mot_Colonne
T.D.Objets locaux
Objet Type / Nature Rôle
k Entier Compteur des lignes
mc Mot le mot de la colonne
Analyse de la fonction Mot_Diagonale
Résultat = Mot_Colonne
Traitement :
Si le sens est 1, on parcourt les lignes et les colonne de la diagonale principale pour
concaténer les N lettres. On forme ainsi le mot de la diagonale principale (sens = 1):
Si Sens = 1 Alors
Pour k de 1 à N Faire
md Å + M[k, k]
Fin Pour
DOC4MTINFCS0014 Page 6
http://www.najah.com
Algorithme
0) Fonction Mot_Diagonale (N : Entier ; M : Matrice, Sens : Entier) : Mot
1) md Å ''"
2) Si Sens = 1 Alors
Pour k de 1 à N Faire
md Å md + M[k, k]
Fin Pour
Sinon
Pour k de 1 à N Faire
md Å md + M[k, N-k+1]
Fin Pour
Fin Si
3) Mot_Diagonale Å md
4) Fin Mot_Diagonale
T.D.Objets locaux
Objet Type / Nature Rôle
md Mot Le mot de la diagonale
k Entier Compteur
Traduction en Pascal
PROGRAM Jeu_de_mots ;
USES WinCrt;
TYPE
Matrice = Array[1..10,1.. 10] OF Char ;
Mot = String [10] ;
VAR
M : Matrice;
N : Integer;
Ch, Inv_ch : mot ;
Result : Boolean ;
{------------------------------------------------------------------------------------}
PROCEDURE Saisie (VAR N : Integer) ;
BEGIN
Repeat
Write ('Entrer l''ordre de la matrice : ');
ReadLn (N) ;
Until (N IN [3..10]);
END ;
{------------------------------------------------------------------------------------}
PROCEDURE Remplir (N : Integer ; VAR M : Matrice) ;
VAR
DOC4MTINFCS0014 Page 7
http://www.najah.com
i, j : Integer ;
BEGIN
For i:=1 TO N Do
Begin
For j:=1 TO N Do
Begin
Repeat
Write ('Donner M[', i , ' , ' , j , '] = ');
ReadLn (M[i , j]);
M[i , j] := UpCase (M[i , j]);
Until (M[i, j] IN ['A'..'Z']);
End ;
WriteLn (' ****************************************** ');
End;
END;
{------------------------------------------------------------------------------------}
PROCEDURE Lecture (VAR ch : Mot ; N : Integer) ;
VAR i : Integer ;
BEGIN
Repeat
Write ('Entrer le mot à chercher : ') ;
ReadLn (ch);
Until (Length (ch) = N) ;
For i: = 1 TO N Do
ch[i] := UpCase (ch[i]) ;
END;
{------------------------------------------------------------------------------------}
FUNCTION Inverse (ch : Mot ): Mot ;
VAR
inv : Mot ;
i : Integer ;
BEGIN
inv := '' ;
For i:= Length (ch) DOWNTO 1 do
inv:= inv + ch[i] ;
Inverse := inv ;
END ;
{------------------------------------------------------------------------------------}
FUNCTION Mot_Ligne (N, L : Integer ; M : Matrice) : Mot ;
VAR ml : Mot ;
k : Integer ;
BEGIN
ml := '' ;
For k := 1 To N Do
DOC4MTINFCS0014 Page 8
http://www.najah.com
ml := ml + M[L, k] ;
Mot_Ligne := ml ;
END ;
{------------------------------------------------------------------------------------}
FUNCTION Mot_Colonne (N, C : Integer ; M : Matrice) : Mot ;
VAR
mc : Mot ;
k : Integer ;
BEGIN
mc := '' ;
For k := 1 To N Do
mc := mc +M[k, C] ;
Mot_Colonne := mc ;
END;
{------------------------------------------------------------------------------------}
FUNCTION Mot_Diagonale (N : Integer ; M : Matrice ; Sens : Integer) : Mot ;
VAR
k : Integer ;
md : Mot;
BEGIN
md := '' ;
If Sens = 1 Then
Begin
For k := 1 To N Do
md := md + M[k, k] ;
End
Else
Begin
For k := 1 To N Do
md := md + M[k, N-k+1] ;
End ;
Mot_Diagonale := md ;
END;
{------------------------------------------------------------------------------------}
FUNCTION Trouve (N : Integer ; M : Matrice ; ch, inv_ch : Mot) : Boolean ;
VAR
i, j : Integer ;
OK, OKL, OKC, OKD : Boolean;
BEGIN
OK := FALSE ;
OKD := ((Mot_Diagonale (N, M, 1) = ch) OR (Mot_Diagonale (N, M, 1) = inv_ch )) ;
If OKD Then OK := TRUE
Else
OKD := ((Mot_Diagonale (N, M, 2) = ch) OR (Mot_Diagonale (N, M, 2) = inv_ch )) ;
DOC4MTINFCS0014 Page 9
http://www.najah.com
Trouve:= OK ;
END ;
{================= P P ======================}
BEGIN
Saisie (N) ;
Remplir (N, M) ;
Lecture (ch, N) ;
inv_ch := Inverse (ch) ;
Result := Trouve (N, M, ch, inv_ch) ;
If Result Then WriteLn ('Le mot ', ch, ' existe dans la matrice M ')
Else WriteLn ('Le mot ', ch, ' n"existe pas dans la matrice M');
END.
DOC4MTINFCS0014 Page 10
http://www.najah.com
Solution du sujet T3 - 15
BACCALAUREAT Session : JUIN 1990
CORRIGE DU SUJET
II/ Problème
PROCEDURE SAISIE_POLY
T. D. Objets locaux
Objet Type / Nature Rôle
i Entier Compteur
DOC4MTINFCS0015 Page 1
http://www.najah.com
Remarque : DEG_MAX est déclarée dans la zone CONST et tab dans la zone TYPE comme
étant un tableau à DEG_MAX +1 éléments.
Ce sont des objets globaux.
DOC4MTINFCS0015 Page 2
http://www.najah.com
2 - a ) FONCTION VAL_POLY
T. D. Objets locaux
Objet Type / Nature Rôle
résultat Réel Pour le calcul du résultat
b) En Pascal
VAL_POLY := resultat;
END;
T. D. Objets locaux
DOC4MTINFCS0015 Page 3
http://www.najah.com
b) En Pascal
PROCEDURE SORTIE_POLY ( table : tab);
VAR
i , indicateur : Integer;
BEGIN
indicateur := 0;
FOR i:=0 TO DEG_MAX DO
IF table[ i ] < > 0 THEN
BEGIN
WriteLn( table[ i ], ' ' , i );
indicateur := 1;
END;
IF indicateur = 0 THEN WriteLn( ' polynôme nul ');
END;
DOC4MTINFCS0015 Page 4
http://www.najah.com
Solution du sujet T3 - 16
EXAMEN DU BACCALAUREAT (session : JUIN 1992)
SUJET : INFORMATIQUE
CORRIGE DU SUJET
EXERCICE 1 (6 points)
4) Un microprocesseur est :
F 0 V a + a + c V 1
DOC4MTINFCS0016 Page 1
http://www.najah.com
EXERCICE 2
1/
a/ Transformation de la permutation ( 1, 2, 3, 4).
Etape 1 : i=4
Etape 2 : j=4
Etape 3 : On permute 3 et 4 on obtient ( 1, 2, 4, 3)
Etape 4 : on renverse la séquence 3 (En fait, ne rien faire ), on obtient (1, 2, 4, 3)
Etape 1 : i=2
Etape 2 : j=4
Etape 3 : On permute 1 et 4 on obtient (2, 4, 3, 1)
Etape 4 : On renverse l'ordre de (4, 3, 1) on obtient la permutation ( 2, 1, 3, 4)
Pas de i tel que T[i - 1] < T[ i ] donc il n'est pas possible d'appliquer cet
algorithme tel qu'il est indiqué.
T. D. Objets locaux
Objet Type / Nature Rôle
i,k Entiers Compteurs
DOC4MTINFCS0016 Page 2
http://www.najah.com
Fin Pour
3) PGJ ← j
4) Fin PGJ
T. D. Objets locaux
Objet Type / Nature Rôle
j,k Entiers Compteurs
T. D. Objets locaux
Objet Type / Nature Rôle
aux Entiers Variable auxiliaire
T. D. Objets locaux
Objet Type / Nature Rôle
m Entiers Compteur
6/ ALGORITHME PRINCIPAL
0) Début Principal
1) REPETER
Lire( n )
JUSQU'A n > 0
2) POUR k DE 1 A n FAIRE
T[ k ] ← k
Fin Pour
DOC4MTINFCS0016 Page 3
http://www.najah.com
4) Ecrire ( T[ n ] )
5 ) REPETER
i ← PGI
SI i ≠ 0 ALORS
j ← PGJ( i )
PERMUTE ( i-1 , j )
RENVERSE ( i )
POUR L DE 1 A n-1 FAIRE
Ecrire ( T[ L ] , " , " )
Fin Pour
Ecrire ( T[ n ] )
Fin Si
JUSQU'A ( i = 0 )
6) Fin Principal
T. D. Objets locaux
Objet Type / Nature Rôle
max Constante = 200 Max du Tableau {n'est pas une limite}
T Tab Tableau d'entiers
n Entier Nombre d'éléments
k, L, j, i Entier Compteurs
DOC4MTINFCS0016 Page 4
http://www.najah.com
Solution du sujet T3 - 17
CORRIGE DU SUJET DE BAC (JUIN 2003)
PARTIE I
Exercice 1 (3 points)
On donne la liste suivante d’extensions de fichiers :
GIF ; AVI ; JPG ; EXE ; MP3 ; DOC ; PAS ; BPM ; TXT ; WAV ; HTM ; XLS
A partir de cette liste, mettre dans chaque colonne du tableau ci-dessous les extensions
habituellement utilisées pour les trois types de fichiers : image, son et vidéo .
Types de fichiers
Image Son Vidéo
Gif.. MP3.. AVI
JPG WAV. ……………
BMP …………………. ……………
Exercice 2 (3 points)
Dans le domaine informatique, donner les définitions des termes suivants :
Adresse IP :
Identifiant numérique unique d’une machine connectée à un réseau utilisant le protocole
TCP/IP.
Internet :
Réseau mondial, réseau des réseaux.
Adresse électronique:
Adresse e-mail, adresse de courrier, courrier, adresse de messagerie.
DOC4MTINFCS0017 Page 1
http://www.najah.com
PARTIE II (14)
Etat de T après la 2 1 3 4 5 6
première opération
Etat de T après la 1 3 2 4 5 6
deuxième opération
Etat de T après la 3 1 2 4 5 6
troisième opération
Etat de T après la 1 2 4 3 5 6
quatrième opération
Etat de T après la 2 1 4 3 5 6
cinquième opération
Etat de T après la 4 1 2 3 5 6
septième opération
2) Les analyses
PROC
PROC Saisie PROC remplir traitement PROC Affichage
P.P décalage
DOC4MTINFCS0017 Page 2
http://www.najah.com
Résultat = Saisie de N
Traitement :
Répéter
N = Donnée
Jusqu'à N dans [6 .. 49]
Fin Saisie
DOC4MTINFCS0017 Page 3
http://www.najah.com
Fin pour
T[p+1] Åp
NbÅnb+1
Jusqu à T[1] =m
Fin traitement
3) Les algorithmes
a/ Algorithme du programme principal
0) Début Décalage
1) PROC Saisie (n)
2) PROC Remplir (T, N)
3) Ecrire (‘’M =’’) lire (M)
4) PROC Traitement (T, N, M, nb)
5) PROC Affiche (T, N)
DOC4MTINFCS0017 Page 4
http://www.najah.com
6) Fin décalage
DOC4MTINFCS0017 Page 5