You are on page 1of 25

- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique-

Travaux Pratiques dALGORITHMIE ET PROGRAMMATION EN PASCAL - H.Hamdi 2000-2006


----------------------------------------------------------------------------------------------------------------------------------------------------

TP N1: NOTIONS SUR L'UTILISATION DE L'ENVIRONNEMENT MS-DOS

PREMIERE PARTIE: COMMANDES USUELLES SUR LES FICHIERS ET LES DIRECTORIES
DEUXIEME PARTIE : NOTIONS DE PROGRAMME EXECUTABLE ET DE LOGICIEL
TROISIEME PARTIE: NOTION DE DISQUE SYSTEME SUR MSDOS


TP N2: ENVIRONNEMENT WINDOWS ET EXECUTION DE PROGRAMMES

PREMIERE PARTIE: WINDOWS ET L'UTILISATION DE LA SOURIS
DEUXIEME PARTIE: L'ENVIRONNEMENT GRAPHIQUE
TROISIEME PARTIE: EXECUTION D'UN PROGRAMME


TP N 3: ENVIRONNEMENT INTEGRE DE TURBO PASCAL

TP REALISE EN 4 PARTIES
- Familiarisation avec les commandes usuelles de lditeur ; compilation et excution en mmoire.
- Importation dune partie de fichier et fonctions copie-coller ; affichage en mode multifentres ; excution partielle.
- Basculement environnements windows et turbo pascal, ; compilation et excution sur disque.
- Recherche et remplacement de texte ; excution du programme obtenu dans lenvironnement windows de 3 manires
diffrentes ; cration de raccourcis de programme excutables.


TP N
0
4 : NOTIONS PRELIMINAIRES DE TURBO PASCAL

LOBJECTIF DU TP EST LA FAMILIARISATION AVEC LES NOTIONS DE :
- dition, compilation et dition des liens,
- les entres sorties standard (clavier et cran),
- dclaration de variables entires et relles, affectation de valeurs,
- erreurs syntaxique, smantique, de programmation,
- quelques structures et instructions de base du turbo pascal.


TP N
0
5 : LES STRUCTURES ALTERNATIVES ET REPETITIVES EN TURBO PASCAL

TRADUCTION EN LANGAGE PASCAL DALGORITHMES CONTENANT LES STRUCTURES :
- boucle for do ,
- squences alternatives avec if then else et boucle post teste repeat until ,
- squence rptitive avec boucle pr teste while do .


TP N
0
6: LES PROCEDURES EN TURBO PASCAL

TRANSFORMATION DUN PROGRAMME EN PROGRAMME PRINCIPAL ET DEUX PROCEDURES, AVEC :
- utilisation uniquement de variables globales,
- puis variables globales et variables locales,
- puis appel de procdures par transmission de paramtres,
- puis utilisation des deux procdures commeunits de compilation.


TP N0 7 : CODE ASCII, CHAINES DE CARACTERES, TABLEAUX
EN TURBO PASCAL


TP N0 8 : CREATION ET LECTURE DE FICHIERS DE CARACTERES
EN TURBO PASCAL

- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- -1-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------- 1/23

TP N1: NOTIONS SUR L'UTILISATION DE L'ENVIRONNEMENT MS-DOS


PREMIERE PARTIE: COMMANDES USUELLES SUR LES FICHIERS ET LES DIRECTORIES

1Commandes MD, DIR, nom de lecteur suivi de 2 points
Cration de la directory toto1 dans la racine du disque D:
a) D: signifie aller au lecteur D:
b)MD toto1 cre la sous directory toto1 dans la directory courante.
c)DIR affiche le contenu de la directory courante (D:\)
d)DIR toto1 affiche le contenu de la directory toto1
Remarquer la directory "." (directory courante) et la directory ".." (directory pre).
2Commandes CD et MD et signification de " \ " (sparateur ou racine)
Cration de 2 sous directory toto12 et toto13 l'intrieur de toto1.
a)1mthode: aller toto1 ("CD toto1" ou "CD D:\toto1" ou "CD \toto1") puis "MD
toto12" et "MD toto13"
b)Autres mthodes: rester dans la racine de "D:" et taper soit "MD D:\toto1\toto12" soit
"MD toto1\toto12" soit "MD \toto1\toto12". Les mmes commandes peuvent tre utilises pour
crer la sous directory toto13.
3Signification de " \ " et "* "
a)Visualiser le contenu de la racine de D:
Soit aller la directory racine (commande "CD \" ou "CD D:\" ou "CD..") puis commande
"DIR" ,
soit aller la directory toto1 (commande "CD D:\toto1") puis commande "DIR .." .
b)affichage du contenu de toto1:
commande "DIR toto1" on observera toto12 et toto13 incluses dans toto1;
(commandes alternatives: "DIR D:\toto1" ou " DIR \toto1" ou "CD D:\toto1" puis "DIR").
d)visualiser le contenu de toto12 et toto13
commandes ( "DIR toto1\toto12" ou "DIR D:\toto1\toto12" ) et ( "DIR \toto1\toto13" ou
"DIR .\toto1\toto13" ).
e)Utilisation du symbole " * " pour visualiser le contenu de toto1 et qui commence par la
chane de caractres "tot": commande " DIR D:\toto1\tot* "
4Utilisation des 2 points " .. " signifiant directory pre
a)Aller la sous directory toto12 : commande "CD \toto12" ou "CD .\toto12" ou "CD
D:\toto12" ou "CD toto12").
b)commande "DIR" on observe les 2 points
c)commande "DIR.. " on voit le contenu du pre (toto1) cd toto12 et toto13.
dcommande "DIR ..\toto13" on voit le contenu de toto13
e)Aller la sous directory toto13 : commande "CD ..\toto13"
f)visualiser le contenu de toto13: commande "DIR" ou "DIR . "
5Commande COPY et utilisation du symbole " * "
Un fichier possde un nom (8 caractres au maximum sous MSDOS et commenant de
prfrence par 1 lettre), et une extension (au maximum 3 caractres).
Copie de tous les fichiers commenant par "turbo" (premire "*" ) quelle que soit leur
extension (deuxime "*"), et se trouvant dans la directory "C:\TP7" , vers la directory "D:\toto1",
en leur gardant le mme nom (premire "*" ) et la mme extension (deuxime "*"). Commande "
COPY C:\TP7\turbo*.* D:\toto1\*.* "
Source ou origine destination
En fonction de la directory o se trouve les fichiers de turbo pascal, la source peut changer.

TP N1: NOTIONS SUR L'UTILISATION DE L'ENVIRONNEMENT MS-DOS
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- -2-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------- 2/23


6)Commande "REN"
a)Aller la directory toto1 (commande "CD \toto1")
b)commande "REN turbo.exe toto.exe" puis commande "DIR"



DEUXIEME PARTIE : NOTIONS DE PROGRAMME EXECUTABLE ET DE LOGICIEL


logiciel = programmes, dont certains sont excutables et d'autres constituent des
donnes pour ces programmes excutables.
1 Sous MS-DOS un programme excutable a l'extension ".com" ou ".exe" ou ".bat" (ou
".sys"). L'ordre de priorit est le prcdent.
Par exemple pour le logiciel "turbo pascal" aller la directory "toto1" puis taper la
commande "DIR / W" puis "DIR / P". On remarque turbo.exe (ou "turbo.com") et le reste
constitue des donnes pour ce programme.
2 Pour excuter un programme sous MSDOS il suffit de taper son nom.
a)Copier "toto.exe" vers la directory "toto12".
b)Aller la directory toto12 et excuter le programme "toto.exe".
Observer le message d'erreur "manque fichier de donnes" qui confirme le texte donn au 1.
c)Aller la sous directory toto1 et excuter le programme "toto.exe". On remarque que
tout se passe bien et on entre dans l'environnement du logiciel "turbo pascal" (qui fera l'objet du tp
numro 3).
3 On va maintenant supprimer toutes les directories cres ainsi que leur contenu.
aAller la racine de D: commande "CD D:\" puis commande "RD toto1". Il y aura le
message d'erreur "directory not empty".
bAller la directory toto1: "CD toto1". c puis "RD toto12" et "RD toto13" puis "DIR".
On observe la disparition des 2 directories.
cRester dans la directory toto1 et entrer la commande "DEL *.*" puis rpondez oui la
question et enfin taper la commande "DIR". On observe que toto1 est vide.
dRester dans toto1 et entrer la commande "RD toto1" et observer le mesage d'erreur qui
normal.
e Aller de toto1 vers la racine (commande "CD \") puis supprimer toto1 ("RD toto1").


TP N1: NOTIONS SUR L'UTILISATION DE L'ENVIRONNEMENT MS-DOS
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- -3-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------- 3/23


TROISIEME PARTIE: NOTION DE DISQUE SYSTEME SUR MSDOS


1Squence de dmarrage d'un ordinateur sous MS-DOS
Le systme d'exploitation MS-DOS se trouve en partie dans le BIOS (en mmoire rom), et
en majeure partie dans le disque dur (Hard Disk).
Au dmarrage le BIOS recopie le contenu de la RAM-CMOS en RAM, puis il effectue une
vrification de l'existence des matriels et de leur conformit avec les paramtres dfinis dans la
ram-cmos. Ces paramtres "hardware" sont sauvegards en ram-cmos lorsq'on effectue le
"SETUP" de l'ordinateur. Si le contenu de la ram-cmos est effac (pile dfectueuse) le systme
charge les paramtres par dfaut (minimum de paramtre dfini par le constructeur).
Ensuite le bios vient charger du "boot secteur" du disque vers la mmoire ram de
l'ordinateur les 2 fichiers IO.SYS et MSDOS.SYS, puis les excute. Ensuite le sysex revient la
racine du disque pour recopier en mmoire RAM le fichier interprteur de commandes
COMMAND.COM.
Ensuite le sysex charge (de la racine du disque) en mmoire ram le fichier de configuration
"config.sys" avant de l'excuter. S'il ne le trouve pas il charge les paramtres par dfaut insrs par
le constructeur dans le BIOS.
Enfin si le fichier de directives de commandes "autoexec.bat" existe en racine, il est charg
en mmoire ram puis excut.

Les deux fichiers cachs IO.SYS et MSDOS.SYS et l'interprteur de commandes
COMMAND.COM sont ncessaires pour faire d'un disque un disque de dmarrage (ou disk
system). Ces trois fichiers sont recopis automatiquement sur le boot secteur d'un disque par la
commande "FORMAT /S" ( ou "FORMAT /B" suivi" de "SYS").

N.B. Utiliser la commande externe "TYPE" pour voir le contenu de ces deux fichiers. Insister sur
l'importance de la commande externe "PATH".

2 On classe les commandes du langage du Sysex Ms-Dos en deux catgories: des
commandes externes pour lesquelles il existe un fichier excutable pour chaque commande
(FORMAT, MODE, ATTRIB), et des commandes internes (DIR, CD, MD) pour lesquelles
l'interprteur de commandes (fichier COMMAND.COM) suffit.

Pour changer les attributs d'un fichier (Archive, Read only, Hidden, System) utiliser la
commande externe "ATTRIB".
a Par exemple aller la directory "c:\windows\Dos" ou "c:\wndows\command" pour lister les
commandes externes.
b Puis aller la racine de "c:\" et taper la commande "DIR COMMAND" pour vrifier
l'existence du fichier command.com .
c Puis "ATTRIB h *. sys" puis nouveau "DIR" pour voir les fichiers cachs "IO.SYS"
et "MSDOS.SYS".
d Remettre l'attribut cach aux 2 fichiers prcdents par les commandes:
"ATTRIB +h IO.SYS" et "ATTRIB +h MSDOS.SYS".
TP N1: NOTIONS SUR L'UTILISATION DE L'ENVIRONNEMENT MS-DOS
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- -4-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------- 4/23

TP N2: ENVIRONNEMENT WINDOWS ET EXECUTION DE PROGRAMMES
-----------------------------------------------------



PREMIERE PARTIE: WINDOWS ET L'UTILISATION DE LA SOURIS


1 CE QUE REPRESENTE WINDOWS
Windows =Dos +environnement graphique incluant les notions de bureau, dossiers,
fichiers. C'est un environnement graphique pour faciliter les commandes et la manipulation des
fichiers l'aide de la souris et d'un menu droulant.
J usqu' WIN 3.11, c'est un simple logiciel comme un autre qui fournit un environnement
graphique. A partir de Windows 95 c'est devenu un systme d'exploitation, qui comprend deux
parties:
- un noyau dos (DOS 7.0) pour garder la compatibilit avec les versions de ms-dos
antrieures la version 6.22,
- un environnement graphique inspir du bureau : rpertoires, dossiers, fichiers,

Sous MS-DOS l'entre standard (STDIN) est constitue par le clavier alors que la sortie
standard (STDOUT) est constitue par l'cran. Sous windows l'entre standard est constitue
indiffremment par la souris ou le clavier.

2 UTILISATION DE LA SOURIS

2-1- Click avec le bouton gauche de la souris sur un rpertoire ou un fichier, il est
slectionn. On remarque cette slection par la mise en surbrillance de ce fichier ou ce rpertoire.
2-2- Double click avec le bouton gauche
a Sur un fichier xcution de ce fichier s'il s'agit d'un programme, ou ouverture de ce
fichier en faisant appel automatiquement au logiciel appropri en fonction de son extension. Par
exemple si ".doc" appel du logiciel "WORD", si ".txt" appel d'un diteur de texte tel que
"WORDPAD", si ".bmp" appel d'un diteur d'images tel que "PAINT".
b Sur un dossier ou rpertoire ouverture du dossier en entrant dedans et en visualisant
son contenu.
2-3-Click avec le bouton droit sur un fichier accs un menu avec les options
principales suivantes: -ouvrir =excuter le fichier
-imprimer , envoyer vers, copier, couper, renommer
-crer un raccourci =c'est un raccourci du programme. Ce raccourci peut tre plac sur le
bureau et ensuite en cliquant dessus cela provoque l'appel au programme correspondant.
-proprits
2-4- Click avec le bouton droit sur un fichier avec dplacement vers un dossier
apparition d'un menu avec 4 options: dplacer, copier, crer un raccourci, annuler.
2-5- Click avec le bouton gauche sur un fichier avec dplacement vers un dossier
dplacement du fichier vers la directory.
TP N2: ENVIRONNEMENT WINDOWS ET EXECUTION DE PROGRAMMES
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- -5-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------- 5/23


DEUXIEME PARTIE: L'ENVIRONNEMENT GRAPHIQUE


1Le bureau : il est constitu d'un ensemble d'icones de raccourcis vers des programmes ou des
rpertoires ou le poste de travail.
2Poste de travail: il permet d'avoir des informations et d'accder aux mmoires de masse, la
corbeille, aux imprimantes, etc
3La barre des tches : comme son l'indique elle visualise les noms des taches en cours ou en
veille. En cliquant dessus avec le bouton droit on peut accder l'explorateur windows.
4Le menu dmarrer: on rencontre les options principales suivantes:
- Excuter: un programme
- rechercher un fichier
- documents : pour accder un document "word" de la sous directory documents
- paramtres: pour le rglage des paramtres de l'ordinateur . Il offre les sous options
suivantes: panneau de configuration, imprimantes, barre des taches et menu dmarrer.
- Programmes: permet d'accder toutes les applications qui sont installes, notamment
"l'explorateur windows", l'accs aux "commandes dos", les applications WORD et
EXCEL faisant partie de la suite OFFICE.*
5Explorateur windows et winfile
Il comprend principalement 5 options ou menus:
-menu File ou Fichier: pour les oprations sur les fichiers
-menu Edit ou Edition: pour les oprations de slection et copier-coller des fichiers
-menu View ou Affichage: pour controler les paramtres d'affichage des fichiers
-menu Tools ou Outils: pour rechercher des fichiers ou dossiers
-menu Help ou ?: pour obtenir des informations sur windows et son utilisation



TROISIEME PARTIE: EXECUTION D'UN PROGRAMME


Il existe 5 manires d'excuter un programme sous windows:
1Bureau: double click sur l'icne du raccourci du programme
2Menu dmarrer +Excuter +Nom du programme avec son chemin.
3 Menu dmarrer +Programmes +Commandes DOS +taper le nom du programme
4Avec l'explorateur windows mettre le curseur sur le fichier (fichier en surbrillance) puis:
- soit double clicker sur le fichier
- soit aller au menu File ou Fichier puis Open ou Ouvrir

N.B. Ecrire un fichier batch d'affichage d'un message. Le mettre dans la racine, crer un raccourci
et le mettre sur le bureau; puis essayer les 5 mthodes d'excution.


TP N2: ENVIRONNEMENT WINDOWS ET EXECUTION DE PROGRAMMES
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
TP N3: ENVIRONNEMENT INTEGRE DE TURBO PASCAL

-6-
6/23

TP N 3: ENVIRONNEMENT INTEGRE DE TURBO PASCAL
-------------------------------
PARTIE 1
1Dmarrer le logiciel turbo pascal.
2Crer un nouveau programme (menu FILE commande NEW ), puis crire dedans le texte suivant:
{DEPARTEMENT D'ELECTRONIQUE}
PROGRAM affiche_texte (input,output);
uses crt;
BEGIN
clrscr;
writeln ( ' TES 451:INITIATION A L''INFORMATIQUE -2sem 2001- ' );
writeln ( ' TP N0_3: environnement integre de turbo pascal ' );
writeln;
writeln ( ' APPUYER SUR UNE TOUCHE POUR SORTIR ' );
readln;
END.
3Sauver le programme sous le nom "tp0_3" (menu FILE sous menu SAVE AS). Observer ce qui se passe.
4Compiler le programme (menu COMPILE sous menu COMPILE avec pour DESTINATION l'option MEMORY)
puis l'excuter (menu RUN commande RUN).

PARTIE 2
5Changer de sous directory en allant la directory "c:\tp_451" (menu FILE sous menu CHANGE DIR)
6Ouverture du fichier "tp_test" (menu FILE sous menu OPEN)
7Aprs slection du texte identique celui qui se trouve entre accolades, le copier ensuite (menu EDIT commande
COPY).
{ writeln ( ' J e suis le fichier "TOTO.TXT" et mon conseil est: ' );
writeln ( ' attention au virus "I LOVE YOU" sur internet ' );
writeln;
writeln ( ' APPUYER SUR UNE TOUCHE POUR SORTIR ' );
readln;
}
Pour slectionner un texte il faut le mettre en relief comme suit: mettre le curseur sur le premier caractre, puis en
laissant le bouton de la touche "shift" appuy, dplacer le curseur l'aide des touches de direction.
8Afficher en mme temps le contenu des fichiers "tp0_3" et "tp_test" (menu WINDOW commande TILE)
(passage d'un fichier l'autre par l'option NEXT du menu WINDOW)
9Coller le texte qui a t slectionn dans le fichier "tp_test" lintrieur du fichier "tp0_3" , juste avant l'instruction
END (menu EDIT commande PASTE).
10Se mettre dans le fichier "tp_test" puis le fermer (menu WINDOW commande CLOSE), puis afficher le fichier
"tp0_3" en pleine page (menu WINDOW commande ZOOM ).
11 Sauver le nouveau programme (menu FILE commande SAVE ), le compiler en mmoire puis l'excuter.
12Mettre le curseur avant la partie rajoute puis excuter le programme jusqu'au curseur (menu RUN commande GO
TO CURSOR). Refaites l'opration en dcalant chaque fois le curseur d'une ligne vers le bas, et observez le rsultat.

PARTIE3
13Allez l'environnement DOS (menu FILE commande DOS SHELL). Excutez la commande DIR, et observez
bien la liste des fichiers avec leurs extensions.
14Retournez l'environnement du turbo pascal (commande EXIT), puis dans le menu COMPILE sous menu
DESTINATION rglez l'option sur DISK, puis compilez nouveau le programme.
15Allez l'environnement DOS (menu FILE commande DOS SHELL). Excutez la commande DIR, que remarquez
vous?
16Retournez l'environnement du turbo pascal (commande EXIT), puis dans le menu COMPILE vrifiez que le sous
menu DESTINATION est bien rgl sur l'option DISK, puis excutez la commande MAKE.
17Allez l'environnement DOS (menu FILE commande DOS SHELL). Excutez la commande DIR, que remarquez
vous?
18Excutez le programme "tp0_3".
19Retournez l'environnement du turbo pascal (commande EXIT).
20Tester les commandes "CUT" et "UNDO" du menu EDIT en slectionnant d'abord une partie du texte, en le
supprimant (CUT) et en annulant cette dernire commande (UNDO).


- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
TP N3: ENVIRONNEMENT INTEGRE DE TURBO PASCAL

-7-
7/23
PARTIE 4
21Aller l'environnement WINDOWS (touche "windows" du clavier) sans fermer l'environnement du turbo
pascal!. Aller l'explorateur windows puis excuter le programme "tp0_3.exe" de 2 manires diffrentes: commande
OPEN du menu FILE ou double click de la souris sur le nom du fichier.
22Excuter le programme "tp0_3.exe" partir de l'option EXECUTER du menu DEMARRER, suivi du nom du
fichier avec son chemin.
23Crer un raccourci du programme "tp0_3.exe" avec une icne sur le bureau, puis excuter ce programme partir
du bureau (mettre le curseur sur le nom du fichier, puis clicker avec le bouton droit de la souris, puis envoyer le
raccourci vers le bureau).
24Retour l'environnement du turbo pascal en cliquant sur l'icne du turbo pascal sur la barre des tches.
25Dans le menu SEARCH sous menu FIND rechercher la chane de caractres "writeln". Puis utiliser la commande
"SEARCH AGAIN" pour chercher la chane suivante. Utiliser pour cela les touches de raccourci.
26Positionner le curseur en dbut de fichier et remplacer dans le tout le texte la chane "writeln" par "WRITELN"
(menu SEARCH sous menu REPLACE). Compiler et excuter nouveau le programme en mmoire. Que remarquez
vous? Conclure.
27Retourner l'environnement windows en fermant l'environnement du turbo pascal (menu FILE commande EXIT).


{
UNIVERSITE DE CONSTANTINE
FACULTE DES SCIENCES DE L'INGENIEUR
DEPARTEMENT D'ELECTRONIQUE
TP 0_3: environnement intgr de turbo pascal
}
PROGRAM affiche_texte (input,output);
{uses crt;}
BEGIN
{clrscr;}
writeln('TES 451:INITIATION A L''INFORMATIQUE -2sem 2001-');
writeln('TP N0_3: environnement intgr de turbo pascal');
writeln;
writeln('APPUYER SUR UNE TOUCHE POUR SORTIR');
readln;
{}
writeln('J e suis le fichier "TOTO.TXT" et mon conseil est:');
writeln(' attention au virus "I LOVE YOU" sur internet');
writeln;
writeln('APPUYER SUR UNE TOUCHE POUR SORTIR');
readln;
{}

END.
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 8
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------- 8/23
------------------------------
TP N
0
4 : NOTIONS PRELIMINAIRES DE TURBO PASCAL
------------------------------

-I- OBJECTIFS DU TP

Familiarisation avec les notions de :
- Edition, compilation et dition des liens
- Les entres sorties standards (clavier et cran)
- Dclaration de variables entires et relles, affectation de valeurs
- Erreurs syntaxique, smantique, de programmation
- Quelques structures et instructions de base du TURBO PASCAL

-II-PROGRAMME

PROGRAM TEST(input, output) ;
VAR
A, C, F : Integer ;
D,E : Real ;
BEGINN
WRITELN (Oprations lmentaires avec diffrents types derreurs) ;
WRITELN (Donner les entiers A et C) ;
READLN A;
B :=20 ;
D : =A/B ;
E : =A/C
F : =A*B ;
WRITELN (Les rsultats obtenus sont :D, E, F) ;
END.

-III-TRAVAIL DEMANDE

1 Aprs la saisie puis la compilation du programme, donnez les erreurs syntaxiques et
smantiques.
2 Aprs correction des erreurs, sauvegarder le programme sur disque, puis effectuer la
compilation. Excutez le programme en donnant la variable A la valeur : A =10. Que se passe-
t-il et pourquoi ?
3 Corrigez le programme puis lexcuter de nouveau en donnant A=10 et C=0, puis A=10 et
C=2. Que se passe t-il et pourquoi?
4Corrigez le programme par insertion d'un point d'arrt avant la dernire instruction du
programme. Que remarquez vous et pourquoi?
5 Transformez la dernire ligne du programme en trois lignes d'affichage, chacune affichant une
des variables D,E,F. Que remarquez vous et pourquoi?
6J usqu'ici la compilation et l'excution se faisaient dans la mmoire RAM. Dans le sous menu
"compiler" choisir l'option "vers disque". Compilez le programme puis l'excuter partir du
disque.
TP N 4 : NOTIONS PRELIMINAIRES DE TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 9
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------- 9/23
Comment formater l'affichage d'un nombre rel ?

Par dfaut, lorsque l'on affiche un nombre rel avec Write ou bien qu'on le transforme en
chane avec Str, il est affich sous forme scientifique, correspondant une mantisse relle m 20
chiffres (1 <=m <10) et un exposant e sign 4 chiffres.
Ainsi, le nombre 15 serait crit : 1.50000000000000E+0001. Mais il arrive souvent que
l'on veuille crire ce nombre 15 sous la forme 15.0

Pour ce faire, il faut utiliser les spcificateurs de prcision. Pour dfinir une prcision, on
ajoute derrire le nombre ou le nom de la variable afficher un caractre deux points ":", la taille
du champ, puis encore deux points et le nombre de chiffres souhaits aprs la virgule, comme
ceci: Write(15:6:2);
Cet exemple affiche le nombre 15, sur un total de 6 caractres (en ajoutant des espaces
devant si ncessaire), et avec 2 chiffres aprs la virgule.

Si besoin est, on peut aussi utiliser des variables comme spcificateurs :
var
r: Real;
Width, Prec: Byte;
begin
Write(f:Width:Prec);
end;

Les spcificateurs sont tous les deux facultatifs. On peut donc ne spcifier que Width, pour
afficher aligne droite par exemple. Cependant, si on dsire spcifier Prec, alors Width doit
obligatoirement tre mis. Si jamais on n'en a pas utilit, on peut le mettre zro, comme ceci :

Write(f:0:Prec);

Il est noter que la syntaxe est la mme pour Str :

var
f: Real;
s: string;
Width, Prec: Byte;
begin
Str(f:Width:Prec, s);
end;


TP N 4 : NOTIONS PRELIMINAIRES DE TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 10
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 10/23
------------------------------
TP N
0
5 : LES STRUCTURES ALTERNATIVES ET REPETITIVES EN TURBO PASCAL
------------------------------
-I-Prparation : traduire en langage PASCAL les algorithmes suivants

1Boucle FOR DO
ANALYSE
ENTREE : nombre, LIMITE ;
SORTIE : Inverse-reel, Inverse-entier ;
ALGORITHME
DEBUT
ECRIRE (`Calcul de linverse dun nombre compris entre 1 et 10`) ;
ECRIRE (`Donner la valeur de LIMITE`) ;
LIRE (LIMITE) ;
Pour nombre allant de 1 LIMITE Faire
DEBUT
Inverse-reel 1/nombre ;
Inverse-entier 1/nombre ;
ECRIRE (nombre, Inverse-reel, Inverse-entier) ;
FIN ;
FIN.

2Squences alternatives avec IF THEN ELSE et boucle post-teste REPEAT UNTIL
ANALYSE
ENTREE : nombre-pos, nombre-neg ;
SORTIE : nombre est positif, ou nombre est ngatif;
ALGORITHME
DEBUT
Ecrire (`Affichage du signe dun nombre`) ;
Rpter
Ecrire (`Entrez un nombre positif ou ngatif `) ;
LIRE (nombre) ;
Si nombre >0 Alors
Faire
nombre-pos =nombre ;
ECRIRE (`Le nombre` , nombre-pos ,` est positif`) ;
Fin Faire

Sinon
Faire
nombre-neg =nombre ;
ECRIRE (`Le nombre` , nombre-neg ,` est ngatif `) ;
Fin Faire
Jusqu ce que nombre =0 ;
FIN.

TP N
0
5 : LES STRUCTURES ALTERNATIVES ET REPETITIVES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 11
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 11/23
3Squence rptitive avec boucle prteste WHILE DO
ANALYSE
ENTREE : nombre-pos, nombre-neg ;
SORTIE : nombre est positif, ou nombre est ngatif;
ALGORITHME
DEBUT
Ecrire (`Affichage du signe dun nombre`) ;
nombre 1 ;
Tant que nombre <>0
Faire
Ecrire (`Entrez un nombre positif ou ngatif `) ;
Lire (nombre) ;
Si nombre >0 Alors
Faire
nombre-pos =nombre ;
Ecrire (`Le nombre` , nombre-pos ,` est positif`) ;
Fin Faire
Sinon
Faire
nombre-neg =nombre ;
Ecrire (`Le nombre` , nombre-neg ,` est ngatif `) ;
Fin Faire
Fin Faire
Fin Tant que
FIN.



-II- Manipulation
Aprs saisie et compilation (donc correction des erreurs) des programmes tablis,
confirmez et commentez leur excution.














TP N
0
5 : LES STRUCTURES ALTERNATIVES ET REPETITIVES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 12
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 12/23
SOLUTIONS DE LA PREPARATION DU TP N
0
5 DE TURBO PASCAL: les boucles

1Boucle FOR DO
PROGRAM boucle_fordo (input, output) ;
VAR
nombre, limite : integer ;
inverse_entier : integer ;
inverse_reel : real ;
BEGIN
writeln('entrez un nombre compris entre 1 et 10:');
readln (limite);
for nombre :=1 to limite do
begin
inverse_entier :=trunc (1/nombre);
inverse_reel :=1/nombre;
writeln (nombre, inverse_entier, inverse_reel);
end;
END.
2Squences alternatives avec IF THEN ELSE et boucle post-teste REPEAT UNTIL
PROGRAM saisie_affich ( input, output);
VAR nombre, nbre_pos, nbre_neg : integer;
BEGIN
repeat
writeln('entrez un nombre positif ou ngatif');
read (nombre);
if nombre >0 then
begin
nbre_pos :=nombre;
writeln ('le nombre ',nbre_pos,' est positif');
end
else if nombre <0 then
begin
nbre_neg :=nombre;
writeln ('le nombre ',nbre_neg,' est ngatif');
end;
until nombre =0;
END.
TP N
0
5 : LES STRUCTURES ALTERNATIVES ET REPETITIVES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 13
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 13/23

3Squence rptitive avec boucle prteste WHILE DO

PROGRAM saisie_affich2 ( input, output);
VAR nombre, nbre_pos, nbre_neg : integer;
BEGIN
nombre :=1;
while nombre <>0 do
begin
writeln('entrez un nombre positif ou ngatif');
read (nombre);
if nombre >0 then
begin
nbre_pos :=nombre;
writeln ('le nombre ',nbre_pos,' est positif');
end
else if nombre <0 then
begin
nbre_neg :=nombre;
writeln ('le nombre ',nbre_neg,' est ngatif');
end;
end;
END.
TP N
0
5 : LES STRUCTURES ALTERNATIVES ET REPETITIVES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 14
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 14/23
------------------------------
TP N
0
6: LES PROCEDURES EN TURBO PASCAL
------------------------------

Soit le programme suivant de saisie et affichage de nombres :

PROGRAM Saisie_Affich ( input, output ) ;
VAR
nombre, nombre_pos, nombre_neg: integer ;
BEGIN
repeat
writeln (`Entrez un nombre positif ou ngatif `) ;
readln (nombre) ;
if nombre > 0 then
begin
nombre_pos : = nombre ;
writeln ('Le nombre ' , nombre_pos ,' est positif') ;
end
else if nombre < 0 then
begin
nombre_neg : = nombre ;
writeln ('Le nombre ' , nombre_neg ,' est ngatif') ;
end ;
until nombre = 0 ;
END.


-I-Prparation
1- Transformez le en un programme principal et deux procdures, utilisant uniquement des
variables globales. Le programme principal a pour nom "Saisie_Affich", et les procdures
auront pour noms "Affich_Pos" et "Affich_Neg",
2- Modifiez le programme en utilisant "nombre" comme variable globale, "nombre_pos" et
"nombre_neg" comme variables locales.
3- Modifiez le dernier programme, en utilisant lappel de procdure par transmission de
paramtres. Ainsi les variables "nombre_pos" et "nombre_neg" nont pas besoin dtre
dclares (leur dclaration se fait dans la dfinition de la procdure) ni initialises (leurs
valeurs sont transmises lors de lappel de la procdure).
4- Partant de ce dernier programme, extraire les deux procdures et les mettre chacune dans un
fichier spar comme unit . Modifiez les procdures et le programme principal en
consquence.

-II-Manipulation
-1-Saisissez, puis compilez le programme initial ainsi que les trois programmes tablis lors de la
prparation. Sauvegardez les 4 fichiers source sur disque.
-2-Compilez les quatre programmes en sauvegardant les fichiers excutables sur disque.
-3-Vrifiez pour diffrentes valeurs de nombre quon obtient bien le mme rsultat pour les
cinq programmes.

TP N
0
6: LES PROCEDURES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 15
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 15/23
SOLUTIONS DE LA PREPARATION DU TP N
0
6 DE TURBO PASCAL: les procdures

1Programme modifi avec variables globales et deux procdures.
PROGRAM Saisie_Affich2 ( input, output ) ;
VAR
nombre, nombre_pos, nombre_neg : integer ;
PROCEDURE Affich_Pos ;
begin
nombre_pos : = nombre ;
writeln ('Le nombre ' , nombre_pos ,' est positif') ;
end ;
PROCEDURE Affich_Neg ;
begin
nombre_neg : = nombre ;
writeln ('Le nombre ' , nombre_neg ,' est ngatif ') ;
end ;
BEGIN
repeat
writeln ('Entrez un nombre positif ou ngatif ') ;
readln (nombre) ;
if nombre > 0 then Affich_Pos
else if nombre < 0 then Affich_Neg ;
until nombre =0 ;
END.

2Programme modifi avec variables locales
PROGRAM Saisie_Affich3 ( input, output ) ;
VAR
nombre : integer ;
PROCEDURE Affich_Pos ;
VAR nombre_pos : integer ;
begin
nombre_pos : =nombre ;
writeln ('Le nombre ' , nombre_pos ,' est positif') ;
end ;
PROCEDURE Affich_Neg ;
VAR nombre_neg : integer ;
begin
nombre_neg : =nombre ;
writeln ('Le nombre ' , nombre_neg ,' est ngatif') ;
end ;
BEGIN
repeat
writeln ('Entrez un nombre positif ou ngatif ') ;
readln (nombre) ;
if nombre > 0 then Affich_Pos
else if nombre< 0 then Affich_Neg ;
until nombre =0 ;
END.
TP N
0
6: LES PROCEDURES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 16
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 16/23
3Programme modifi avec passage de paramtres aux procdures

PROGRAM Saisie_Affich4 ( input, output ) ;
VAR
nombre : integer ;
PROCEDURE Affich_Pos (nombre_pos : integer);
begin
writeln ('Le nombre ' , nombre_pos ,' est positif') ;
end ;
PROCEDURE Affich_Neg(nombre_neg : integer);
begin
writeln ('Le nombre ' , nombre_neg ,' est ngatif') ;
end ;
BEGIN
repeat
writeln ('Entrez un nombre positif ou ngatif') ;
readln (nombre) ;
if nombre >0 then Affich_Pos (nombre)
else if nombre< 0 then Affich_Neg (nombre) ;
until nombre =0 ;
END.

4Programme modifi avec les deux procdures comme units spares de compilation

On part du programme prcdent comportant un programme principal et deux procdures
avec passage de paramtres.
Les 2 procdures sont maintenant places dans des units (positif et ngatif) qui constituent
des sous programmes indpendants utilisables par n'importe quel programme. Ces programmes
( positif.pas et negatif.pas ) sont compils sparment. Aprs compilation on obtient deux
fichiers units : positif.tpu et ngatif.tpu , auxquels on peut faire appel partir de nimporte
quel programme. Il suffit de rajouter dans le programme la commande uses nom_unit
*)

(*Ce qui suit est un programme plac dans un fichier part nomm positif.pas
Dans un programme unit, on utilise 4 mots clefs : unit, interface, implementation, end.*)

UNIT positif;
INTERFACE (*on dclare ici les procdures qui vont faire partie de cette unit,
ainsi que les variables globales communes toutes les procdures de lunit*)
procedure Affiche_Pos (nombre_pos:integer);
IMPLEMENTATION (*on dclare maintenant le corps de chaque procdure de l'unit*)
procedure Affiche_Pos (nombre_pos:integer);
begin
writeln ('Le nombre ' , nombre_pos ,' est positif') ;
end ;
END.
(*fin de lunit positif*)

TP N
0
6: LES PROCEDURES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 17
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 17/23
(*Ce qui suit est un programme plac dans un fichier part nomm negatif*)

UNIT negatif;
INTERFACE
procedure Affiche_Neg (nombre_neg:integer);
IMPLEMENTATION
procedure Affiche_Neg (nombre_neg:integer);
begin
writeln ('Le nombre ' , nombre_neg ,' est negatif') ;
end ;
END.
(*fin de lunit negatif*)

(* Programme principal *)
PROGRAM Saisie_Affich5 ( input, output ) ;
USES positif,negatif;
VAR
nombre : integer ;
BEGIN
repeat
writeln ('Entrez un nombre positif ou ngatif') ;
readln (nombre) ;
if nombre >0 then Affiche_Pos (nombre)
else if nombre <0 then Affiche_Neg (nombre) ;
until nombre =0 ;
END.

TP N
0
6: LES PROCEDURES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 18
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 18/23
-----------------------------------------------------
TP N0 7 : LES CODES ASCII, CHAINES DE CARACTERES, TABLEAUX EN TURBO PASCAL
----------------------------------------------------------------

PROGRAM lecture_char (input,output);
uses crt;
var
F: Text;
i:integer;
Carac: Char; chaine,nom_fich:string;
tab1_char :string[7];
tab2_char :array[1..9] of char ; tab3_int:array[1..3] of integer ;
BEGIN
writeln('NOUS ALLONS ETUDIER DANS CE TP:');
writeln('----------------------- LES CARACTERES ET LEUR CODE ASCII --------------------');
writeln('----------------------- LA STRING OU CHAINE DE CARACTERES --------------------');
writeln('---------------- LE TABLEAU D''ENTIERS ET LE TABLEAU DE CARACTERES -----------');
Tab3_int[1] :=ord('A')
Tab3_int[2] :=ord('3') ; Tab3_int[3] :=ord(' ') ;
clrscr; writeln('le code ASCII du caractere "A" est ', Tab3_int[1] , ' en decimal');
writeln('le code ASCII du caractere "3" est ', Tab3_int[2] , ' en decimal');
writeln('le code ASCII du caractere " " est ', Tab3_int[3] , ' en decimal');
writeln ;
writeln('ENTREZ LE CARACTERE DONT VOUS VOULEZ AVOIR LE CODE ASCII (S POUR SORTIR) :') ;
carac :='E';
while carac <>'S' do
begin
readln(carac) ;
writeln('le caractere "',carac,'" a pour code ascii ', ord(carac)) ;
end ;
writeln ;
clrscr;
for i :=0 to 6 do tab1_char[i] :=chr(63+i) ;
writeln('les caracteres qui ont pour code ascii de 63 a 69 en decimal sont:');
for i :=0 to 6 do Write(tab1_char[i]);
writeln;
for i :=0 to 8 do tab2_char[i] :=chr(48+i) ;
writeln('les caracteres qui ont pour code ascii de 48 a 56 en decimal sont:');
for i :=0 to 8 do Write(tab2_char[i]);
writeln ;
writeln;
writeln('ENTREZ UN CODE ASCII (entre 0 et 255) POUR AVOIR LE CARACTERE CORRESPONDANT :') ;
writeln(' (ZERO POUR SORTIR)');
i :=1 ;
while i <>0 do
begin
readln(i);
writeln( i,' est le code ascii en dcimal du caractere "', chr(i), '"') ;
end ;
writeln ;
writeln ;
clrscr;
END.


TP N0 7 : LES CODES ASCII, CHAINES DE CARACTERES, TABLEAUX EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 19
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 19/23
-I-PREPARATION

-1 -a- Quelle est linstruction qui permet dobtenir le code ascii dun caractre ?
-b- Quelle est linstruction qui partir dun code ascii permet dobtenir le caractre
correspondant?
-c- Quand on excute le programme donn, donnez tout ce qui apparatra sur l'cran en
respectant les espaces et la casse (majuscule ou minuscule),
-2- En vous inspirant du programme donn, crire un programme qui permet de :
*saisir une chane de caractres au clavier et de la ranger dans un tableau (max 16 caractres),
*compter le nombre de fois la lettre " A " dans cette chane, et d'afficher ce nombre,
*rpter en boucle ce programme jusqu ce que le premier caractre de la chane soit un zro.
-II-MANIPULATION
-1- Saisissez, compilez puis excutez le programme donn et observez ce qui se passe en
prcisant :
-a- la diffrence entre les instructions write et writeln ;
-b- ce que fait linstruction clrscr ;
-c- la diffrence entre les instructions ord (3) et chr (3) ;
-d- la diffrence entre les instructions array[1..9] of char et string[9] ;

2- Saisissez, compilez puis excutez votre programme tabli lors de la prparation.

TP N0 7 : LES CODES ASCII, CHAINES DE CARACTERES, TABLEAUX EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 20
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 20/23

SOLUTION DE LA PREPARATION DU TP N
0
7 DE TURBO PASCAL
CODES ASCII, CARACTERES ET TABLEAUX
--------------------------------------------------------------

PROGRAM comptage_nbre_a(input,output);
uses crt;
Var
i, nbre_A:integer;
Carac_sortie: Char;
chaine_carac : string[16];
BEGIN
carac_sortie :=' ';
for i :=1 to 16 do chaine_carac[i] :=' ';
while carac_sortie <>'0' do
begin
clrscr;
nbre_A :=0;
writeln('ENTREZ UNE CHAINE DE CARACTERES comprenant des "A"(au max 16
caracteres)') ;
writeln('pour sortir la chaine doit commencer par "0"');
readln(chaine_carac);
for i:=1 to 16 do
begin
if chaine_carac[i] ='A'then nbre_A :=nbre_A +1
else if chaine_carac[i] ='0'then carac_sortie :='0';
end ;
writeln ('le nombre de A dans la chaine est de : ', nbre_A);
readln;
end;
END.
TP N0 7 : LES CODES ASCII, CHAINES DE CARACTERES, TABLEAUX EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 21
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 21/23
--------------------------------------
TP N0 8 : CREATION ET LECTURE DE FICHIERS DE CARACTERES EN TURBO PASCAL
--------------------------------------
PROGRAM l ect _ecr i t _f i chi er ( i nput , out put ) ;
Uses cr t ;
Var
pt r _f i l e: t ext ; * pt r _f i l e est un poi nt eur sur un f i chi er de t ype t ext e *)
i : i nt eger ;
car ac: char ;
chai ne, nom_f i ch : st r i ng;
BEGI N
cl r scr ;
wr i t el n( ' NOUS ALLONS ETUDI ER DANS CE TP: ' ) ;
wr i t el n( ' - - - - - - - - - - LA CREATI ON ET LA LECTURE DE FI CHI ER TEXTE - - - - - - - - - - - - ' ) ;
wr i t el n( ' LA DI FFERENCE ENTRE LES I NSTRUCTI ONS READ et READLN, WRI TE et WRI TELN' ) ;
Assi gn( pt r _f i l e, ' t ot o. t xt ' ) ;
{assi gnat i on du poi nt eur pt r _f i l e au f i chi er t ot o. t xt }
Rewr i t e( pt r _f i l e) ; {cr at i on du f i chi er t ot o. t xt }
wr i t el n( pt r _f i l e, ' J e sui s l e f i chi er " TOTO. TXT" et mon consei l est : ' ) ;
{cr i t ur e du t ext e dans f i chi er }
wr i t el n( pt r _f i l e, ' at t ent i on au vi r us " I LOVE YOU" sur i nt er net ' ) ;
{cr i t ur e du t ext e dans f i chi er }
cl ose( pt r _f i l e) ; {f er met ur e du f i chi er }
r eadl n( car ac) ; cl r scr ;
r eset ( pt r _f i l e) ;
{r ouver t ur e du f i chi er t ot o. t xt avec r emi se du poi nt eur sur l e dbut du f i chi er }
wr i t el n( ' NOUS VENONS DE CREER LE FI CHI ER " TOTO. TXT" AVEC CE TEXTE A L' ' I NTERI EUR: ' ) ;
wr i t el n;
whi l e not Eof ( pt r _f i l e) do {t ant qu' on n' est pas l a f i n du f i chi er f ai r e }
begi n
Readl n( pt r _f i l e, chai ne) ; {l ect ur e d' une st r i ng par t i r du f i chi er }
Wr i t el n( chai ne) ; {af f i chage de l a st r i ng qui a t l ue}
end;
cl ose( pt r _f i l e) ; {f er met ur e du f i chi er }
wr i t el n ; wr i t el n ;
wr i t el n( ' ENTREZ LE NOM DU FI CHI ER TEXTE A LI RE ( AVEC L' ' EXTENSI ON TXT) : ' ) ;
r eadl n( nom_f i ch) ; {l ect ur e du nomdu f i chi er }
Assi gn( pt r _f i l e, nom_f i ch) ;
Reset ( pt r _f i l e) ; {ouver t ur e du f i chi er nom_f i ch}
wr i t el n;
wr i t el n( ' FI CHI ER ' , nom_f i ch, ' : ' ) ;
wr i t el n( ' LECTURE DU CONTENU DU FI CHI ER CARACTERE PAR CARACTERE AVEC " READ " ' ) ;
wr i t el n( ' AFFI CHAGE DU CONTENU DU FI CHI ER CARACTERE PAR CARACTERE AVEC " WRI TE" ' ) ;
wr i t el n;
whi l e not Eof ( pt r _f i l e) do
begi n
Read( pt r _f i l e, Car ac) ; {on l i t et cr i t un par un t ous l es car act er es mme EOL}
Wr i t e( Car ac) ; {donc on f ai t du dumpi ng}
end;
r eset ( pt r _f i l e) ;
{sans f er mer l e f i chi er on r emet l e poi nt eur pt r _f i l e sur l e dbut du f i chi er
nom_f i ch}
wr i t el n ; wr i t el n ;
wr i t el n( ' NOUVELLE LECTURE DU FI CHI ER ' , nom_f i ch, ' : ' ) ;
wr i t el n( ' LECTURE DU CONTENU DU FI CHI ER LI GNE PAR LI GNE AVEC " READLN " ' ) ;
wr i t el n( ' AFFI CHAGE DU CONTENU DU FI CHI ER LI GNE PAR LI GNE AVEC " WRI TE " ' ) ;
wr i t el n;
whi l e not Eof ( pt r _f i l e) do
begi n
Readl n( pt r _f i l e, chai ne) ;
{on l i t t out e une l i gne sans l e car act er e EOL}
Wr i t e( chai ne) ; { on af f i che ensui t e ce qui est l u }
end;
cl ose( pt r _f i l e) ;
r eadl n;
END.
TP N0 8 : CREATION ET LECTURE DE FICHIERS DE CARACTERES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 22
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 22/23
-I- PREPARATION
-1- Quand on excute le programme donn, donnez tout ce qui apparatra sur l'cran en respectant
les espaces et la casse (majuscule ou minuscule).
-2-En vous inspirant du programme donn, crire un programme qui permet :
- de saisir une chane de caractres au clavier (max 16 caractres) et de la stocker dans tableau
tab1_carac,
- puis de stocker cette chane dans un fichier (ayant pour nom toto.txt ),
- puis de lire ce fichier et de stocker son contenu dans un tableau tab2_carac,
- puis dafficher le contenu du tableau tab2_carac.
-II- MANIPULATION
-1- Saisissez, compilez puis excutez le programme donn en observant :
- la diffrence entre les instructions readln et read ;
- la diffrence entre les instructions writeln et write ;
-2- Saisissez, compilez puis excutez votre programme.
TP N0 8 : CREATION ET LECTURE DE FICHIERS DE CARACTERES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique- 23
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------- 23/23
SOLUTION DE LA PREPARATION DU TP N0 8 DE TURBO PASCAL
CREATION ET LECTURE DE FICHIERS DE CARACTERES
----------------------------------
{pr ogr amme demand pour l a pr par at i on du TP}
PROGRAM l ect _ecr i t _f i chi er ( i nput , out put ) ;
uses cr t ; {ces comment ai r es ne sont pas une er r eur . }
{i l s per met t ent d' i l l ust r er l a not i on d' uni t de compi l at i on
et d' di t i on de l i ens ( voi r comment ai r es pl us l oi n) . }
var
pt r _f i l e: Text ;
t ab1_car ac, t ab2_car ac: st r i ng[ 16] ;
BEGI N
cl r scr ; {i l y aur a une er r eur de compi l at i on au ni veau de cet t e l i gne;
car cet t e commande dos est i nconnue. I l f aut pour l ' di t i on
des l i ens pr ci ser l ' uni t qui cont i ent l a df i ni t i on de cet t e
commande. Pour cel a on r aj out e l a dcl ar at i on de l ' uni t
cor r espondant e par " uses cr t " au dbut du pr ogr amme
( i l suf f i t pour cel a d' enl ever l es comment ai r es de dbut de pr ogr amme) }
wr i t el n( ' Ent r ez une sr i e de car act r es ( au maxi mum16 car act r es) ' ) ;
wr i t el n;
wr i t e( ' - - - >' ) ;
r eadl n( t ab1_car ac) ;
Assi gn( pt r _f i l e, ' t ot o. t xt ' ) ;
Rewr i t e( pt r _f i l e) ;
wr i t el n;
wr i t el n( ' NOUS VENONS DE CREER LE FI CHI ER " TOTO. TXT" AVEC CE TEXTE A L' ' I NTERI EUR: ' ) ;
wr i t el n;
wr i t e( ' - - - >' ) ;
wr i t el n( t ab1_car ac) ;
wr i t el n( pt r _f i l e, t ab1_car ac) ;
cl ose( pt r _f i l e) ;
wr i t el n;
r eset ( pt r _f i l e) ;
wr i t el n( ' Ensui t e l e t ext e a t copi du f i chi er dans l e t abl eau t ab2_car ac' ) ;
wr i t el n;
wr i t el n( ' l e cont enu de t ab2_car ac est : ' ) ;
wr i t el n;
wr i t e( ' - - - >' ) ;
whi l e not Eof ( pt r _f i l e) do
begi n
Readl n( pt r _f i l e, t ab2_car ac) ;
Wr i t el n( t ab2_car ac) ;
end;
cl ose( pt r _f i l e) ;
r eadl n;
END.
TP N0 8 : CREATION ET LECTURE DE FICHIERS DE CARACTERES EN TURBO PASCAL
- Universit de Constantine - Facult des sciences de l'ingnieur - Dpartement d'lectronique-
Travaux Pratiques de TES 451 : INITIATION A L'INFORMATIQUE - H.Hamdi 2000-2006
---------------------------------------------------------------------------------------------------------------------------------------------
TP N0 9 : CREATION ET LECTURE DE FICHIERS DENREGISTREMENTS EN TURBO PASCAL

Objectifs du TP
- Mise en uvre de la notion de structure en pascal
- Mise en uvre de la notion de pointeur de fichier
Enonc
Chaque tudiant est une structure comprenant : un nom de type chane de caractres et une note de type rel.
Il sagit de crer le fichier de notes des tudiants, aprs saisie au clavier et sauvegarde sur fichier ; puis de lire ce fichier et lister
les tudiants admis .

Program create_liste_etudiants(input,output);

Type student =record
nom:string;
note:real;
end;
Var fich_etud: File Of student;
etud_en_cours: student;
nbr_etud_traites, nbr_etudiants: integer;

BEGIN
Assign(fich_etud, 'd:\notes_ufc.moi');
{Affectation de la valeur "d:\notes_ufc.moi" la variable fich_etud,
ou assignation du nom "notes_ufc.moi" du fichier physique au nom logique "fich_etud",
on peut dire galement qu'on fait correspondre au fichier logique identifi par son nom "fich_etud" le fichier physique qui a pour
nom "notes_ufc.moi" et qui se trouve sur la racine du disque D: }
{Remarques
1- Lors de lassignation et donc de la cration du fichier physique, TURBO PASCAL tronque le nom 8 caractres
conformment MSDOS, et ceci indpendamment de la longueur du chemin.
Dans notre cas le vrai nom du fichier stock sur la racine de D: sera "notes_uf.moi".
2- Lors de lassignation, si on donne uniquement le nom du fichier sans le chemin, le fichier sera cr dans le rpertoire
courant, c'est--dire celui o se trouve ce programme excutable cree_lis.exe}
Rewrite(fich_etud); {cration du fichier "notes_uf.moi"}
nbr_etud_traites:=0;
Write('Entrez le nombre d''tudiants dans la classe-->');
Readln(nbr_etudiants);
While (nbr_etud_traites <nbr_etudiants) do
begin
Write('Entrez le nom de l''tudiant:-->');
Read(etud_en_cours.nom);
Write(' Entrez la moyenne de l''tudaint:-->');
Readln(etud_en_cours.note);
Write(fich_etud,etud_en_cours); {criture dun enregistrement sur le fichier}
nbr_etud_traites:=nbr_etud_traites +1;
end;
Close(fich_etud);
Reset(fich_etud); {ouverture du fichier "notes_uf.moi" en lecture}
Writeln;
Writeln('******** LISTE DES ETUDIANTS ADMIS *********');
Writeln;
While Not EOF(fich_etud) do
begin
read(fich_etud,etud_en_cours); {lecture d'1 enregistrement de type "student" partir du fichier "notes_uf.moi"}
if etud_en_cours.note >=10 then
Writeln(etud_en_cours.nom); {affichage du nom de l'tudiant admis}
end;
Close(fich_etud);
Readln;
END.

You might also like