• Aucun résultat trouvé

Algorithmique & programmation

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmique & programmation"

Copied!
5
0
0

Texte intégral

(1)

Algorithmique & programmation

Chapitre 2 : Vecteurs

Algorithmes de parcours complet

Somme des éléments d’un vecteur

!! On veut faire la somme de toutes les valeurs contenues dans un vecteur d’entiers

!! Pour faire le raisonnement par récurrence, il faut d’abord trouver l’hypothèse !

"! Faire un dessin

(2)

Chapitre 2 3

Somme des éléments d’un vecteur

!! Dessin

1 2 i-1 i n

déjà traité! à traiter!

Somme des éléments d’un vecteur

!! On veut faire la somme de toutes les valeurs contenues dans un vecteur d’entiers

!! Pour faire le raisonnement par récurrence, il faut d’abord trouver l’hypothèse !

"! Faire un dessin

"! en français

!! À un instant donné, l’algorithme qui fait la somme des éléments du vecteur à fait la somme des éléments d’un sous-vecteur V[1..i-1]

"! formalisée

!! s = ! V[1..i-1]

(3)

Chapitre 2 5

Somme des éléments d’un vecteur

!! Le raisonnement par récurrence

Hypothèse s = ! V[1..i-1]

! i = n + 1 " s = ! V[1..n] " résultat = s !

! i " n " s : = s + V[i] ; i : = i + 1 ; ! H Itération tantque i " n faire … Initialisation s : = 0 ; i : = 1 ; ! H

Q : Dans quelle situation retourne-t-on à l"hypothèse ?!

R : Lorsque i " n !!

Q : Connaît-on un vecteur pour lequel on peut rendre le résultat sans calcul ?!

R : Oui, le vecteur vide !!

Q : Quelles sont les situations intéressantes ?!

R : Il y en a deux !!

Somme des éléments d’un vecteur

!! Le raisonnement par récurrence

Hypothèse s = ! V[1..i-1]

! i = n + 1 " s = ! V[1..n] " résultat = s !

! i " n " s : = s + V[i] ; i : = i + 1 ; ! H

Itération tantque i " n faire …

Initialisation s : = 0 ; i : = 1 ; ! H

(4)

Chapitre 2 7

fonction somme

fonction somme (d V[1..n] : vecteur) : entier ; ! spécification {n " 0} ! {résultat = " V[1..n]}!

!s, i : entier ; ! debfonc !

!s := 0 ; i := 1 ;!

!tantque i " n faire!

! !s := s + V[i] ;!

! !i := i + 1 ;!

!finfaire ;!

!{i > n, s = " V[1..i-1] # i=n + 1, s = " V[1..n]}!

!retour s ; ! finfonc ;!

Initialisation!

itération!

cas retournant à l!hypothèse!

produire le résultat!

n de V[1..n] {borne supérieure}

1 de V[1..n] {borne inférieure}

V(i) remplace V[i]

fonction somme

!! soit V un vecteur d'entier

function somme (V : in vecteur) return Integer is -- {V vecteur vide ou non} -> {résultat = " V}

-- il faut retrouver les bornes !!!

s, i : integer ; begin

s := 0 ; i := V'First ; while i " V'Last loop s := s + V(i) ; i := i + 1 ; end loop;

--{i > n, s = " V[1..i-1] # i=n + 1, s = " V[1..n]}

retrun s ;

(5)

Chapitre 2 9

fonction somme

fonction somme (d V[1..n] : vecteur) : entier ; ! spécification {n " 0} ! {résultat = " V[1..n]}!

s : entier ; ! debfonc !

!s := 0 ;!

!pour i := 1 haut n faire!

! !s := s + V[i] ; !

!finfaire ; !

!retour s ; ! finfonc ;!

itération d!un parcours complet!

i parcours tous les indices

fonction somme

!! soit V un vecteur d'entier

function somme (V : in vecteur) return Integer is -- {V vecteur vide ou non} -> {résultat = " V}

-- il faut retrouver les bornes !!!

s : integer ; begin

s := 0 ;

for i in V'range loop s := s + V(i) ;

end loop;

--{i > n, s = " V[1..i-1] # i=n + 1, s = " V[1..n]}

retrun s ;

end somme ;

Références

Documents relatifs

- utiliser du papier millimétré quand cela est demandé sinon une feuille petits carreaux (2 carreaux

[r]

Posons nous quelques secondes et regardons ce que l’on a déjà obtenu : cela marche pour tous les nombres au carré, c’est-à-dire les nombres qui s’écrivent comme un

Si vous utilisez du matériel, lavez-le bien entre chaque test à l’eau du robinet (elle a un pH=7 dans le var) et essuyez-le bien ensuite avec un papier essuie-tout.. Il

Pour attirer plus la clientèle, il décide d’adopter des boîtes spéciales en forme de tronc de pyramide, obtenus en coupant une pyramide de h

• Pas d’apprentissage réel immédiat, il faut de la répétition (au regard des caractéristiques de la mémoire à CT, il ne faut pas perdre de temps) et des critères de

Intradermal methylene blue injection for the treatment of intractable idiopathic pruritus ani. Mentes BB, Akin M, Leventoglu S, Gultekin FA,

•circuler leur sang, harrnonis. ez leurs humeurs et leur comportement par une alimentation rationnelle et. Yous aurez des individus qui, sans sermon,. Nous disons