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

Structures élémentaires de contrôle

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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