Vous êtes sur la page 1sur 24
a cuapnees. 6 as de 4.3 Appel d'une procédure ee Jest le cas des ‘appl une procure reeset une nstution en lemme, samme i Procedures read et write, Syntaxe dappel |. Procédures sans paramétres : | Nom_procedure: 2. Procédures avec paramétres 1 Nom_procedure(List_paramétres faut que la procedure Remarque vail Une procure PI peut ce apelée depuis une procedure P2 rtd PI doit ire dear avant a procédreP2, Aussi une Presa peut ere apple dep celle méme: C'est la récursi 6.5 Paramétres Les paramétzes sont les variables par ‘communiquer avee le programme appelant esqueles un sous-programme appeee Pett programme sont appelés parametres Les paraméires défnis lors de la déelaration di sous formels, Les parameires utils lors de Fappel un sous Progrenine sont appelés parametres effect. Pour applerun sous programing sufi done de Tappees Pa S20 nom, iste des paraméteselfectfs& Tui transmetie. ~ cows apse prunes dan nus ogame, is son spars Pr on edelaraion et par ne” " ns préeserltpe ars de pel ,<,>+_+_ permettent de comparer deux chaines de earactires, ct fournissent un résuliat logique en fonction du code interne des caractéres (code ASCID. Exemple: ABCD’ < “AFGH est vaie car le code de B est érieure au code de F. DNIPF BOUAKE/LANGAGE PASCAL “ANNEE ACADEMIQUE 2022 56 Chapitre 5 Les structures de données complexes: Les chaines de caracteres Sommaire _ S 56 SA Definition oe ve es < 52. Symtaxe de déelara ail oe Sh 53 Operations surleschaines de cacti...» . 53.1 Lectur/Eerture dune cine de crates i 153.2 _Accés aux iments dune chain de caroetéres sa 5.4 Les fonctions prédefnis relatives aux chaines de earatires : 535 Les procédures préstinies latives aux chaines de earactéres * 56 Exercioes application sve ster 6 HAPITRE 4 2 Uses winent 3 Var 4 Acamray[1.3,1.3Jof integer 5 |, som :integer, 6 1 5 9 10 Fori=1 103 do 1 som: som Alii: TABLPAUX, 12 Write(la somme des éléments de la diagonale =, som); 13 end, DNIPF BOUAKELANGAGE PASCAL ANNEE ACADEMIQUE 2022-2023 54 CHAPITRE 4 RE DE DONNEES COMPLEXES: LFS TABLEAU Solution 2 For is=1 104 do For j=1 103 do Begin Read(AfiiD: Write(Somij; Writeln; nd; end. Solution 3 Program transposee_matice; Uses wine Var A.A Tearay[1.2,1.3of real i integers Read(Alis) ATi Alii ends For iI 102.do Begin For j=1 103 do WritecA_TTij)e 9: Writein; nd; end. Solution 4 Program Somme diagonale; DNIPF BOUAKEILANGAGE PASCAL -ANNEE ACADEMIQUE 202-2028 WAPITRE AL DE DONNES CON EAS: LES TANLEAUX 44 Exercices d'application Exereice 1 rire un programme Pascal qui permet de normaliser un vecteur A contenant 20 réls( omplacer es Ai Par yas ta Exercice2 Ecrire un programme Pascal qui permet de calculer la somme de deux matrices A et B ‘contenant 4 lignes et 3 colonnes Exercice3 Ecrire un programme Pascal qui permet de ealculer la transposée dane matrice A de 2 lignes et 3 colonnes Exercice 4 Ecrite un programme Pascal ui permet decanter a some ds éliments de I diagonsle ‘ume matrice carr donde 3. Solutions Solution 1 Program Normalisation; Uses winert; Var A: array(1.-20Jofreal: max, min eal iimteger, Begin for i:=1 1020 do Read(ALiD): ‘min A[1 max= Alt] for i=2 1020 do Ail (Afi- min) (max-miny; Wrte(Al’ DNIPF BOUAKBLANGAGE PASCAL AVE ACADEMIQUE 2022-2023 CHAPITRE- 4. _ LES STRUCTURES DE DONNEES COMPLEXES: LES TABLEAU _ 43.2 Syntaxe de déclaration La syntaxe de déctaration est En algorthmique: 1 Nom_tableau tableau(1..nb lignes, 1.nb_colonnes] type_elements _ En PASCAL: 1 Nom_tableau :aray[I.. nb_lignes, 1.nb_colonnesjof type_elements : Exemple 1 var 43.3 Operations sur les matrices (MAT: array[1..10,1.20] of integer) 1. Initialser Ia case située a la Sieme ligne et la Tieme colonne de MAT & 0: 1 MATIS.71=05 2, Initialise la case situge la Sieme ligne et la Sieme colonne une valeur enrSe Par Ytilisateur : 1 Readln(MAT[S,8))( ou bien read MATS.) 3. Initialise toute la matrice 1 1 For it to10do 2 For j=1 t020do 3 MATTjl=“15 4 Initialise toute la mattice des valeurs entrées par Putilisateur (lecture de la mar triee): 1 Foris= 110 10 do 2 For jr=1 t020.do Readin(MATLijD) 5. Afficher les éléments de la matt (@) Afficher I valeur dela case située a Ja Seme ligne et la Tieme colonne de MAT: 1 Write(MATIS.7Ds (b) Afficher tous les éléments de la matrice: 1 Fori=tt0 10do 2 Begin 3 4 Write(Tfi}." % 3 Writeln; 6 end; DNIPF BOUAKB/LANGAGE PASCAL (CHHAPITRE LES STRUCTURES DE DONNEES COMP xs: Les TARE PAU 43.1 Un tableau deux dimensions (ou malice) peut ére vu comme un tableau a une seule «dimension 1, dont chaque clement est un tableau i ne seule dimension C, ou I. et le ‘nombre de lignes et C est le nombre de colonnes. Un table & deux dimensions (matice) contientL*C éléments, onc, une matice est caractri Definition par: son nom (identiicateur de la matrice) ~ 85 dimensions (Je nombre de lignes et de colonnes) ~ letype de ses éléments, Schématiquement une matrce T contenant lignes et 6 eolonnes peut ere représentée par ————— C=6 colonnes ‘Test Ienom de a matric, ‘T{L1] :désigne te conten de F'élément situ intersection de a lgne 1 et a eolonne I 12.3]: désigne le contena de I” lément situ intersection de ligne 2 etl colonne 3 de la matrice T, “TE: signe le contenu de Teément site &Finersection de ligne ie a colonnej de a smatice Tj sont des variables ets) Aention Toujours le premicr indice est fe numéro de ligne et le second est le numéro on! wae ee ANE ACADEMIQUE 20222023 ‘30 DWIPF BOLAKELANGAGE Pascal CCHAPVTRE 4, _ LS STRUCTURES DE DONNEES COMPLENES: LES TADLEAUX (©) Affichage des éléments dun vecteur (affichage vertical: chaque élément sur une ligne 1 Fori=1 1 10do Writeln(TUi) Remarques: La seule opération global possible sur les vecteurs est affectation, SiR et A sont deus veeteurs de méme dimension et type de contenu Fnstruction R:=A; remplace le conten da veeteur R par celui du vecteur A, Toutes les autres opérations portant sur les vectcurs se font ease par ease, done en utilisant des boucles, Exemple: R.A: arayf1.10] of real; ‘T:array(!.-5] of integer; Cts aray[1.] of char ‘Les deux Geritures R:vA et A= R sont corretes mais R:= CH, A:= Cl 1H et CH= R sont incorectes. 1, CHA, 4.3. Tableaux & deux dimensions (Matrices) des tableau 8 deux dimensions, qui Dans ¢tautres applications, on a besoin dutliser . cemple: supposons qu’on. sont capables de manipuler des structures plus complexes. Par ex ‘veut stocker les notes dun groupe détudiants de différentes sections ‘Comme il est represent parle lea qi sui chaque élément de ce tableau est i une Hane eanére &@tudiant) et une colonne (le numéro dela section}; ee sont les deux dimensions ee a Lt 09.75 | 10 DDN/IPF BOUAKE/LANGAGE PASCAL {ANNE ACADEMIQUE PrRE4 Lis SIRUCTURKS UPLENTS LES TADLEAUX En PASCAL | Nom tableau saray(1_dimensionjof type_elements Exemples: 1, Déclart le type puis une variable de e type: ‘ype tab-array[1.1O]of integer; 1 2 4 1, tab; 2, Déelare le tableau: 1 var 2 thsarray[1.10] of integer; 4.23 Opérations sur les vecteurs (T;array{1.10] of integer) 1. Intialiser la Sieme case de T a0: 1 1I5}-0; 2. Intaliser la 8ieme case de Ta une valeur entrée par Ttilisoteur 1 Readin(TIS)}(ou bien read1[8}3) 3. Initaliser tout le weeteur_a 1 1 For tw 10do 2 Tik=15 44 Initialise tout Le vesteu des valeurs entrées par Fusilisateur (lecture du vecteur): 1 Fori= 110 100 Readla( Ti 5, Afficher les éléments un veeteu (o) Asche a valour de a ease numéro 6: 1 WeitecTT6D: (b) Alfchage des éléments d'un vecteur (afichage horizontal: sur la méme ligne): 1 Foris1 to 10d0 2 Write(Ti,” 9 IPF BOUIKEANGAGE PASCAL ANNE ACADEMIQUE 20222023, 48 SUAPTTRE LES STRUCTURTS DF DONATES coMPL NPS: Tanz EAU — 4.1 Introduction Jusquiei, nous avons utilisé des types de variables dont les valeurs sont simples (enige, ‘éelle, caractér,..). Lorsquon doit manipuler un grand nombre de valeurs, ce type de variables devientineflicace. Lidée consste dan, lorsque les données sont du méme type, ‘les ranger dans une structure de données linéaire appelée tableau, ou array en anglais 4.2 Tableau a une dimension (vecteur) 42.1 Definition ‘Un tableau une dimension test une colletion dfinie de cases (anémoines) désignéss por sine, comtenat des valeurs dé mm ype et qu pave re manips ini Un tableau dune dimension (ou vecieur) est caratérisé par: Son nom (identitieateur du veeteur) — Sadimension — Le type de ses éléments ‘Schématiquement, un veeteur T contenant 8 éléments peut re représenté pa T: est le nom du vecteur, TI] sine le contenu de eément mundo | du veteur 7, TI2] designe le contenu de Ilément numéro 2 du veeteurT, : i]: désigne le contenu de Ilément numéro i du veetour (est une variable seals ) facets, — te] 1 [3 [10] uavesnse Sata es ‘Un vecteur de 5 valeurs caractéres 4.2.2 Syntaxe de déelaration La syniaxe de déclaration est: _ En algorithmique [Nom_tablea tableau). dimension] type_elements 47 DNIPF BOUAKEIANGAGE PASCAL “ANNE ACADEMIQUE 2022-2023, Chapitre 4 Les structures de données complexes : Les tableaux Sommaire - a 41 reduction 3 42 Tables. dimension (este) 421 Défiton 422 Syntaede déctaraton 423 Operation srs veces: ray 10] oF) 43 Teblemx_a deux dimensions (Mates) 431. Défisiton... Syntne de dtraon 44 Bxereices dapplication seh vig tei Operations ures maces (MAT: ara 10 2th efineee) aw URES DECONTIOL Program Some; Uses wine: Vor ji. som integer, som:-0: For i=2 to 100 do it mod 2= 0 then som Som ‘Write asomme=', som 10 End Houcle While-do Program Somme; Uses wines; L 2 3 Var 4 som. 5 6 7 5 1 3 4 S Begin 6 1 5 ° Begin som=05 ind; ‘While (= 100) do 9 Begin som:= somt iis 1 2 3 ‘ S$ Var © Password_Comtest Boolean; 7 Word Sting: 3 Begin 9 Pasoword_Cortest = False; 10 Repeat u ‘Write Entrez Ie eode secret: 2 Real Word); B if Word = True_Password then Password Correct = True: 14 unl Password Correct = True); 18 End. NIP ROUAKELANGAGE PASCAL “ANNE ACADBMIQUE 20222023, 4s cunpmaes —smmucTuRis DEcoNmOL © Readinl: 7 IF mod 2-0) then writen, est impair) 8 cls write(n, "est par) 9 Ena. Solution 2 PROGRAM mini USES winert: VAR abc integer; Begin Readla.bc), I(a-< band (a

Vous aimerez peut-être aussi