8 Algorithmes et programmation en Pascal Edouard Thiel 3 Types pr ed e nis Un typed ecrit un ensemble de valeurset un ensemble d’op er ateurssur ces valeurs 3 1 Type entier : integer Entier sign e en compl emen t a deux sur 16 ou 32 bits, selon machine et compila-teur : 16 pour Turbo Pascal, 32 pour Delphi
MikroPascal (langage de programmation) PasRo (système informatique) UCSD p-System WEB (langage de programmation) PASCAL (langage de programmation) Thème : PASCAL (langage de programmation) Origine : RAMEAU Voir aussi : Borland Pascal, Turbo Pascal, Microsoft QuickPascal, Think Pascal, Free Pascal Domaines : Informatique Data 1/7 data bnf
Le langage PASCAL - P TRAU le Langage PASCAL Patrick TRAU Janvier 92 version HTML mars 97 Ce document présente (de manière claire je crois, d'après ce qu'en ont dit certains) le langage PASCAL Il a été publié dans APTEP - INFO il y a quelques années Depuis, bien que je maîtrisais
4 Le langage Pascal En informatique, un programme qui n’est pas syntaxiquement juste ne va pas être compilé par le compilateur; ce dernier va avertir le programmeur qu’il y a une erreur En revanche le compilateur ne peut pas avertir le programmeur d’une erreur de sémantique : c’est à l’exécution que l’utilisateur s’en
1 Introduction à l'informatique 5 1 1 Les grands domaines de l'informatique 1 2 Le fonctionnement des ordinateurs 1 3 Le codage des informations 1 4 Exercices 1 5 Solutions 2 Les langages, introduction au Pascal 12 2 1 Introduction aux langages 2 2 Structure générale des programmes Pascal
2 Algorithmes et programmation en Pascal Edouard Thiel Table des mati eres 1 Expressions et a ectations 4 1 1 Type d’une expression 4 1 2 Ann ee bissextile 5 1 3 Boulangerie 5 1 4 Logique de Boole 5 1 5 Suppl emen ts pour le TP 6 2 Intervalles et enregistrements 7 2 1 Heures 7 2 2 Suppl emen ts pour le TP 10 3 Proc edures 11 3 1 Min et Max 11
Pascal, Langage C, Delphi, Visual C++, Java, Visual basic, Remarque La construction d’un programme informatique nécessite le passage par les étapes suivantes : Problème Enoncé algorithme Programme 3-Langage PASCAL Langage pascal est un Langage structuré qu'on utilise souvent pour débuter la
le langage FORTRAN I a eu un succès énorme, et son compilateur a gardé durant vingt ans le record d'optimisation du code objet produit Plus tard, le compilateur du PASCAL a été écrit en auto-amorçage: conçu « à la main » pour 60 environ du langage, le reste a été produit par ce qui était déjà compilé De
[PDF] langage pascal pour debutant
[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
AlgorithmesetprogrammationenPascal
FacultedesSciencesdeLuminyEdouardThiel
TDcorriges
Deug1MassMA
Modulede75heures
1997a2004
Tabledesmatieres
1Expressionsetaectations4
1.1Typed'uneexpression4
1.2Anneebissextile5
1.3Boulangerie5
1.4LogiquedeBoole5
1.5SupplementspourleTP6
2Intervallesetenregistrements7
2.1Heures7
2.2SupplementspourleTP10
3Procedures11
3.1MinetMax11
3.2
Echangedansl'ordrecroissant12
3.3Passaged'enregistrements13
3.4SupplementspourleTP14
4Bouclesetfonctions15
4.1Fonctionsnumeriques15
4.2Lectureauclavier16
4.3Intervallesdetemps17
4.4SupplementspourleTP18
5Tableauxetindices19
5.1LeprogrammeAppaLet19
6Tableaux,recordetstring23
6.1LeprogrammeRendezV23
6.2Cryptage25
7Detectiondemots27
7.1LeprogrammeColEcran27
8Fichierstexte31
8.1LeprogrammeMinusCol31
9Recherchedansunchier35
9.1Recherchedemots35
9.2LeprogrammeNuMots37
TDDeug1MassMA,1997a20043
10Tris39
10.1Triparpermutation39
10.2Triabullesoptimise40
10.3SupplementspourleTP42
1.Expressionsetaectations
1.1Typed'uneexpression
Rappel
Tabledesprioritesclasseesparordre
decroissant,lesoperateurssurunem^eme ligneayantuneprioriteegale(onevaluealors degaucheadroite).()fonction()primaire +-notunaire */divmodandmultiplicatif +-oradditif =<><<=>=>relation pasbienformees.Exemple: round(2:6|{z} reel+1|{z} entier| {z} reel3.6) {z} entier4>4|{z} entier=3|{z} entier| {z} reel1.33.. {z} booleentrue
1.2-5*3+4(2-5)*(3+4)2-(5*3+4)
2.12/312div311div3div211mod3+5.2
3.1.0*2+3-4round(2*6.3)-15/3(50<3*8)
4.falseornotfalseandtrue(12>24)+(2+4=12)
5.(37-3>=14)-'a'+3pred('b')>'k'12>3>4
6.3.5+7>4>falsenot(12<>3*16.8/4)andtrue
7.3*cos(8.0/(17-(3*4)-5))
Correction
1.entier9entier21entier17
2.reel4:0entier4entier1reel7:2
3.reel1:0reel8:0booleenfalse
4.booleentrueerreur:bool+bool
6.booleentruebooleenfaux
7.erreur:divisionpar0
TDDeug1MassMA,1997a20045
1.2Anneebissextile
TD
Ecrireb:=l'expression.
TP
Correction
(1)!(3):(xandy)or(xandz)=xand(yorz).
1.3Boulangerie
TD TP estouverte.
Correction
b:=(h>=7)and(h<=13)and(j<>1)or (h>=16)and(h<=20)and(j>1); !Re echirchezsoiaucasoulesminutessontxees.
1.4LogiquedeBoole
TD
Simplierlesexpressions:
Correction
xory=yorx(idempourand){10} :=(x<7);{5} q:=not(aand(notaorb))orb; :=true;{7}
Remarque:(x)y)s'ecritnotxory
1.5SupplementspourleTP
1)CodesASCII
2)Erreurs
3)Portrait
TDDeug1MassMA,1997a20047
2.Intervallesetenregistrements
2.1Heures
enregistrementtemps_t.
Correction
TYPEheure_t=0..23;minute_t=0..59;
s:seconde_t;End;
2)Soitt1ett2deuxtemps_t.
Correction
PROGRAMtp_egaux;TYPE{cf1)}
VARt1,t2:temps_t;egal:boolean;
writeln('Egalite:',egal);END.
3)Modierleprogrammepourqu'ildisesit1 a)Avecuneexpressionbooleenne. b)Avecdesifthenelse. Correction
a)Ondeclareinf:boolean. Onpeutencorereduirel'expression:
nement. inf:=false;if(t1.h4)Soittuntemps_t.
depuis0:0:0.
Correction
virgule).
PROGRAMnb_sec;TYPE{cf1)}
VARt:temps_t;ns:integer;
writeln('ns:',ns);END.
TDDeug1MassMA,1997a20049
passantparlaconversionensecondes.
Correction
PROGRAMtp_comp;TYPE
{cf1)}VARt1,t2:temps_t; ns1,ns2:integer;BEGIN{Lecturet1ett2...} ns2:=t2.h*3600+t2.m*60+t2.s; if(ns1
Correction Onplaceleresultatdanst3:temps_t.
ecrire: 2.2SupplementspourleTP
1)Procedures
2)Programmemystere
Quefaitceprogramme?
PROGRAMabyz;VARd:char;
BEGINread(d);
END. TDDeug1MassMA,1997a200411
3.Procedures
3.1MinetMax
1)ProcedureMinde2entiers.
2)ProcedureMaxde2entiers.
Correction
BEGINifa END; BEGINifa>bthensup:=aelsesup:=b;
END; BEGINMin(x,y,p);Max(x,y,g);
END; 4)PROGRAMexo1;
VARu,v,pp,pg:integer;{varglobales}
{iciproceduresMin,MaxetMinMax} BEGIN writeln('min',pp,'max',pg);END. 3.2 Echangedansl'ordrecroissant
estabc.Ecrireplusieursversions. Correction
BEGINifa>bthenbegint:=a;a:=b;b:=t;end;
END; PROGRAMTri1;
VARu,v:real;{Mettreicilaprocedure}BEGIN
END. Onseposelaquestion:varoupasvar?
apres. .Avecunvar:aetbsontdesaliasdeuetv. 2)PROCEDUREEchange3(vara,b,c:real);BEGIN
END; Ilyad'autressolutionspossibles.Exemple:
Echange2(a,b);{onmetleplusgranddansb}
TDDeug1MassMA,1997a200413
3.3Passaged'enregistrements
parametres. 1) detsouslaformeh:m:ssansretouralaligne. 2) leschampsdet. 3) ecouleesdepuis0:0:0. Correction
PROGRAMtemps;
TYPE heure_t=0..23;minute_t=0..59; seconde_t=0..59;temps_t=Recordh:heure_t; m:minute_t;s:seconde_t;End; 1)PROCEDUREecriture(t:temps_t);BEGIN
write(t.h,':',t.m,':',t.s);END; readln(t.h,t.m,t.s);END; END; 4)VARt1,t2:temps_t;
n1,n2:integer;c:char; BEGIN ifn13.4SupplementspourleTP 1)Programmemystere
Laballeestsousquelgobelet?
PROGRAMballe;
TYPEgobelet_t=recordballe:boolean;
abra(g1,g2);cad(g2,g3);abra(g3,g1); END. TDDeug1MassMA,1997a200415
4.Bouclesetfonctions
4.1Fonctionsnumeriques
1)Factorielle
Faireunefonctionfacto(n)quirenvoien!.
2)Puissance
Faireunefonctionpuiss(x,n)quirenvoiexn.
3)Exponentielleex'1+x
1+x22!+x33!++xnn!
appelauxfonctionsfactoetpuiss. Correction
END; {Lafonctionestjusteegalementpourn=0. {Onpeutaussicommencerlefora2. puiss:=r;END; {00n'estmathematiquementpasdeni. expn:=r;END; deplusenpluslents. 4.2Lectureauclavier
1)Compterdescaracteres
2)CompterlesL
Correction
c:char;BEGINres:=0;{init} END; 3)CompterlesLEUniquementenTP
Correction
c,d:char;BEGINres:=0;{init} whilec<>CFindo end; readln; nb_couple:=res; END; TDDeug1MassMA,1997a200417
4.3Intervallesdetemps
Soitletypetemps_tdeniaux2.
1) periodedetemps. 2) depuis0:0:0. 3) etrenvoieleresultatsousformed'untemps_t. 4) etdeconvertir. Correction
1)TYPEheure_t=0..23;
h:heure_t;m:minute_t;s:seconde_t; End;inter_t=Recorddebut,fin:temps_t;
End; 2)FUNCTIONcalc_ns(t:temps_t):integer;
BEGINcalc_ns:=t.h*3600+t.m*60+t.s;END;
BEGINres.h:=nsdiv3600;ns:=nsmod3600;
res.m:=nsdiv60;ns:=nsmod60;res.s:=ns; convertir:=res;END; END; 4.4SupplementspourleTP
1)Calculdepi
4=113+1517+19
lorsqueleterme1 xestpluspetitque". Correction
PROGRAMcalculpi;
repeat s:=-s;{inverselesigne} untilabs(t)VARe:real;
END. TDDeug1MassMA,1997a200419
5.Tableauxetindices
5.1LeprogrammeAppaLet
Ondisposedestypessuivants.
CONSTMaxTabCar=4096;CMin='a';
1)Lectureauclavier
2)Achageal'envers
contenudetabCar:TabCar_t. 3)Calculdepourcentage
detabCar. 4)Recherchedumaximum
5)Recherchedesplusfrequents
t^ete. 6)Programmeprincipal
achedansl'ordrecroissantdefrequence. Correction
varnbCar:integer;CarFin:char);VARc:char; whilec<>CarFindobeginnbCar:=nbCar+1; readln;{absorbeleretourchariot}END; END; VARi,n:integer;c:char;BEGIN
{comptage}fori:=1tonbCardo tabP[c]:=tabP[c]+1.0;n:=n+1;end; end; {calculpourcentages} TDDeug1MassMA,1997a200421
n:integer);VARi:integer;c:char; BEGINfori:=1tondobegin
end;{lemaxsuivantnesoitpluscec}END; 6)PROGRAMAppaLet;
VAR tc,tf:TabCar_t; tp:TabPourcent_t;nc:integer;BEGIN AfficheEnvers(tf,5);END.
TDDeug1MassMA,1997a200423
6.Tableaux,recordetstring
6.1LeprogrammeRendezV
introduitlestypessuivants: 1)Saisie
besoinenappelantlaprocedurelecture(). 2)Achage
besoinenappelantlaprocedureecriture(). 3)Chevauchement
vousr1,r2:Rdv_tsechevauchent. 4)Testjournee
5)Programmeprincipal
Correction
1)PROCEDURESaisieRdv(varr:Rdv_t);
lecture(r.fin);END; ecriture(r.debut);ecriture(r.fin);END; AffiRdv(j[k]);end;END;
5)PROGRAMRendezV;
TDDeug1MassMA,1997a200425
6.2Cryptage
TD successivesdesvariablesetexpressions). TP successivesdesvariablesetexpressions). VARm,c:t;
END. Correction
1ord('o')1ord('i')ord('i')-ord('a')=8'w'
2ord('n')2ord('e')ord('e')-ord('a')=4'r'
3ord('c')3ord('g')ord('g')-ord('a')=6'i'
4ord('l')1ord('i')ord('i')-ord('a')=8't'
5ord('a')2ord('e')ord('e')-ord('a')=4'e'
6ord('f')3ord('g')ord('g')-ord('a')=6'l'
7ord('f')1ord('i')ord('i')-ord('a')=8'n'
TDDeug1MassMA,1997a200427
7.Detectiondemots
7.1LeprogrammeColEcran
1)Debutavecdes'a'
ousiin'estpasdansl'intervalle1::255. 2)Finavecdes'a'
mot.Ecrire: majusculeousouligne). 4)Debutetnavecdeslettres
pasdeslettres. 5)Achaged'unmot
6)Programmeprincipal
Correction
ifs[i]='a'thenDetecteDebut:=i;end;End; (c>='A')and(c<='Z')or(c='_');End; elseDetecteFin:=i-1;End; fori:=debuttofindowrite(s[i]);End; TDDeug1MassMA,1997a200429
6)PROGRAMColEcran;
Vars:ligne_t;i,j:integer;
i:=DetecteDebut(s,1);whilei<>0dobegin i:=DetecteDebut(s,j+1);end;End. TDDeug1MassMA,1997a200431
8.Fichierstexte
Rappel
8.1LeprogrammeMinusCol
cestunelettre,sinonrenvoiecinchange. desenminuscules. 3)Ouvertureetfermeture
chiers. 4)GestiondeserreursEnTPuniquement
surnom2. 5)Caractereparcaractere
6)Ligneparligne
7)Unmotparligne
8)Programmeprincipal
endessousdesautres. Correction
1)FunctionMinusCar(c:char):char;Begin
End; 2)ProcedureMinusLig(vars:ligne_t);
Vari:integer;Beginfori:=1tolength(s)do
s[i]:=MinusCar(s[i]);End; rewrite(f2);CasseFi(f1,f2);close(f1); close(f2);End;quotesdbs_dbs46.pdfusesText_46