Algorithmes et programmation en Pascal Cours
Les variables en Pascal Un identificateur Pascal est une suite de lettres ou de digit accolés ... teur : 16 pour Turbo Pascal
Algorithmique et programmation Pascal
Initiation `a l'algorithmique et au langage Pascal. Table des mati`eres De nos jours l'algorithmique est associée `a la programmation informatique.
LANGAGE DE PROGRAMMATION PASCAL Chapitre I : Partie
Comme dans tous les langages informatiques dans un langage Pascal on utilise des mots clés ou encore les mots réservés tels que
Algorithmiques et programmation en langage PASCAL
L'algorithme est la résolution brute d'un problème informatique. Figure 2 : Etapes de résolution d'un problème. Exemples concrets des algorithmes : i. Problème
U.E. Informatique 1 Introduction au Turbo-Pascal
Mise en route du Turbo Pascal pour Windows. Le langage Pascal. ... différents sous-ensembles d'un système informatique selon des spécifications ...
Algorithmes et programmation en Pascal TD corrigés
Sous Turbo Pascal vu que maxint = 32767
Cours 01 : Les matrices - Informatique 2
Notion de matrice. Traitement des matrices. Les matrices en Pascal. Exemples et exercices. Algorithmique. Langage Pascal. Algorithme mat ;. Variables :.
Support de cours MODULES: Informatique I & II Intitulé
2.2 Structure d'un programme écrit en langage pascal . Un programme informatique est un algorithme traduit dans un langage de programmation(.
TP 1 : Introduction au langage Pascal Introduction Mise en place de
Pascal est un langage de programmation de haut niveau qui a été développé par 'Niklaus Wirth' en 1970. développement en informatique : 'Blaise pascal'.
Mr.BACHIR **********Mr.MOUSSA
L'informatique est subdivisée en de nombreuses branches plus ou Le langage Pascal est un langage compilé c-à-d qu'il faut: Cours 1: Concepts de Base.
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
quotesdbs_dbs46.pdfusesText_46[PDF] langage pascal pour debutant pdf
[PDF] langage pascal site du zero
[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