Algorithmique Algorithmique Pascal Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 09/10/2003 Dernière modification: 09/10/2003
Introduction Ce cours est destiné à faciliter le passage de l’algorithme à un langage de programmation L’algorithmique facilite ce passage car la logique est la même. Il ne reste qu’à traduire dans le langage voulu les instructions algorithmiques
Introduction Nous allons nous intéresser dans un premier temps au langage Pascal Facilité de traduction depuis l’algorithme en français Rigueur de programmation: les erreurs de langage sont peu pardonnées Rigueur de programmation: les erreurs d’algorithmes se détectent vite …
Traduction en Pascal Déclarations de variables: Le bloc de déclaration en début de programme se note: Var i : integer; { déclaration de i de type entier } a : boolean; { déclaration de a de type booléen } r : real; { déclaration de r de type réel } s : string[30]; { déclaration de s de type chaîne lng 30 }
Traduction en Pascal Utilisation de variables: Affectation: Begin i := 3; { affecte 3 à i } s := ‘’Hello world !’’; { affecte « hello world ! » à s } End. Lecture et affichage: readln(i); { attend la saisie de i au clavier } writeln(‘valeur de i: ‘, i); { écrit : « valeur de i: 3 » } readln; { évite que la fenêtre DOS ne se ferme }
Traduction en Pascal Utilisation de Delphi: Ouvrir Démarrer/Programmes/Développement/Pascal Objet/Borland Delphi 7/Delphi 7 Enregistrer Delphi pour votre compte utilisateur (voir avec le prof) Fichier / Nouveau / Autre … Choisir « Application console »
Traduction en Pascal Utilisation de Delphi: Program Project1; {$APPTYPE CONSOLE} Uses SysUtils; begin { TODO –oUser –cConsole Main: placez le code ici } end.
Traduction en Pascal Utilisation de Delphi: Program Project1; {$APPTYPE CONSOLE} Uses SysUtils; Var i : integer; begin write(‘Entrez i: ‘); readln(i); writeln(‘Valeur de i: ‘, i); readln; end.
Traduction en Pascal Traduction du si—alors--sinon: … if i = 0 then writeln(‘i est nul’) else writeln(‘i est non nul’); writeln(‘blahblah’);
Traduction en Pascal Traduction du si—alors--sinon: if i = 0 then begin writeln(‘i est nul’); writeln(‘lskdjldkj’); end else begin writeln(‘i est non nul’); writeln(‘blahblah’); end; …
Traduction en Pascal Utilisation des boucles: Boucle Pour: … for i:=0 to 4 do begin writeln(‘entrez la valeur …’); readln(tmp); end; writeln(‘blahblah’);
Traduction en Pascal Utilisation des boucles: Boucle Tant que: … while (i<=j) and (not premier) do begin writeln(‘entrez la valeur …’); readln(i); end; writeln(‘blahblah’);
Traduction en Pascal TP Machine (Pascal) Faire un programme qui demande à l’utilisateur d’entrer une phrase, puis écrire cette phrase … Faire un programme qui calcule la factorielle d’un nombre n saisi au clavier par l’utilisateur (traduction de l’algorithme fait en exercice en cours) Faire les traductions en Pascal des algos portant sur les nombres premiers (exercices vus en cours)