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 rogrammationPascalEmilieMORVAN T
milie.morvant@gmail.comSaint-Louis
Pr´epaEC E1
Ann´ee2008- 2009
LATEX Table des mati`eres Initiation `a l"algorithmique et au langage PascalTable 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
Cours1 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 lesbabyloniens, 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´emais 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 finECE 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 servirde 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 lavariable 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 exemple21) 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 cette3°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 expliquercertaines 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 ctureExemple:
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´ealablementd´eclar´ees,ndonn´eesnum´eri quesentr´eesauclavier. Cesdonn´eesdoive ntˆe tres´epar´eespar
unc aract`ereespaceouunre tour`alali gne. pourles variable sdesorties:para ectationExemple:
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 he3.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 FFF3.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,instructionBn"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.instructionsBpeut 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,instructionsBest 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 carREPEAT 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 lapossibilit´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-programme5dont 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-programmeest 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 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