Escolar Documentos
Profissional Documentos
Cultura Documentos
Définition du bloc IF
Algorithmique 1ère année Syntaxe : if condition then + « condition » est une
Initiation à la programmation - Ada (6/6) B expression booléenne
else
B0 + B et B0 sont des blocs de code.
Didier Le Botlan end if ;
INSA
contact.lebotlan@insa-toulouse.fr Exécution du bloc IF :
1 – La condition est évaluée à vrai ou faux (True ou False) ;
1er semestre 2009–2010 2a – Si c’est vrai, le bloc B est exécuté (mais pas B0 )
2b – Si c’est faux, le bloc B0 est exécuté (mais pas B)
3 – Le bloc IF est terminé lorsque le bloc exécuté (B ou B0 )
est terminé.
http://wwwdgeinew.insa-toulouse.fr/~lebotlan/index.html
1 / 16 2 / 16
Définition de procédure (à placer avant le begin du programme) Un bloc IF n’est pas magique.
Cette fonction affiche la catégorie au judo selon le poids indiqué. Voici un sous-programme (on ne montre pas la partie avec les with) :
procedure Tapis_Roulant is
procedure Categorie_Hommes (Poids : Integer ) is
begin Largeur : Float ;
i f Poids < 60 then Txt . Put_Line( "Super leger" ) ; Largeur_Max : constant Float := 100.0 ;
elsif Poids <= 66 then Txt . Put_Line( "Mi leger" ) ; begin
elsif Poids <= 73 then Txt . Put_Line( "Leger" ) ; i f Largeur > Largeur_Max then Sonner_Alarme ;
elsif Poids <= 81 then Txt . Put_Line( "Mi moyen" ) ; end i f ;
elsif Poids <= 90 then Txt . Put_Line( "Moyen" ) ;
Largeur := Outil . Mesurer_Largeur ;
elsif Poids <= 100 then Txt . Put_Line( "Mi lourd" ) ;
Tapis .Avancer ;
else Txt . Put_Line( "Lourd" ) ;
Largeur := Outil . Mesurer_Largeur ;
end i f ;
Tapis .Avancer ;
end Categorie_Hommes ;
end Tapis_Roulant ;
Il est inutile de mettre la condition Poids > 100 pour le dernier cas.
Pour que le bloc if soit utile, il faut l’exécuter après chaque mesure.
3 / 16 4 / 16
Le bloc FOR en une page Le bloc WHILE
5 / 16 6 / 16
7 / 16 8 / 16
Initialisation Accès aux attributs
Déclaration et initialisation
rs
Duree_du_Cours : Une_Duree := (1,15,0.0) ; C ou
u _
_d
u ree = 0
D Heures
Une manière équivalente d’initialiser la variable : Minutes = 30
Duree_du_Cours : Une_Duree := (Heures => 1, Secondes = 0.0
Minutes => 15,
Secondes => 0.0) ;
Accès aux attributs
Duree_Du_Cours.Heures := 0 ;
Les cadres sont typés avec la règle « Construction d’un article » Duree_Du_Cours.Minutes := Duree_Du_Cours.Minutes * 2 ;
` (1, 15, 0.0) ∈ Une_Duree
` (Heures => 1, Minutes => 15, Secondes => 0.0) ∈ Une_Duree L’accès se fait par notation pointée (comme pour les acteurs).
9 / 16 10 / 16
Exemple Exemple
11 / 16 12 / 16
Exemple Exemple
13 / 16 14 / 16
Exemple Exemple
15 / 16 16 / 16