[PDF] Algorithmes et programmation en Pascal



Previous PDF Next PDF







Algorithmes et programmation en Pascal

6 Algorithmes et programmation en Pascal Edouard Thiel I Les variables en Pascal 1 Premiers programmes 1 1 Le programme bonjour Un programme est une suite d’instructions, certaines etan t des mots cl es Ce programme a che la cha^ ne de caract eres < Bonjour > a l’ ecran : PROGRAM bonjour; BEGIN writeln (’Bonjour’); END



Algorithmes et programmation en Pascal

5 1 Le programme AppaLet 19 6 Tableaux, record et string 23 6 1 Le programme RendezV 23 6 2 Cryptage 25 7 D etection de mots 27 7 1 Le programme ColEcran 27 8 Fichiers texte 31 8 1 Le programme MinusCol 31 9 Recherche dans un chier 35 9 1 Recherche de mots 35 9 2 Le programme NuMots 37



Cours et exercices corrigés en Pascal

En DEUG A, les premiers cours d'informatique commencent traditionnellement par des notions d'algorithmique et l'apprentissage d'un langage de programmation Cette première approche est discutable car elle implique un grand nombre d'impasses et les étudiants ne perçoivent paradoxalement qu'un monde relativement étriqué



le Langage PASCAL - Free

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



Turbo Pascal - Télécharger et lire cours informatique en PDF

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



Langages de programmation 2012 - AlloSchool

Problème Enoncé algorithme Programme 3-Langage PASCAL Langage pascal est un Langage structuré qu'on utilise souvent pour débuter la programmation 4- Structure d’un programme en langage Pascal Un programme PASCAL est composé de trois parties : l’entête, partie déclarative et le corps



Rechercher un cours (Recher cher un cours) Mes cours ALP2101

Soit un programme en langage pascal, veuillez corriger les erreurs ou compléter le programme en remplissant les trous : NB : 1 Ne mettez pas d'espace entre les valeurs que vous rentrez 2 Toutes les valeurs doivent être en minuscules 3 Les writeln ayant les symbole suivant //* doivent permettre d'avoir une résultat sous le format 10+3=13

[PDF] programme entrainement musculation

[PDF] Programme entre 2 calculs

[PDF] Programme équation

[PDF] programme erasmus c'est quoi

[PDF] programme es maths première

[PDF] programme espagnol lycée

[PDF] programme espagnol terminale algerie

[PDF] programme et exercice ce2

[PDF] programme feria de bayonne 2017

[PDF] programme fonction ti 83

[PDF] programme formation tre

[PDF] programme forme canonique

[PDF] programme forme canonique ti 82 advanced

[PDF] programme français 1ere s 2017

[PDF] programme francais 1ere stmg

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(ns1Correction

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; err:integer;Beginerr:=0; assign(f1,nom1);assign(f2,nom2); iferr=0thenbegin end; iferr=0thenCasseFi(f1,f2);

CasseNom:=err;End;

TDDeug1MassMA,1997a200433

cule.

ProcedureCasseFi(varf1,f2:text);

Varc:char;Beginwhilenoteof(f1)do

beginread(f1,c);write(f2,MinusCar(c)); end;End; whilenoteof(f1)dobeginreadln(f1,s);

MinusLig(s);writeln(f2,s);end;

End; uneprocedureAffiMotFi.

Beginwhilenoteof(f1)dobegin

readln(f1,s);MinusLig(s); i:=DetecteDebut(s,1); whilei<>0dobeginj:=DetecteFin(s,i); fork:=itojdowrite(f2,s[k]);writeln(f2); i:=DetecteDebut(s,j+1);end; end;End;

8)PROGRAMMinusCol;

VARn1,n2:ligne_t;BEGIN

END.

TDDeug1MassMA,1997a200435

9.Recherchedansunchier

d'erreural'ouverturedeschiers.

9.1Recherchedemots

nombredemotspresentsdanslechiernomf. leplust^otpossible.

5)Programmeprincipal

Correction

Beginassign(f,nomf);reset(f);n:=0;

whilenoteof(f)dobeginreadln(f,s); iflength(s)>0thenn:=n+1;end; close(f);NombreMots:=n;End; end; close(f);RechercheMot:=trouve; End; assign(f,nomf);reset(f);n:=0; whilenoteof(f)do beginreadln(f,s);ifs=mthenn:=n+1; end; close(f);CompterMot:=n; End; whilenoteof(f)andcontinuerdo beginreadln(f,s);ifs=mthenn:=n+1quotesdbs_dbs48.pdfusesText_48