LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Algorithme

TD : Algorithme. Recherche parmi 298 000+ dissertations

Par   •  14 Juin 2022  •  TD  •  1 330 Mots (6 Pages)  •  215 Vues

Page 1 sur 6

INF1220

TRAVAIL NOTÉ 1

Introduction à la programmation

PREMIER PROBLÈME

Algorithme sommeElementTableauSup100

// Retourne VRAI si la somme des éléments (nombres positifs) d’un tableau de taille

// quelconque est supérieure à 100 ; autrement retourne FAUX.

Entrées :

Nombre tableau[ ]        // Tableau de nombres positifs de taille quelconque.

Variables :

Nombre somme = 0

Entier index = 0         // Entier long : il faut pouvoir évaluer des tableaux de            

           // “mille milliards d’éléments” (ref. indice 3).

Sortie :

Valeur booléenne        // Retourne VRAI ou FAUX

DÉBUT

  1.    TANT QUE index < taille de tableau FAIT
  2.       somme = somme + tableau[index]
  3.       SI somme > 100 ALORS
  4.          RETOURNE VRAI 
  5.       FIN SI
  6.       index = index + 1
  7.    FIN TANT QUE
  8.    RETOURNE FAUX

FIN

Explications : Dans un mouvement itératif au travers du tableau (ligne 1), l’algorithme calcule la somme de chaque nombre du tableau avec la somme totale des nombres précédents, l’ajoutant à ce total (ligne 2). Aussitôt que cette somme est supérieure à 100, l’algorithme s’arrête en retournant la valeur VRAI (ligne 4). Autrement, l’algorithme atteint la fin du tableau (fin de la boucle TANT QUE) sans que la somme soit supérieure à 100 ; il quitte alors en retournant la valeur FAUX (ligne 8).

Nombres : La consigne ne spécifie pas quel type de nombres avec lesquels l'algo doit travailler (entiers ou réels). On déclare donc les variables de type "nombre" pour tableau et somme, supposant des entiers OU des réels, selon l'implantation. Un test est réservé pour tester un tableau de réels (test E); les autres tests supposent des entiers.

Efficacité : Il n’est pas nécessaire d’évaluer la somme de l’ensemble des éléments du tableau. Il suffit de tester après chaque itération si la nouvelle somme totale dépasse 100, ce que fait la condition SI à la ligne 3. Ainsi, même s’il y a “mille milliards” éléments, l’algorithme n’a à évaluer que les premiers éléments dont la somme combinée dépasse 100. Par exemple, si le premier nombre du tableau de mille milliards d’éléments a une valeur supérieure à 100, il n’est pas nécessaire de poursuivre l’évaluation plus loin que ce premier nombre (voir test D).

Tests de sommeElementTableauSup100

  • Test A et B : valeur d’entrée imposée.
  • Test C : tableau vide.
  • Test D : la valeur du premier élément est supérieure à 100.
  • Test E : nombres réels (flottants).
  • 2 sorties possibles, mutuellement exclusives : aux lignes 4 (VRAI) et 8 (FAUX).
  • Les itérations de l’algorithme sont représentées sur l’axe horizontal (colonnes) des tests, le déroulement du code sur l’axe vertical (lignes).
  • Lignes 5 et 7 n’ont pas à être directement testées.
  • n / a : non applicable

 

Test A -- Entrée : tableau [55,55,55,55]

taille tableau = 4

ligne 1

index = 0

index = 1

ligne 2

somme = 55

(0+55)

somme = 110

(55+55)

ligne 3

somme ≤ à 100

continue itération

somme > à 100

alors sortie

ligne 4

n/a

retourne

VRAI

ligne 6

index = 1

n/a

ligne 8

n/a

n/a

Test B -- Entrée : tableau [1,2,3,5,6]

taille tableau = 5

ligne 1

index = 0

index = 1

index = 2

index = 3

index = 4

index = 5

fin du tableau

ligne 2

somme =

1

somme =

3

somme =

6

somme =

11

somme =

17

n/a

ligne 3

somme ≤ à 100

continue itération

somme ≤ à 100

continue itération

somme ≤ à 100

continue itération

somme ≤ à 100

continue itération

somme ≤ à 100

continue itération

n/a

ligne 4

n/a

n/a

n/a

n/a

n/a

n/a

ligne 6

index = 1

index = 2

index = 3

index = 4

index = 5

n/a

ligne 8

n/a

n/a

n/a

n/a

n/a

retourne FAUX

...

Télécharger au format  txt (9.2 Kb)   pdf (88.5 Kb)   docx (19.8 Kb)  
Voir 5 pages de plus »
Uniquement disponible sur LaDissertation.com