Top Banner
Structures élémentaires de contrôle Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III
25

Structures élémentaires de contrôle

Feb 08, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Structures élémentaires de contrôle

Structures élémentaires decontrôle

Joël QuinquetonDépt MIAp, UFR IV

UPV − Université Montpellier III

Page 2: Structures élémentaires de contrôle

Algorithmique (rappels)

• La cohérence du programme (ducontenu) n'est pas examinée ouévaluée par le compilateur

• L'analyse du problème à traiter, lapreuve de la cohérence et de lapertinence de sa solution sont préalableà l’écriture du programme

Page 3: Structures élémentaires de contrôle

Algorithmique: la démarche

• On doit– fixer l'objectif du programme– établir la liste des données à manipuler et

des opérations à exécuter, et les ordonner.• La description de la suite des

opérations élémentaires ordonnéescapables de résoudre le problème poséconstitue un algorithme

Page 4: Structures élémentaires de contrôle

Structure générale

• Algorithme:– Imprimer(« bonjour »)

• Programme:<script type=« text/javascript »>Alert(« bonjour »);</script>

Page 5: Structures élémentaires de contrôle

Traitement d’une entréevariable

• Algorithme(entree):– Imprimer(« bonjour »)– Imprimer(entree)

• Programme:<script type=« text/javascript »>Var entree = « salut »Alert(« bonjour »);Alert(entree);</script>

Page 6: Structures élémentaires de contrôle

Condition sur une entrée• Algorithme(entree):

– Si (entree = « salut »)• Alors imprimer(« bonjour »)• Sinon imprimer(entree)

• Programme:<script type=« text/javascript »>Var entree = « salut »;If (entree==« salut »)Alert(« bonjour »);

Else Alert(entree);</script>

Page 7: Structures élémentaires de contrôle

Boucle itérative• Calcul de la somme des entiers de 1 à 10:

– Somme = 0, entier=0– Tant que (entier < 10)

• Somme = Somme + entier, entier = entier + 1– imprimer(Somme)

• Programme:<script type=« text/javascript »>Var somme = 0; var entier=0;While (entier < 10)

{somme = somme + entier; entier = entier + 1;}Alert(somme);</script>

Page 8: Structures élémentaires de contrôle

Boucle itérative « for »

• Calcul de la somme des entiers de 1 à 10:– Somme = 0– Pour (entier de 1 a 10)

• Somme = Somme + entier– imprimer(Somme)

• Programme:<script type=« text/javascript »>Var somme = 0; var entier=0;for (entier = 0; entier < 10; entier=entier + 1)

{somme = somme + entier;}Alert(somme);</script>

Page 9: Structures élémentaires de contrôle

Algorithmique

• Techniques de tris élémentaires– Qu'est-ce qu'un tri?– On suppose qu'on se donne une suite de N

nombres entiers et on veut les ranger en ordrecroissant au sens large.

Ainsi, pour N = 10, la suite18, 3, 10, 25, 9, 3, 11, 13, 23, 8

devra devenir3, 3, 8, 9, 10, 11, 13, 18, 23, 25

Page 10: Structures élémentaires de contrôle

Tri par sélection

• On trie N nombres entiers, rangés dansun tableau

• Tri par sélection (le plus simple)– Trouver l'emplacement de l'élément le plus

petit du tableau : l'entier m tel que, pourtout i, am ≤ ai

– On échange les éléments a1 et am– Puis on recommence ces opérations sur la

suite a2, a3, ..., aN

Page 11: Structures élémentaires de contrôle

Tri par sélection

• Cette solution utilise la solution à unsous-problème– La recherche de la position du plus petit

élément d’un tableauindElmtMin = 0 // pos de l’élmt min courantj = 0tant que j < N faire { si (T[j] < T[indElmtMin]) alors indElmtMin = j j = j + 1}

Page 12: Structures élémentaires de contrôle

Tri par sélection

18, 3, 10, 25, 9, 3, 11, 13, 23, 8

indElmtMin

j

18, 3, 10, 25, 9, 3, 11, 13, 23, 8

indElmtMin

j

Page 13: Structures élémentaires de contrôle

Tri par sélection

18, 3, 10, 25, 9, 3, 11, 13, 23, 8

indElmtMin

j

18, 3, 10, 25, 9, 3, 11, 13, 23, 8

indElmtMin

j

Page 14: Structures élémentaires de contrôle

Tri par sélectiontriSelection { min = 0 i = 0 tant que i < N - 1 faire { min = i j = i + 1 tant que j < N faire { si (T[j] < T[min]) alors min = j j = j + 1 } echanger(i, min) i = i + 1}

Page 15: Structures élémentaires de contrôle

Tri par sélection

18, 3, 10, 25, 9, 3, 11, 13, 23, 8

3, 18, 10, 25, 9, 3, 11, 13, 23, 8

3, 3, 10, 25, 9, 18, 11, 13, 23, 8

Page 16: Structures élémentaires de contrôle

Tri par sélectiontriSelection { min = 0 i = 0 tant que i < N - 1 faire { min = i j = i + 1 tant que j < N faire { si (T[j] < T[min]) alors min = j j = j + 1 } echanger(i, min) i = i + 1}

Page 17: Structures élémentaires de contrôle

Tri par sélectiontriSelection { t, min = 0 i = 0 tant que i < N - 1 faire { min = i j = i + 1 tant que j < N faire { si (T[j] < T[min]) alors min = j j = j + 1 } t = T[j], T[j] = T[min], T[min] = t i = i + 1}

Page 18: Structures élémentaires de contrôle

Tri par sélection

• Ses performances ?– Evaluation du coût de l ’algorithme– Combien d’opérations doit-on effectuer

pour trier un tableau de N entiers ?

Page 19: Structures élémentaires de contrôle

Tri par sélectiontriSelection { t, min = 0 i = 0 tant que i < N - 1 faire { min = i j = i + 1 tant que j < N faire { si (T[j] < T[min]) alors min = j j = j + 1 } t = T[j], T[j] = T[min], T[min] = t i = i + 1}

N échanges:

Page 20: Structures élémentaires de contrôle

Tri par sélectiontriSelection { t, min = 0 i = 0 tant que i < N - 1 faire { min = i j = i + 1 tant que j < N faire { si (T[j] < T[min]) alors min = j j = j + 1 } t = T[j], T[j] = T[min], T[min] = t i = i + 1}

N-i comparaisons:

Page 21: Structures élémentaires de contrôle

Tri par sélection

• Coût de l’algorithme

2)1(

12

0

!=!!+"

!

=

NNiNN

N

i

Echanges

Comparaisons

Page 22: Structures élémentaires de contrôle

Tri par sélection

• Coût de l’algorithme

Taille du tableau

Tempsd’exécution

Page 23: Structures élémentaires de contrôle

Les objets en Javascript• Structure hiérarchique• Pré

– Arbre• Branche

– nid• Tronc

– Balançoire• nid

• Désignation: Pré.arbre.branche.nid

Page 24: Structures élémentaires de contrôle

Accéder à la page

• La structure d’une page est hiérarchique:• document

– images[]• src• width

– forms[]– title– body– …

• <img src=« fichier.jpg »>– document.images[0].src

Page 25: Structures élémentaires de contrôle

Modifier la page

• Document.write(«  le texte qui varemplacer celui de la page »);– Remplace le contenu de la page– Ne peut être utilisé qu’une fois– Peut (et doit?) contenir des balises HTML

• Permet à la page de se modifier elle-même pendant son affichage