Algorithmes et programmation en Pascal Cours
Les variables en Pascal Le nom de la variable permet d'accéder au contenu de la zone mémoire; ... teur : 16 pour Turbo Pascal 32 pour Delphi.
Algorithmique et programmation Pascal
Ecriture d'un programme qui consiste `a traduire un algorithme pour une machine dans un langage de programmation donné ici le Pascal. Définition 1.1.
PREMIÈRES LEÇONS DE PROGRAMMATION EN TURBO PASCAL
lycéens et débutants en informatique. Pascal
Maitrise Biologie des Populations et des Ecosystèmes Module
Ce Tutorial en langage Pascal est destiné à vous guider dans vos premier pas dans la programmation… Il est difficile et pour tout dire vain et inutile
Introduction au langage Pascal
BEGIN readln(rayon); circonference:=rayon*2*3.1416 ; writeln(rayoncirconference);. END. Ce programme demande a un utilisateur de taper un nombre
Introduction à lalgorithmique ... Application au langage Pascal
Beaucoup de langages de programmation (Grafcet Calculatrice
Quelques éléments de syntaxe du langage Pascal
5 sept. 2005 En Pascal un identificateur doit débuter par une lettre et peut être poursuivi par n'importe quelle combinaison de lettres chiffres et blancs ...
Untitled
Exercice 12. Ecrire un programme Pascal intitulé EQUA_1D qui fait résoudre dans IR l'équation ax+b=0 pour tout couple de réels (a
Sources de programmes danalyse de données en langage
en langage PASCAL : (III) : élaboration de tableaux divers (IIIG) : codage d'échelles suivant l'équation personnelle. Les cahiers de l'analyse des données
U.E. Informatique 1 Introduction au Turbo-Pascal
Le fichiers exécutable est dans le répertoire. “ C:Program FilesTPW ”. et se nomme TPW.EXE. donc pour lancer ce programme plusieurs méthodes : - en utilisant
Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
Introduction
au langagePascal 1Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
Contents
1Commenconsparunpetitexemple...3
2Lapartiedesdeclarations4
3Lapartiealgorithme6
4Contr^olede
ux75D'autrestypes13
6Lestableaux15
7Fonctionsetprocedures17
8Algorithmesrecursifs21
9Conclusion:Formed'unprogrammePascal30
2Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
1Commenconsparunpetitexemple...
PROGRAMcirconference;
VARrayon,circonference:REAL;
BEGIN readln(rayon); circonference:=rayon*2*3.1416; writeln(rayon,circonference); END. lespartieslesplusimportantes.Ilyad'abordlesqueletteduprogramme:
PROGRAM...;
(*Calculdelacirconferenced'uncercle*)VAR....;
BEGIN END. unprogramme.Ilsnesontpasfacultatifs; gramme. 3Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
2Lapartiedesdeclarations
2.1Lesdierentstypesdebase
VARrayon,circonference:REAL;
TRUE(vrai)ouFALSE(faux);
fairedesoperationsdessus!2.2Lesoperationsquipreserventletype
pourvaleur:1.17mod3apourvaleur2;
2.17div3apourvaleur5.
detypereal.CHR(67)prendlavaleur'C';
CHR(51)prendlavaleur'3'.
Exercice:
xory. 4Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
xnyfalsetrue falsefalsetrue truetruetrue xnyfalsetrue falsefalsetrue truefalsetrue xORy xANDy xnotx falsetrue truefalse xnyfalsetrue falsefalsetrue truetruefalse notx xXORyFigure 1:les op erationsbooleennes
2.3 Lesop erationsquirendentun typ eboolean
Il ya ici touteslesop erationsde comparaison<,>,<=,>= et<>(dierent). Oncompare entre elles deux expressionsd'un m^ emetype,sice typepeut^ etreordonn e. Ilestaussipossiblede comparerdes expressions det yperealavecdesexpressions det ype integer. Pourlescaract eres, onutilisel'ordredu codeASCI I.Parexemple :CHR(60)< CHR(49) rendfalse;
3:5>= 3rend true;
3:0<>3 rendfalse.
5Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
3Lapartiealgorithme
readln(rayon); circonference:=rayon*2*3.1416; writeln(rayon,circonference);3.1Interfaceavecl'utilisateur
Lesdeuxcommandes:
readln(rayon); writeln(rayon,circonference); pouruninteger:3;5;17;:::maispas3:5ou'A'; esttoujourspossibledelesecrire; pourleschar:3,A,',e,...,maispas'AA'.3.2Lesaectations
circonference:=rayon*2*3.1416; ...:=rayon*2*3.1416 circonference:=... quiaetestockeedanscettevariable.Ilfautnoterdeuxchoses:
6Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
4Contr^olede
ux4.1Executionconditionnelle
Programvaleurabsolue;
nombre,valeurabsolue:real; begin readln(nombre); (*calculdelavaleurabsolue*) end. ifexpr booltheninst expr programmedevient:Programvaleurabsolue;
Onutilisedeuxconditionnelles.
Varnombre,valeurabsolue:real;
begin readln(nombre); if(nombre>=0)thenvaleurabsolue:=nombre; if(nombre<0)thenvaleurabsolue:=-nombre; end. ifexpr booltheninst1elseinst2 7Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
Leprogrammedevientalors:
Programvaleurabsolue;
Onn'utiliseplusqu'uneconditionnelle
Varnombre,valeurabsolue:real;
begin readln(nombre); if(nombre>=0)then valeurabsolue:=nombre else valeurabsolue:=-nombre; end. valeurabsolue:=nombre quisuitl'instruction valeurabsolue:=-nombre4.2Lesblocsd'instructions
lesinstructionsaveclaconstruction: begininst1;:::;instnend maintenant: 8Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
Programvaleurabsolue;
Varnombre,valeurabsolue:real;
begin readln(nombre); if(nombre>=0)then begin valeurabsolue:=nombre; writeln('Lenombreentreestpositif,'); writeln('doncilestegalasavaleurabsolue') end else begin valeurabsolue:=-nombre; writeln('Lenombreentreestnegatif,'); end; end.4.3Lesbouclessurdestypesenumeres
d'autresdanslasuiteducours.Exercice:
ProgramlettresAE;
OnacheleslettresdeAaE,uneparligne...
Onn'apasbesoindedeclarerdevariables.
begin writeln('A'); writeln('B'); writeln('C'); writeln('D'); writeln('E') end. 9Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
l'instruction seraex ecuteepourtouteslesvaleurs delavariable entre leminim umetlemaxim um dans l'ordrecroissan t.Onappelle lav ariableindicede lab oucle.Biens^ ur,cette instructionpeut^etre un bloc...Utilisonscette nouvelle construction:ProgramlettresAEboucle;
On acheleslettres deA a E,en utilisant une
boucle.Varlettre :char;
begin forlettre :='A' to'E'do writeln(lettre) end. Exercice :Ecrire tousles motsde exactement 3lettres ecrisav ecles lettresde 'A'a'E'. Cette fois-ci,ceserait unp eulong d' ecrireleslignes ala main(ilyena125).Programmotstroislettres;
On achelesmots detrois lettresen utilisant trois
bouclesles unesdans lesautres. Ily aune boucle pour lapremi ere lettre, unep ourladeuxi eme,une pourlatroisieme.Varlettre1, lettre2,lettre3 :char;
begin forlettre1 :='A' to'E'do forlettre2 :='A' to'E'do forlettre3 :='A' to'E'do writeln(lettre1,lettre2,lettre3) end. Les boucles\for" sontutilesmais ilfaut prendrequelques pr ecautionsquand onles utilise:1. ilne fautjamais changer lav aleurdel'indiced'une boucle dansl'instruction.
Si ille faut,on utiliseraune autrev ariablequi prendla valeur del'indice;2. Lav aleurdel'indiceest limit ee al'instruction delaboucle.C'estune variable
muette. Ne passuivre lapremi ere reglepeutdonner unprogrammevalide(quimarc hebien),maisil ya des risques d'erreurset ilest possible derendre leprogrammeincompr ehensible.P arexemple, quefait la boucleforsuivante: 10Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
Programmauvaiseboucle;
Exempledeprogrammeouonchangelevaleurde
l'indiceal'interieurd'uneboucleforVarlettre1,lettre2,lettre3:char;
begin forlettre1:='A'to'E'do begin writeln(lettre1);lettre1:='A'end end.4.4Lesboucleswhileetrepeat
combiended'iterationilfaudrafaire. b)Tantquejf(xn)j>,calculer: x n+1=xnf(xn) f0(xn) nf(x ) xxnn+1 whileDeug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
1.(a)testersilaconditionestvraie;
2.(a)testersilaconditionestvraie;
3.... unblocbegin...end; vraie). 12Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
5D'autrestypes
precisiondanslenommagedesvariables.5.1Typesenumeresnonstandards
peutfaireunetable: lundi=0 mardi=1 typeentier: touslestypesenumeres: 0); denis.Onnesaitpascequ'ilsvalent; lesoperateursdecomparaison; lesbouclesfor;5.2Lestypesintervalles
detravail: typejourtravail=lundi..vendrediOnpeutaussidenirlesminuscules:
typeminuscule='a'..'z' outouteautresortedetype... 13Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
5.3L'instructionCASE
l'instructioncase:CASEOF
listedecas1:instruction1; listedecas2:instruction2; :::listedecasN:instructionN plusieurstypes: 1.unevaleur,parexemplemardi;
samedi,lundi;3.unintervalle:jeudi..samedi.
Exercice:
majuscule,unchireouautrechose. 14Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
6Lestableaux
Pourdeniruntableau,ilfautdeuxchoses:
2.letypedesvaleursqu'ilcontient.
delasemaine: horaires[mercredi]:=5 cours:=horaires[lundi] etc.6.1Lestableauxdetableaux
unematrice3x3:Cequipeutaussis'ecrire:
Varmatrice:Array[1..3,1..3]ofreal
6.2Lestypesdetableaux
Typevecteur:Array[1..3]ofreal;
matrice:Array[1..3,1..3]ofreal;Varu,v:vecteur;
M:matrice;
6.3Lescha^nesdecaracteres
15Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
6.4Lesconstantes
Constdimension=3;
pi=3.1415; message='Bienvenue.';Typevecteur=Array[1..dimension]ofreal;
Varu,v:vecteur;
M:matrice;
16Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
7Fonctionsetprocedures
7.1Introduction
ulierementinteressantdanslescassuivants: programme; pourpouvoirleschangerplusfacilement. pasd'erreurs).7.2Declarationdesfonctions,ranement
3x3donneeparl'utilisateur:
pi=3.1415; message='Bienvenue.';Typevecteur=Array[1..dimension]ofreal;
Varu,v:vecteur;
M:matrice;
det: oat; (*declarationsdesfonctionsetprocedures*) beginEntrermatrice(M);
det:=Calculdeterminant(M); end. quetoutmarchebien.7.3Lesprocedures
17Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
Varliste;
begin listed'instruction end; a:Procedureligne(n:integer);
Vari:integer;
begin fori:=1tondo write('*');(*achesansalleralaligne*) writeln(*vaalaligne*) end; ...function f(a,b:integer):integer; x:=11; y:=f(x,17); ...function f(a,b:integer):integer; x:=11; y:=f(x,17); function f(a,b:integer):integer; begin f:=a+b end;on met la valeur 17 dans la variable b on met la valeur de x dans la variable a on met le résultat dans le nom de la fonction, puis on termine la fonction et enfin on met la valeur de f dans la variable y.ProcedureEntrermatrice(VarM:matrice);
Vari,j:integer;
begin (*instructions*) end;; 18Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
procedure f(M : matrice);var mat : matrice; begin end.f(mat) procedure f(M : matrice);var mat : matrice; begin end.f(mat) beginprocedure f(var M:matrice); end; M[1,1]:=1;... ...Dans le corps de la procédure f, M est un alias pour la matrice mat on fait un changement de M, donc on va changer la matrice mat qui est en dehors de la procédure. variablesentredierentsappelschangent.7.4Lesfonctions
pasdetableau).Ilfaut:Onutiliseladeclarationsuivante:
Varliste;
begin;1.dequellesproceduresa-t-onbesoin?
2.lesquellesmodientleursarguments?
3.ecrirecesprocedures.
19Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
20Deug TI 1A
Yannick Chevalier
UNIVERSITE HENRI POINCARE - NANCY I, 2000/2001
8Algorithmesrecursifs
8.1Desexemplesbienconnus
c'estasia=b.Functionpgcd(a,b:integer):integer;
(*fonctionquicalculelepgcddeaetb*) begin if(a<0)thena:=-a; if(b<0)thenb:=-b; if(a=0)then pgcd:=b else if(b=0)then pgcd:=b else while(a<>b)do if(aFunctionfactorielle(a:integer):integer;Vartemp,indice:integer;
(*fonctionquicalculelafactorielledea*) begin temp:=1; forindice:=1toado temp:=temp*indice; factorielle:=temp;quotesdbs_dbs46.pdfusesText_46[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
[PDF] Langue étrangere