Déroulement Aujourd`hui Ingrédients d`algorithmes Typage Typage

23/09/2008
1
Algorithmes et
structures de données
(avancées)
Cours 3
Patrick Reuter
http://www.labri.fr/~preuter/asd2008
Déroulement
CM mardi de 8h à 9h (salle 33)
•TD
- Groupe 1 : mardi, 13h30 – 15h00 (salle 51D)
- Groupe 2 : mardi, 15h15 – 16h45 (salle 51D)
(en alternance: salle TD et salle machine)
(rendre la feuille à la prochaine séance)
Aujourd'hui
• Rappel
Les tableaux
cet après-midi: salle TD
Ingrédients d’algorithmes
• Variables
• Affectation
• Condition/Comparaison
Appel de fonction
Structure de contrôle
– Bloc d'instruction
– Branchements conditionnels
– Branchements conditionnels (multiples)
– Boucles
Typage
•PHP:
typage dynamique et faible
Æ
le type n
'
est pas associé au nom de la
Æ
le
type
nest
pas
associé
au
nom
de
la
variable
Æle type est encodé dans la donnée elle-même
Comparer: Delphi/Pascal
- typage statique et fort
Typage dynamique et faible
Types différents dans le même algorithme
a = 1;
a = 1 + 3;
afficher(a);
--> pas possible en Delphi, p.ex.
a = "Maintenant c'est un texte";
afficher(a);
23/09/2008
2
Typage dynamique et faible
Types différents dans le même algorithme
a = 1;
a = 1 + 3;
afficher(a);
a = "Maintenant c'est un texte";
afficher(a);
$a = 1;
$a = 1 + 3;
echo $a;
$a = "Maintenant c'est un texte";
echo $a;
Ingrédients d’algorithmes
• Variables
• Affectation
• Condition/Comparaison
A
ppel de fonction
Structure de contrôle
– Bloc d'instruction
– Branchements conditionnels
– Branchements conditionnels (multiples)
– Boucles
Appel de fonctions
Exemples :
afficher du texte à l'écran
– générer les nombres aléatoires
Ingrédients d’algorithmes
Appel de fonctions, p.ex.
afficher("Bonjour tout le monde");
En PHP :
echo "Bonjour tout le monde";
Ingrédients d’algorithmes
Appel de fonctions: nombre aléatoires,
p.ex.
b d(1 49)
nom
b
re = ran
d(1
,
49)
En PHP :
$nombre = rand(1, 49)
Ingrédients d’algorithmes
Appel de fonctions: nombre aléatoires,
p.ex.
dd(16)
d
es = ran
d(1
,
6)
En PHP :
$des = rand(1, 6)
23/09/2008
3
Faire tourner un algorithme
Ingrédients d’algorithmes
• Variables
• Affectation
• Condition/Comparaison
A
ppel de fonction
Structure de contrôle
– Bloc d'instruction
– Branchements conditionnels
– Branchements conditionnels (multiples)
– Boucles
Ingrédients d’algorithmes
Structure de contrôle
Branchements conditionnels
Ingrédients d’algorithmes
Structure de contrôle
Branchements conditionnels
SI
<
condition
>
ALORS
SI
condition
ALORS
<bloc d’instructions>
[SINON
<bloc d’instructions>]
Ingrédients d’algorithmes
Structure de contrôle
Branchements conditionnels
SI
<
condition
>
ALORS
Exemple:
SI
condition
ALORS
<bloc d’instructions>
SINON
<bloc d’instructions>
SI (score>meilleur_score) ALORS
meilleur_score = score;
23/09/2008
4
Ingrédients d’algorithmes
Structure de contrôle
Branchements conditionnels
SI
<
condition
>
ALORS
Exemple:
SI
condition
ALORS
<bloc d’instructions>
SINON
<bloc d’instructions>
SI (score>meilleur_score) ALORS
meilleur_score = score;
afficher ("vous avez battu le score!");
Ingrédients d’algorithmes
Structure de contrôle
Branchements conditionnels
SI
<
condition
>
ALORS
Exemple:
SI
condition
ALORS
<bloc d’instructions>
SINON
<bloc d’instructions>
SI (score>meilleur_score) ALORS
meilleur_score = score;
afficher ("vous avez battu le score!");
NON !!
Ingrédients d’algorithmes
Bloc d'instruction
Ingrédients d’algorithmes
Bloc d'instruction
permet de regrouper plusieus instructions dans le
même contexte de l'algorithme
Sont définie par:
En algorithmes :
En PHP:
DEBUT
FIN
{
}
Ingrédients d’algorithmes
Bloc d'instruction
SI (score>meilleur_score) ALORS
DEBUT
if ($score>$meilleur_score)
{$meilleur_score = $score;
echo "vous avez battu le score!";
}
meilleur_score = score;
afficher ("vous avez battu le score!");
FIN
Ingrédients d’algorithmes
Bloc d'instruction SI <condition> ALORS
<bloc d’instructions>
SINON
<bloc d’instructions>
SI (score>meilleur_score) ALORS
if ($score>$meilleur_score)
{$meilleur_score = $score;
echo "vous avez battu le score!";
}
meilleur_score = score;
afficher ("vous avez battu le score!");
FIN
23/09/2008
5
Structogramme
Diagramme Nassi-Shneidermann
("structogramme")
Exercice
Affecter les variables a1 et a2 avec un
nombre entier aléatoire entre 1 et 100
Affecter la variable max avec la plus
grande valeur de
a1
et
a2
grande
valeur
de
a1
et
a2
(autrement dit: max contiendra la valeur de a1
si a1 est plus grand que a2, et a2 sinon
Afficher la variable max
Ebaucher le structogramme
Exercice
• Solution
a1 = rand(1,100)
a2 = rand(1 100)
a2
=
rand(1
,
100)
SI (a1>a2) ALORS
max = a1
SINONmax = a2
afficher(max)
Exercice
• Solution
a1 = rand(1,100)
a2 = rand(1 100)
$a1 = rand(1,100);
$a2 = rand(1,100);
i
f
($
a1>
$
a2
)
a2
=
rand(1
,
100)
SI (a1>a2) ALORS
max = a1
SINONmax = a2
afficher(max)
($ $ )
$max = $a1;
else $max = $a2;
echo $max;
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !