algorithmique et programmation en deust @mrl
DESCRIPTION
Algorithmique et programmation en Deust @mrl. Itérations (boucles) Types numériques simples (suite). Itérations. objectif répéter une ou plusieurs instructions sous certaines conditions quelles instructions comment répéter. Exemple minimum. donner à une variable n les valeurs successives - PowerPoint PPT PresentationTRANSCRIPT
1
Algorithmique et programmation en Deust @mrl
Itérations (boucles)
Types numériques simples (suite)
2
Itérations
• objectifrépéter une ou plusieurs instructions sous certaines conditions
• quelles instructions
• comment répéter
3
Exemple minimum
n:=1;
n:=2;
n:=3;
n:=4;
donner à une variable n les valeurs successives
1, 2, 3 et 4
méthode simple :
4
n:=1;
répéter
n:=n+1;
jusqu’à ce que n dépasse 4
Exemple minimumN v a u t 1
N a u gm e nte d e 1
P ha se initia le
P ha se ré p é té e
F a u t-ilré p é te r ?o u i n o n
méthode avec boucle :
on utilise n ici
5
Boucle Repeat
• répéter...jusqu’à ce qu’une condition soit remplie
• repeat instructionsuntil exp logique;
6
Repeat (exemple 1)
var n:integer;
begin
n:=1;
repeat
n:=n+1;
until n>4;
end;
7
Boucle While
• tant qu’une condition est remplie, faire ...
• while exp logique do begin instructionsend;
8
While (exemple 1)
var n:integer;
begin
n:=1;
while n<=4 do begin
n:=n+1;
end;
end;
9
Boucle For
• pour les valeurs successives d’un compteur faire ...
• For variable := début To fin do begin instructionsend;
• la variable compteur
• début et fin cas Downto
10
For (exemple 1)
var n:integer;
begin
for n:=1 to 4 do begin
end;
end;
11
Premier bilan
• repeat : test avant de répéter
• while : test avant l’entrée
• for : nombre de rotations bien contrôlécompteur géré automatiquementmais entier et variant de 1 en 1-1 si downto
12
While (exemple 2)
• on veut déplacer vers la droite un composant Label tant que son bord gauche n'a pas atteint ou dépassé une position qu’on se fixe
• algorithme :
tant que propriété Left du composant<=position
on modifie Left
13
While (exemple 2)
var position:integer;
begin
position:=20; {par exemple}
while Label1.Left<=position do begin
Label1.Left:=Label1.Left+1;
end;
end;
14
Repeat (exemple 2)
• on veut déplacer un composant Label vers la gauche jusqu'à ce qu'il touche le bord gauche de la fiche
• algorithme :
on place le bord gauche du composant (Left),
on répète
la diminution de Left de un
jusqu'à ce que Left soit égal à zéro
15
Repeat (exemple 2)
begin
Label1.Left:=50; {par exemple}
repeat
Label1.Left:=Label1.Left-1;
until Label1.Left=0;
end;
16
For (exemple 2)
• on veut calculer la somme des 20 premiers nombres entiers positifs
• algorithme :on initialise cette somme à zéro,pour chaque valeur de p allant de 1 à 20 on ajoute p à la somme précédente
17
For (exemple 2)
var p,Somme:integer;
begin
Somme:=0;
for p:=1 to 20 do begin
Somme:=Somme+p;
end;
end;
18
Types entiers• Byte 0 à 256 1 octet
• Integer -2 milliards à 2 milliards 4 octets(rappel) Types non entiers
valeur abs. chiffres octets
• Real 10-324 .. 10308 15-16 8
• Extended 10-4932 .. 104932 19-20 10les propriétés Value rencontrées sont de type extended