[PDF] [PDF] cours free pascal - D DUBOIS, ESTIT

Le Pascal est facile à enseigner et à apprendre : il permet d'écrire des un langage de programmation, ici le langage Pascal, permettant de produire des 



Previous PDF Next PDF





[PDF] Algorithmes et programmation en Pascal Cours

Algorithmes et programmation en Pascal Faculté des Sciences de Luminy 23 III Les instructions en Pascal 24 teur : 16 pour Turbo Pascal, 32 pour Delphi



[PDF] Algorithmes et programmation en Pascal TD corrigés

Algorithmes et programmation en Pascal Faculté des Sciences de Luminy Sous Turbo Pascal, vu que maxint = 32767, on aurait dû déclarer ns comme un



[PDF] 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



[PDF] Cours et exercices corrigés en Pascal - CHIHI Lotfi

En DEUG A, les premiers cours d'informatique commencent traditionnellement par des notions d'algorithmique et l'apprentissage d'un langage de programmation 



[PDF] Tutoriel Pascal

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, de prétendre 



[PDF] Le langage PASCAL - Patrick TRAU

Néanmoins le Pascal reste bien meilleur pour le débutant et le programmeur moyen : parfaitement structuré et clair, il conduit rapidement à un programme de  



[PDF] cours free pascal - D DUBOIS, ESTIT

Le Pascal est facile à enseigner et à apprendre : il permet d'écrire des un langage de programmation, ici le langage Pascal, permettant de produire des 



[PDF] ALGORITHMIQUE et TURBO-PASCAL Initiation à la programmation

TURBO-PASCAL pour Windows : Un environnement intégré niveau en stockant les bons octets aux bons endroits ( adresses ), mais ce n'est pas facile



[PDF] le Langage PASCAL - Free

pour bien programmer en C) De plus le C est plus utilisé dans mon environnement d'informaticiens Néanmoins le Pascal reste bien meilleur pour le débutant 

[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

[PDF] Langue étrangere

Introduction à l'algorithmique ...... Application au langage Pascal(c) F. Bonnardot, Février 2005

Qu'est ce qu'un algorithme ?Qu'est ce qu'un algorithme ?Définition :Ensemble d'instructions qui permettent à une personne ou à une machine d'obtenir à partir de données la solution

d'un problème en un nombre fini d'étapes.Exemple :Calcul des racines x1 et x2 d'un polynôme du second ordre : ax2+bx+c dans R.Algorithme :Calcul des racines d'unpolynôme du 2nd ordreCoefficientsa, b et cRacinesx1 et x2

Comment obtenir les données ? Comment obtenir les données ? Indiquer les résultats ?Indiquer les résultats ?Algorithme :Calcul des racines d'unpolynôme du 2nd ordreCoefficientsa, b et cRacinesx1 et x2

Sorties :Écran, Haut-parleur, Fichier sur disque, Imprimante, Variable en mémoire, ...Entrées :Clavier, Micro, Scanner, Webcam, Fichier sur disque, Variable en mémoire, ...Unité centrale

Imprimante

Scanner

Ecran, clavier,

souris

Unités de

stockage

Comment décrire l'algorithme ? Comment décrire l'algorithme ? (1/2)(1/2)Langage machine :Suite de nombres directement compréhensibles par l'ordinateur.Assembleur :Suite de commandes qui seront directement traduites en langage machine.program_init:

pushl%ebp movl%esp,%ebp subl$4,%esp movb$1,U_SYSWIN32_ISCONSOLE callFPC_INITIALIZEUNITS .L4: lealU_SYSWIN32_OUTPUT,%edi movl%edi,-4(%ebp) pushl.L9 pushl-4(%ebp) pushl$0 callFPC_WRITE_TEXT_ANSISTR pushl-4(%ebp) callFPC_WRITE_END pushl$.L4

callFPC_IOCHECKProblèmes :Jeu d'instruction de l'ordinateur limité(beaucoup de texte à écrire)Instructions différentes d'un µP à l'autre(re-écrire pour chaque µP)Code difficile à lireAvantage : rapidité, ...

Comment décrire l'algorithme ? Comment décrire l'algorithme ? (2/2)(2/2)Langages de haut niveau :Langage proche du langage parlé (par les anglophones).Avantages :Indépendant de l'ordinateur (+ ou -)(fonctionne sur PC, Mac, Unix, ...)Lisibilité accrueInstructions " assez performantes »écriture sur l'écran, lecture de texte, ...Program Chiffre;

{ Demande de saisir un chiffre et recopie ce chiffre } Var a : integer; { Chiffre lu } Begin { Demande du chiffre } write ('Entrez un chiffre : ');readln (a); { Recopie le chiffre } writeln ('Vous avez tapé ',a); End.

CompilateurLangage de

haut niveauLangage machineExécutableOn utilise un compilateur pour traduire le programme en langage machine.

Quel langage ?Quel langage ?Beaucoup de langages de programmation (Grafcet, Calculatrice, C++, ...)On étudiera ici le PascalN.B. : Delphi permet de programmer windows en PascalMéthode :1°) On écrit d'abord l'algorithme en Français (pseudo-langage)=> On réfléchit (étape d'analyse)2°) On le traduit ensuite en Pascal=> On adapte pour un ordinateur et un langageL'étape 1 est la plus difficile... => livres d'algorithmieL'étape 2 est la plus facile => Livres d'apprentissage de Pascal, C++, ...

Exemple : Racines d'un polynôme Exemple : Racines d'un polynôme du second ordre dans R (1/4)du second ordre dans R (1/4)Analyse :D'après le cours de maths de 1èreOn calcule D=b²-4acSi D<0 alors pas de racine dans RSi D=0 alors racine double x=-b/(2a)Si D>0 alors deux racines :x1=-[b-sqrt(delta)]/(2a)x2=-[b+sqrt(delta)]/(2a)Algorithme :Calcul des racines d'unpolynôme du 2nd ordreCoefficientsa, b et cRacinesx1 et x2

Étape 1 : Demander à l'utilisateurde saisir a, b et cÉtape 2 : Calcul de D Étape 3 : Selon D calcul et affichagedes racines

Forme simplifiée d'un programmeForme simplifiée d'un programmeRemplacer les < >Remplacer les < >Programme

Variables utilisées :

: ; , :

Début du programme

Fin du programme

Program ;

Var : ; , : ; ; Begin ; ;

End.En Pascal,Pas d'accent ni d'espacepour les nomset les instructions.Chiffres utilisablesà partir du 2nd

caractère.

Exemple : Racines d'un polynôme Exemple : Racines d'un polynôme du second ordre dans R (2/4)du second ordre dans R (2/4)Étape 1 : Demander à l'utilisateurde saisir a, b et cÉtape 2 : Calcul de D

Étape 3 : Selon D calcul et affichagedes racinesInstruction : LireLire a, b, cÉcriture en pseudo-langage :Utilisation de 4 variables identifiées a, b, c et deltaInstruction : ÉcrireÉcrire " Bonjour »

Affectation :delta <- b*b-4*a*c

Instruction : ÉcrireÉcrire " Delta= »,delta Texte à écrire entre guillemetsValeur de la variable delta : pas de guillemet

Exemple : Racines d'un polynôme Exemple : Racines d'un polynôme du second ordre dans R (3/4)du second ordre dans R (3/4)Programme Racines Polynôme ordre 2Variables utilisées :a,b,c,delta : nombres réels

Début du programmeÉcrire " Entrez les coefficients a, b, c »Lire a, b, c delta <- b*b-4*a*c

Si delta<0 Alors

Écrire " delta<0, pas de solution dans R »SinonSi delta=0 Alors

Écrire " Racine double : x1= »,-b/2/a

SinonDébutÉcrire " delta>0, deux racines »Écrire " x1= »,-(b-sqrt(delta))/2/a

Écrire " x2= »,-(b+sqrt(delta))/2/a

FinFin du programmeNom du programmeType des variablesNom des variablesTestDécalage pourplus de lisibilitéToute variableutilisée doit êtredéclarée (permet dedétecter les fautes defrappe)

Exemple : Racines d'un polynôme Exemple : Racines d'un polynôme du second ordre dans R (4/4)du second ordre dans R (4/4)Programme Racines Polynôme ordre 2

Variables utilisées :

a,b,c,delta : nombres réels

Début du programme

Écrire " Entrez les coefficients a, b, c »Lire a, b, c delta <- b*b-4*a*c

Si delta<0 Alors

Écrire " delta<0, pas de solution dans R »Sinon

Si delta=0 Alors

Écrire " Racine double : x1= »,-b/2/aSinonDébutÉcrire " delta>0, deux racines »Écrire " x1= »,-(b-sqrt(delta))/2/a

Écrire " x2= »,-(b+sqrt(delta))/2/a

FinFin du programmeProgram RacPoly;

Vara,b,c,delta : real;BeginWrite('Entrez les coefficients a, b, c');Read (a, b, c); delta := b*b-4*a*c; If delta<0 ThenWriteLn ('delta<0, pas de solution dans R') ElseIf delta=0 ThenWriteLn ('Racine double : x1= ',-b/2/a)

ElseBegin

WriteLn ('delta>0, deux racines');

WriteLn ('x1= ',-(b-sqrt(delta))/2/a);

WriteLn ('x2= ',-(b+sqrt(delta))/2/a);

End; End.

DémonstrationDémonstration

QuelquesQuelques types de données types de donnéesNombresRéels (-1.6e-4, 3.1415926...) : Real en Pascal

Étendue : 5.0E-324 à 1.7E308 sur µP 32 bits intelPrincipe : -1.6e-4 => 2 entiers : -0.16 et -3Entiers relatifs (-1, 54, ...) : Integer en PascalÉtendue : -231 à 231-1 (µP 32 bits) ; -215 à 215-1 (16 bits)231=2 147 483 648(231-1)+1=-231TexteChaîne de caractères ('Bonjour') : String en PascalVecteurs1 seul Caractère ('B') : Char en Pascal

Tableau 1D ([5 8 2 5]) : Array [1..4] of Real

MatricesTableau 2D ([ ]) : Array [1..2,1..3] of Real[8 5 8

6 1 0]

Exemple d'utilisation : voir page suivante ...LogiqueBooléen (True ou False) : Boolean en Pascal215=32 768

Utilisation de différents types deUtilisation de différents types dedonnées en Pascaldonnées en PascalProgram Donnees;

{ Programme de démonstration des types de données } {Variables utilisées } Var punit,ptot:real; (* prix unitaire, prix total *) quantite :integer; (* quantité commandée *) tva :real=0.206; (* tva *) reference :string; (* référence produit *)

b:array [1..3] of real; (* vecteur à 3 éléments*) c:array [1..3] of real=(1,5,9); (* vecteur à 3 éléments*) A:array [1..2,1..3] of real; (* matrice 2x3 *)

Begin punit:=1.30; quantite:=3; reference:='Stylo'; { Calcul du prix total } ptot:=quantite*punit; { Affiche le prix total } writeln ('Prix total de ',reference,': ',ptot); b [1]:=23;

A [2,1]:=9.9e3;

End.

Comment commenter un Comment commenter un programme en Pascalprogramme en PascalProgram ResistanceCu;

{ Ce programme calcul la résistance d'un fil de cuivre à partir de sa longueur et de la section } { Auteur : Frédéric Bonnardot } Uses WinCrt; { Uniquement pour Turbo Pascal Windows de Borland } Var section, longueur : real; { nombres saisis par l'utilisateur } resistance : real; { resistance du fil } begin { Lecture de la section et de la longueur du fil } write ('Section du fil de cuivre en mm2 : '); readln (section); write ('Longueur du fil de cuivre en m : '); readln (longueur); { Calcul } { Affichage du résultat } write ('La résistance du fil est : ',resistance:6:1,' mohms'); end. InstructionsInstructionsLes tests (si ... alors ...)Les tests (si ... alors ...)Si alors 2 variantes :Si alors sinon 1 seuleinstruction plusieursinstructionsDébut

FinIf Then

If Then

Else En Pascal :En Pascal : : (a=1 ou b≥2) et c≠1 s'écrit en Pascal (a=1 or b>=2) and c<>1 Begin ; ; End

Exemple de testExemple de testOn demande un nombre et on indique si il est positif ou négatifProgramme Signe nombre

Variables utilisées :

nombre : nombre entier

Début du programme

Écrire " Entrez un nombre : »

Lire nombre

Si nombre<0 alors

Écrire " Nombre négatif »

Sinon

Écrire " nombre positif ou nul»

Fin du programmeEtapes : 1) Demander le nombre 2) Selon le signe écrire positif ou négatifBesoins : une variable pour ranger le nombreProgramme Signe nombre v2

Variables utilisées :

nombre : nombre entier

Début du programme

Écrire " Entrez un nombre : »

Si nombre<0 alors

Écrire " Nombre négatif »

Sinon

Si nombre>0 alors

Écrire " nombre positif »

Sinon

Écrire " nombre nul »

Fin du programmeSi on considère que 0 est positif :Sinon :

InstructionsInstructionsLa sélection (selon ... faire)La sélection (selon ... faire)Selon

cas faire cas , faire autres cas faire

Fin selon

Case Of

: ; , : ;

Else

EndEn Pascal :FacultatifCase touche Of

'+' : WriteLn ('Somme : ',a+b); '*' : WriteLn ('Produit : ',a*b);

Else WriteLn ('Touche inconnue.')

EndExemple :

Exemple d'utilisation de selonExemple d'utilisation de selonOn lit deux nombres et on affiche un menu pour demander à l'utilisateursi il veut calculer la somme, le produit, le quotient de ces deux nombres.Programme Opérations

Variables utilisées :

a,b : nombres réels touche : caractère

Début du programme

{ Lecture des données}

Écrire " Saisir 2 nombres a et b »

Lire a,b

{ Affichage du menu }

Écrire " Pour calculer la somme, tapez + »

Écrire " Pour calculer le produit, tapez * » Écrire " Pour calculer le quotient, tapez / » touche <- touche enfoncée au clavier { Réaction selon cette touche }

Selon touche

cas '+' faire Écrire " La somme est »,a+b cas '*' faire Écrire " Le produit est »,a*b cas '/' faire Écrire " Le quotient est »,a/b autres cas faire Écrire " Je n'ai pas compris ce que vous voulez faire »

Fin Selon

Fin du programme

InstructionsInstructionsRépétition (faire ... jusqu'à)Répétition (faire ... jusqu'à)Faire

Jusqu'à En Pascal :Repeat

WriteLn ('Entrer un nombre supérieur à 7 : ');quotesdbs_dbs46.pdfusesText_46