[PDF] Algorithmique et programmation Pascal





Previous PDF Next PDF



Algorithmes et programmation en Pascal Cours

La longueur courante de la cha?ne est codé dans la case 0 (?? ord(s[0])). Page 43. Cours. Deug 1 Mass MA 1997 `a 2004. 43.



cours-python.pdf

22 mars 2018 Nous ne les mettons pas sur le site afin ... Le langage de programmation Python a été créé en 1989 par Guido van ... np.zeros((23)



Informatique et Algorithmique avec le langage Python

de 0 à f représente 4 bits - voir Codes hexadécimaux page 72) voici la représentation du même programme En langage Pascal



Algorithmique & programmation en langage C - vol.1 - Archive

1 févr. 2019 d'algorithmique et de programmation en langage C donnés à la ... exemple : complément à deux de zéro sur 1 octet (donc de 0000 0000) :.



Le cours aux 100 exemples* Hugo ETIEVANT

0..17 5..10 : writeln('Venez à moi



TP 3 : Allocation dynamique de mémoire

3) Ecrire une fonction « void affiche_matrice_pascal(int dimension) » qui affiche une matrice de pascal de taille n. ? Exercice 10. 3. Page 4. int ?? alloue 



Apprenez à développer en C#

ou l'assembleur le turbo pascal et autres joyeusetés. Cela manquait d'un Site du Zéro où tout est ex- pliqué de zéro pour les personnes



ALGO 1.1 œ Correction TD N°5.

Remarque : On ne s'occupe pas de la situation où l'utilisateur saisit un entier strictement négatif. Rappel : 0 ! = 1. Calcul de la factorielle d'un entier 



4. Initiation à lassembleur

octet 3. 0. 127. 31. 63. 95. Page 25. 165. Assembleur. Ainsi si le registre eax contient 0x12345678



Algorithmique et programmation Pascal

Remarques : ECE 1. 13. Emilie MORVANT. Page 15. 6 Fonctions et Procédures. Initiation `a l'algorithmique et au langage Pascal i. On dira dans la premi`ere 

Algorithmique

etp rogrammationPascal

EmilieMORVAN T

milie.morvant@gmail.com

Saint-Louis

Pr´epaEC E1

Ann´ee2008- 2009

LATEX Table des mati`eres Initiation `a l"algorithmique et au langage Pascal

Table des mati`eres

I Cours2

1 Introduction2

1.1 Quelques mots sur l"algorithmique . . . . . . . . . . . . . . . . . . .. . . . . . . . . .2

1.2 Quelques mots sur le langagePascal. . . . . . . . . . . . . . . . . . . . . . . . . . .3

2 Structure d"un programme enPascal5

3 Objets et actions ´el´ementaires6

3.1 Les objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .6

3.1.1 Principaux types de donn´ees . . . . . . . . . . . . . . . . . . . . . . .. . . . .6

3.1.2 D´eclaration des objets et initialisation des variables. . . . . . . . . . . . . . . .6

3.2 Op´eration entre les objets . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .7

3.2.1 Op´erateurs et fonctions arithm´etiques . . . . . . . . . . . . .. . . . . . . . . .8

3.2.2 Op´erateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .8

3.2.3 Op´erateurs relationnels . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .8

4 Instructions et instructions conditionnelles9

4.1 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .9

4.2 Instructions conditionnelles etif then else. . . . . . . . . . . . . . . . . . . . . . .9

5 Boucles it´eratives10

5.1 Bouclefor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

5.2 Boucles conditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . .10

5.2.1 Bouclewhile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

5.2.2 Bouclerepeat ... until. . . . . . . . . . . . . . . . . . . . . . . . . . . .11

6 Fonctions et Proc´edures12

6.1 Notion de sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .12

6.2 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .12

6.3 Les proc´edures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .13

7 Les tableaux15

7.1 D´eclarer un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .15

7.1.1 Tableau `a une dimension . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .15

7.1.2 Tableau de dimension sup´erieure . . . . . . . . . . . . . . . . . . .. . . . . .15

7.2 Cr´eer un type "tableaux" . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .16

7.3 Op´erations sur les tableaux . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .16

7.3.1 Op´eration globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .16

7.3.2 Autres op´erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .16

8 Simulation des lois de probabilit´es usuelles18

ECE 11 Emilie MORVANT

1 Introduction Initiation `a l"algorithmique et au langagePascal

Premi`ere partie

Cours

1 Introduction

1.1 Quelques mots sur l"algorithmique

De nos jours, l"algorithmique est associ´ee `a la programmationinformatique. Cependant, elle ne date pas d"hier puisque les premiers algorithmes remontent `a environ 1800 ans avant J.C avec les

babyloniens, ensuite Euclide (PGCD) et beaucoup d"autres. Contrairement `a ce que l"on pourrait penser,

les algorithmes ne se traitent pas qu"avec des nombres; il en existe ´enorm´ement qui traitent d"autres

donn´ees, comme l"algorithme g´en´etique (ADN), les algorithmes de sortie d"un labyrinthe, les algorithmes

de jeux, ...

Les algorithmes ne se d´ecrivent pas avec un langage de programmation contrairement aux id´ees re¸cues

et donc ne n´ecessitent pas un ordinateur pour les ´ecrire. Nousallons donc apprendre `a r´esoudre des

probl`emes par le biais d"algorithmes et ensuite `a les appliquer en deux ´etapes :

•Ecriture d"un algorithme c"est `a dire une m´ethode permettant detrouver une solution `a partir des

donn´ees d"un probl`eme. •Ecriture d"un programme qui consiste `a traduire un algorithme pourune machine dans un langage de programmation donn´e, ici lePascal.

D´efinition 1.1.Un algorithme est une description finie d"un calcul qui associe un r´esultat `a des

donn´ees. Il est compos´e de 3 parties :

•son nom

•sa sp´ecificationqui d´ecrit quels sont les param`etres en entr´ee et quel est le r´esultat en sortie.

Elle d´ecrit le probl`eme r´esolu par l"algorithme (la fonction r´esolu par l"algorithme).

•son corpsqui d´ecrit la d´emarche de r´esolution d"un probl`eme dansun langage algorithmique,

il fournit divers objets et instructions primitives ainsi que des moyens de les composer, mais ne nous empˆeche pas de faire appel `a un algorithme dans un autre.

Remarque

: Par le termelangage algorithmiqueil ne faut pas entendre quelque chose de norm´e

mais d"´evolutif car la syntaxe est propre `a l"auteur, mais si l"on fonctionne de cette mani`ere, il y a

de forte chance de ne pas se faire comprendre par les autres d"o`u la n´ecessit´e d"utiliser les mˆemes

notations par pure lisibilit´ee pour les autres. Exemple :Un exemple d"algorithme permettant de d´efinir si un entieraest pair :

Algorithme 1:estPair

Donn´ees:a?N

R´esultat: VRAI siaest pair, FAUX sinon

d´ebut siamodulo2 = 0alors renvoyer VRAI sinon renvoyer FAUX fsi fin

ECE 12 Emilie MORVANT

1 Introduction Initiation `a l"algorithmique et au langagePascal

Explications: ici modulo sert `a renvoyer le reste de la division euclidiennedeapar 2. La division euclidienne deaparbs"´ecrit d"une mani`ere uniquea=b×q+ravecqle quotient etr Une fois un algorithme ´ecrit, on l"utilise par application `ades arguments. Exemple :Fonctionnement de l"algorithme pr´ec´edent avec l"ex´ecution deestPair(21):

•Substituer 21 `aadans le corps deestPair

•Si (21mod2) = 0 alors on va renvoyertrue

•Sinon renvoyerfalse.

Le r´esultat de cette ex´ecution estfalse.

Par analogie avec les math´ematiques, un algorithme est semblable a une fonctionf, les objetsxsur lesquels agitfportent l`a aussi le nom de variables, et leurs imagesy=f(x)car elles peuvent servir

de nouvelles variables sur lesquelles faire agir une autre fonctiong. Dans un souci de simplification, on

admet g´en´eralement que les constantes sont des cas particuliers de variables.

Plus pr´ecis´ement, une variable est une donn´ee d´esign´ee par un nom pr´ecis et immuable, mais dont la

valeur est susceptible de changement au cours du d´eroulement de l"algorithme.

Reprenons l"analogie avec les math´ematiques : une fonctionfd´efinie sur un ensembleE, est `a valeurs

dans un ensembleFtr`es souvent distinct deE.

L"algorithmique fait un grand usage du cas o`uFne poss`ede que deux ´el´ements, appel´es selon le contexte

0et1,ouietnon,vraioufaux. On appelle alorsvariables bool´eennes, ouindicateurs bool´eens

les variables dont les images (leurs valeurs) sont n´ecessairementvraioufaux.

Dans la pratique, il s"agit toujours de propositions logiques simples, souvent d´ependant d"un ou plusieurs

param`etres, auxquels les math´ematiques donnent une valeur dev´erit´e : ainsi la proposition"aest un

nombre pair"est vraie sia= 3et fausse sia= 4. D´efinition 1.2.En informatique, il faut diff´erencier deux types de variables: •param`etre formelque l"on nommera dans la suite du coursparam`etre: il s"agit de la

variable utilis´ee dans le corps de l"algorithme (par ex : si on avait d´eclar´e une variable dans

le corps de l"algorithmeestPairelle serait un param`etre formel). •param`etre effectifque l"on nommera dans la suite du coursargument: il s"agit de la variable (ou valeur) fournie lors de l"appel d"un algorithme (par ex : dans l"algorithmeestPair aen est un car c"est une valeur donn´ee `a l"algorithme lors de son appel pour savoir si elle est pair ou non). On obtient sa valeur en substituant dans le corps de l"algorithme les arguments (par exemple

21) aux param`etres de l"algorithme (icia) et en appliquant le corps substitu´e de l"algorithme

obtenu dans l"´etape pr´ec´edente; la valeur r´esultat estcelle donn´ee par l"instruction renvoyer.

1.2 Quelques mots sur le langagePascal

Le langage de programmationPascal1a ´et´e invent´e parNiklaus Wirthdans les ann´ees 1970.

C"est un langage de programmation dit imp´eratif. Il a ´et´e con¸cu pour servir `a l"enseignement de la

programmation de mani`ere rigoureuse mais simple, il se caract´erise par une syntaxe claire et facilitant

la structuration des programmes. C"est pourquoi, il vous sera demanderd"´ecrire les diff´erents al-

gorithmes en suivant la syntaxe de ce langage.

Aujourd"hui, lorsque l"on parle du langagePascal, on l"associe auTurbo Pascal, cr´e´e parBorland

1dont le nom vient du math´ematicien fran¸cais Blaise Pascal

ECE 13 Emilie MORVANT

1 IntroductionInitiation`a l"algorithmiqueetaul anga gePascal

en1 986.Maisat tention, cederniern"estpasunla ngag edeprogrammati on,c"estun environn emen tde d´evolopementint´egr´e2assezcomp letpourlelanga gePascal.

2un EDIestun progr am meregroupantunediteurdet exte,uncompilateur,deso uti lsautomat iq uesdefabricat io n,

et souventundebo gueur .

ECE14 Em il ieMORVANT

2 Structure d"un programme enPascalInitiation `a l"algorithmique et au langage Pascal

2 Structure d"un programme enPascal

1.D´eclaration du programme.

C"est l"entˆete du programme. Sa syntaxe est :

PROGRAM nom;

2.D´eclaration des objets.

On d´eclare tous les objets utilis´es dans le programme : constantes puis variables.

Sa syntaxe est :

CONST a=2;

vrai=TRUE;

VAR i,k,n : integers {i,k,n sont de types entier}

x,a,b : real {x,a,b de type r´eel} test : boolean {variable de type bool´eenne : } { sa valeur est true ou false} liste : array [1..10] of integer {variable de type tableau}

Remarque

: Avant la d´eclaration des objets, si l"on utilise une biblioth`eque particuli`ere, il faut l"indiquer avec la syntaxe suivante :uses la biblioth`eque;.

Les biblioth`eques sont diff´erentes en fonction de l"environnement utilis´e et permettent d"uti-

liser des fonctions particuli`eres. Par exemple, afin de pouvoir effacer l"´ecran sous l"environnementDOSon inclut dans le pro-

gramme la biblioth`equecrt. La fonction a utilis´ee dans le programme pour effacer l"´ecran est

alors :clrscr;.

3.D´efinition des proc´edures et fonctions.

Les fonctions et proc´edures seront vues ult´erieurment. La structure d"un programme simple est : 1.2.4.; celle d"un programme structur´e comporte cette

3°partie.

4.Programme principal.

C"est le corps du programme : on liste les instructions `a ex´ecuter.

Sa syntaxe est :

BEGIN instructions END.

Sauf mention contraire, chaque ligne de commande et instruction se finit par un;. Afin de faciliter la lisibilit´e du programme, on peut y ajouterdescommentairespour expliquer

certaines instructions ou nom de variable. Ces commentaires peuvent ˆetre ins´er´ees n"importe o`u du

moment qu"ils sont plac´es entre accolades. A noter que que le code source brut d"un programmePascalpeut porter les extensions3.pas, le plus courant,.pou encore.pp.

3L"extension d"un fichier est ce qui permet d"identifier son format, elle se situe apr`esun "." : par exempleimage.jpg,

.jpgindentifie un fichier de type image de format jpeg dont le nom estimageou alorstexte.txtqui correspond `a

un fichier texte donc le nom esttexte.

ECE 15 Emilie MORVANT

3 Objets et actions ´el´ementaires Initiation `a l"algorithmique et au langage Pascal

3 Objets et actions ´el´ementaires

3.1 Les objets

Les objets sont des donn´ees constantes ou variables :

•une donn´eeconstanteest une donn´ee dont la valeur estfix´eepar le programmeur et quireste

inchang´eeau cours de l"ex´ecution du programme. Un exemple important est la constante "chaˆıne de caract`eres" (oustring) :"bonjour"ou

"rerevgeetr"... Pour d´efinir une chaˆıne de caract`eres, il suffit de mettre une suite caract`eres `a

l"int´erieur de " ".

•une donn´eevariableest une donn´ee dont la valeur estinitialis´eepar le programmeur; cette

valeurpeut-ˆetre modifi´eeau cours de l"ex´ecution du programme. Tous ces objets vont avoir des noms d´efinis par le programmeur : ces noms s"appellent desidenti-

ficateurs. Ces derniers ne peuvent pas ˆetre des mots r´eserv´es, i.e. des mots dont la signification est

pr´ed´efinie par le logiciel, tels queREAL,BEGIN, ...

Il y a quelques r`egles suppl´ementaires : il ne peut y avoir ni espaces, ni lettres accentu´ees dans un

identificateur, et le premier caract`ere ne doit pas ˆetre un chiffre. Le compilateurPascalne distinguant pas les majuscules des minuscules, les identificateursIDEM,Idem, iDEm,idemsont confondus. Chaque identificateur devra ˆetre d´eclar´e en2.pour ˆetre compris.

3.1.1 Principaux types de donn´ees

•type entier :integer

Ils doivent ˆetre compris entre -32768 et +32767.

•type r´eel :real

•type bool´een :boolean

Il d´efinit deux valeurs logiques : vrai ou faux. Exemple :Sixest connu, la variable (x >0) est de type bool´een.

•type tableau :array

Il faut alors pr´eciser le type des ´el´ements du tableau qu"ildoit prendre en compte. On verra ce

type plus en d´etail dans une prochaine partie.

Cette liste correspond aux types qui nous serons utiles dans ce cours, `a noter qu"il existe les types

caract`eres (char) et chaˆıne de caract`eres (string).

3.1.2 D´eclaration des objets et initialisation des variables

Comme on l"a vu pr´ec´edemment, une donn´ee constante doit ˆetre d´eclar´ee en2., et ce avant la

d´eclaration des variables. Sa syntaxe est : const nom_de_la_constante_1 = valeur; nom_de_la_constante_2 = valeur;

Exemple :

const a=100; {constante de type entier} ch="au revoir"; {constante de type cha^ıne de caract`eres}

Les variables sont ´egalement d´eclar´ees en2.(apr`es la d´eclaration des constantes), et doivent ˆetre

initialis´ees en4.. Pour les initialiser, il y a deux moyens possibles :

ECE 16 Emilie MORVANT

3 Objetsetacti ons´ el´ementairesI nitiation`al"algorithmiqueet aulangagePascal

pourles variable sd"entr´ee:parle cture

Exemple:

writeln('ecrirelesvaleursdeaet b'); Quandlepr ogra mmes"ex´ecute,ils"affi chesurl"´ecran:ecrirelesval eursde aetb. writeln();estu necomm anded"´ecriture. readln(a,b); lesde uxvaleur salors´ecrites parl"utili sateursontaffect´ee sauxva riablesaetb.readln(); estu necomm andedelecture.

Remarques:

Ona uraitpuutili serle scommandeswrite();etread();: laseu lediff´er enceestque danscec as,le curseur del" ´ecrand"affich agen epassepas`alaligne suivante`alafindela commande:iln"ya pa sdesa utdeli gn e.

Complementsurl'instr uction write().

L"instructionwrite(expression1,...,instructionn);permetd"affic herunelisted"ex- pressions(icinexpressions)surl"´ecr ande sortieduprogramme .Unee xpressionpeu tˆet re unn ombre,unevaria blenum ´erique,ler´esult atnum´eriqueentreplusie ursv ariables,ouune chaˆınedecara ct`e resquelconque(quipeutc omporterdeslettresac centu´ee setdesesp aces): dansced erni ercas,ilestn´ece ssairede mett rela chaˆıneentredeuxap ostro phes.

Complementsurl'instr uction read().

L"instructionread(x∞;:::;xn);permetd"affe cterauxvariablesx∞;:::;xnpr´ealablement

d´eclar´ees,ndonn´eesnum´eri quesentr´eesauclavier. Cesdonn´eesdoive ntˆe tres´epar´eespar

unc aract`ereespaceouunre tour`alali gne. pourles variable sdesorties:para ectation

Exemple:

x :=1; Ousi aetbontd´ ej`a´et´eini tialis´ees : x :=(a +b)/2; !Sil "on´ecri ta :=b, ilfa utqueles variabl esaetbsoientdem^emetype . Ne pascon fondre´egalementle ":=" del" affectationetle"=" r´eserv´eauxdonn´e es constantesetausymbol edec ompa raison.

3.2Op erationentrelesobje ts

Ceso p´erationsd´ependentd utypedesobjets.

!Lesop ´erationssont`aeffectue rentrede sobj etsdemˆemetype!

ECE17 Em il ieMORVANT

3 Objetsetacti ons´ el´ementairesI nitiation`al"algorithmiqueet aulangagePascal

3.2.1Op´e rateursetfonctionsarit hm´e tiques

+ -* r´eel/ent ie rreel/ent ie roperationselement aires /r´eel/ent ie rreellet ypedeso rtiep eutdonc^et redieren tdutyped' entree divmo dentierentierquotientetrested elad ivisioneu clid ienne expln sqrt r´eel/ent ie rreelsqrtestla racin ecarr´ee sqrr´eel/ent ie rreel/ent ie rcarre truncr´eelentierpartieenti ere absr´eel/ent ie rreel/ent ie rvaleurabso lue roundr´eelentierentierleplu sproc he

3.2.2Op´e rateurslogiques

Ily en a3:not,oretand. Lesent r´eescommelessort iessontdet ypebool ´een.

Lesta blesdev´erit´ esui vantesdonnentle r´esultatdecesop ´erations;onnot eraVp ourvrai,Fpourfaux.

xnotx VF FV orVF VVV FVF andVF VVF FFF

3.2.3Op´e rateursrelationnels

=,<>pour6=,<=pour,>=pour. Lesvari ablesd"entr´ee ssontdetypeentier/r´e el;lavaria bled esortie estdetypebool ´e en. Ceso p´erationssontprincipa lementut ilis´esdanslesinstructionsc onditionnelles(que l"onverra ult´erieurement).

ECE18 Em il ieMORVANT

4 Instructions et instructions conditionnelles Initiation `a l"algorithmique et au langage Pascal

4 Instructions et instructions conditionnelles

4.1 Instructions

Une instruction peut ˆetre simple, i.e. d"une seule commande :par exemplewriteln("bonjour"); ou l"affectation d"une variables := 0;.

Une instruction compos´ee est une suite d"instructions termin´ees par un ";" : l"ensemble de ces instructions

doit alors commencer par unBEGINet finir par unEND;. !LeBEGIN .. END .du programme principal se termine par un "." et non un ";". Pour des raisons de lisibilit´e, on utilise tr`es souvent une indentation en d´ecal´ee : BEGIN instruction1 ; instruction2 ; instruction3 END ; o`uinstruction1,instruction2etinstruction3peuvent ˆetre des instructions simples ou com- pos´ees.

Le point virgule est en fait un s´eparateur d"instructions : c"est pourquoi il n"est pas n´ecessaire d"en

ins´erer un `a la fin deinstruction3.

4.2 Instructions conditionnelles etif then else

Cette structure r´epond `a l"attente :

"Si une relation est vraie (par exemplex?= 0), alors on veut effectuer une certaine instruction (par exemple diviser parx) et sinon, on en effectue une autre." la syntaxe est la suivante :

IF relation THEN

BEGIN instructions B ; END ELSE BEGIN instructions C ; END ; instructions D ;

Remarques

i. Si les instructions B ou C sont simples, leBEGIN ENDcorrespondant est inutile.

ii. LeELSEest facultatif; mais il ne doit pas ˆetre pr´ec´ed´e imm´ediatement d"un ";".

ECE 19 Emilie MORVANT

5 Boucles it´eratives Initiation `a l"algorithmique et au langage Pascal

5 Boucles it´eratives

5.1 Bouclefor

Cette structure est utile pour r´ep´eter une suite d"instructionsnfois, lorsquenest connu `a l"avance.

La syntaxe est la suivante :

FOR i:=n TO m DO

BEGIN instructions_B ; END ; instructions_C ; On le lit de la mani`ere suivante : "Pouriallant den`am, faire...".Remarques i.instructions Best effectu´e une premi`ere fois aveci=n, une deuxi`eme aveci=n+ 1, ..., puis une derni`ere aveci=m: le groupe d"instruction est ex´ecut´em-(n-1) fois. !La variable compteuridoit ˆetre d´eclar´ee en2.! ii.netmsont deux variables de type entier, d´eclar´ees et initialis´ees. iii. Siinstructions Best simple leBEGIN END;correspondant est inutile. iv. Sin > m,instruction

Bn"est pas ex´ecut´e.

Variante:

Si l"on veut aller dem`andans l"ordre d´ecroissant, la syntaxe devient :

FOR i := m DOWNTO n DO ...

5.2 Boucles conditionnelles

5.2.1 Bouclewhile

Cette structure s"utilise lorsque l"on veut r´ep´eter une suite d"instructions tant qu"une certaine relation

est vraie. La syntaxe est la suivante : instructions_A ;

WHILE relation DO

BEGIN instructions_B ; END ; instructions_C ; On le lit : "Tant querelationest vraie, faire...".Remarques i.instructions

Bpeut ne pas ˆetre ex´ecuter du tout4.

ii. Siinstructions Best simple, leBEGIN END;correspondant est inutile; iii. !Il faut s"assurer avant de lancer le programme que la relation devient fausse au bout d"un certain temps, sinon le programme ne s"arrˆetera jamais!

4Si d`es le d´epart la relation est fausse

ECE 110 Emilie MORVANT

5 Boucles it´eratives Initiation `a l"algorithmique et au langage Pascal

5.2.2 Bouclerepeat ... until

L"utilisation se fait lorsque l"on veut r´ep´eter une suite d"instructions jusqu"`a ce qu"une relation soit

vraie (c"est `a dire qu"un objectif soit atteint). La seule diff´erence avant la bouclewhileest que dans la bouclerepeat,instructions

Best ex´ecut´e

avant de tester la relation au mois une fois. La syntaxe devient : instructions_A ;

REPEAT

instructions_B ;

UNTIL relation ;

instructions_C ; On le lit : "R´ep´eter ... jusqu"`arelation".Remarques i. Mˆeme siinstructions Bn"est pas une instruction simple, leBEGIN END;ici est inutile car

REPEAT UNTILsert de d´elimiteur.

ii. !Il faut s"assurer avant de lancer le programme que la relation devient vraie au bout d"un certain temps, sinon le programme ne s"arrˆetera jamais!

ECE 111 Emilie MORVANT

6 Fonctions et Proc´edures Initiation `a l"algorithmique et au langage Pascal

6 Fonctions et Proc´edures

6.1 Notion de sous-programme

La notion de sous-programme repr´esente toute la puissance du langagePascal. En fait, c"est la

possibilit´e de structurer encore davantage le programme en cr´eant de nouveaux ordres utilisables dans

le corps du programme mais non d´efinis dans celui-ci. Cel`a permetd"avoir un programme beaucoup plus

lisible puisque l"on d´ecompose ainsi le programme en actionssimples ou blocs d"instructions.

Le principe

Il peut arriver que l"on doive utiliser une mˆeme s´equence d"instructions `a diff´erents endroits d"un pro-

gramme. Il est alors judicieux de cr´eer un sous-programme

5dont le code sera d´efini une fois pour toutes

dans l"´etape3., et que l"on appellera dans le corps du programme aux diff´erents endroits souhait´es.

L"avantage est que le code du programme est beaucoup plus court puisque l"on ´evite ainsi des r´ep´etitions

de code.

Exemple :Le calcul deCkn=n!

k!(n-k)!n´ecessite le calcul de 3 factorielles; donc on pourra ´ecrire une fonction factorielle en amont, et ensuite l"appeler 3 fois.

On doit pouvoir utiliser un sous-programme sans savoir ce qu"il se passe dedans : Les informations mises

`a notre disposition sont les param`etres d"entr´ees et le r´esultat produit.

De mˆeme, un sous-programme ne doit pas savoir ce qui se passe `a l"ext´erieur : son seul lien avec

l"ext´erieur sont ses param`etres d"entr´ees. Un sous-programme a la mˆeme structure qu"une programme mais leENDdu corps du sous-programme

est suivi d"un ";" et non d"un ".". Il faut d´eclarer ces sous-programmes dans la partie3., juste avant

le corps du programme principal. Toutes les variables utilis´ees dans un sous-programme doivent ˆetre

quotesdbs_dbs46.pdfusesText_46
[PDF] langage poétique définition

[PDF] langage programmation facebook

[PDF] langage python en seconde

[PDF] Langage soutenu - URGENT

[PDF] langage soutenu dictionnaire

[PDF] langage soutenu mots

[PDF] language de la continuité- limite

[PDF] Language HTML

[PDF] Language sql exercice de maison

[PDF] Language tools

[PDF] langue allemande dans le monde

[PDF] langue et détrôner

[PDF] Langue étrangere

[PDF] langue latine liste

[PDF] Langue orale ou langue écrire