end - Free

publicité
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;
a : boolean;
r : real;
s : string[30];
{ déclaration de i de type entier }
{ déclaration de a de type booléen }
{ déclaration de r de type réel }
{ déclaration de s de type chaîne lng 30 }
Traduction en Pascal
• Utilisation de variables:
– Affectation:
Begin
i := 3;
s := ‘’Hello world !’’;
End.
{ affecte 3 à i }
{ affecte « hello world ! » à s }
- Lecture et affichage:
Begin
readln(i);
writeln(‘valeur de i: ‘, i);
readln;
End.
{ attend la saisie de i au clavier }
{ écrit : « valeur de i: 3 » }
{ é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)
Téléchargement