• Aucun résultat trouvé

La somme des termes d’une liste

N/A
N/A
Protected

Academic year: 2022

Partager "La somme des termes d’une liste"

Copied!
7
0
0

Texte intégral

(1)

http://alexandre.boisseau.free.fr/Prive/WWW/InfoPTSI/classiques.pdf

Les algorithmes classiques

La somme des termes d’une liste

algorithme somme(L) L: liste de nombres

Résultat : la somme des éléments deL(convention : 0 siLest vide) début algorithme

n

taille(L)

s

0

pour i a l l a n t de 0 à n−1 f a i r e s

s+L[i]

f i n pour renvoyer s f i n algorithme

def somme(L):

n = len(L) s = 0

for i in range(0,n):

# 0<=i<=n-1 s = s+L[i]

return s

¦

def somme(L):

s = 0

for x in L:

s = s+x return s

¦

(2)

def somme(L):

n = len(L) s = 0

i = 0

while i<n:

s = s+L[i]

i = i+1 return s

¦

La moyenne et la variance d’une liste

algorithme moyenne(L) L: liste non vide de nombres

Résultat : la moyenne des éléments deL début algorithme

renvoyer somme(L)/taille(L) f i n algorithme

def moyenne(L):

return somme(L)/len(L)

¦

¦ La variance de la listeLest définie par :

variance(L)= 1 n

n−1

X

k=0

(L[k]−m)2

nest la longueur de la listeLetmsa moyenne.

algorithme variance(L) L: liste non vide de nombres

Résultat : la variance des éléments deL début algorithme

n

taille(L)

s

0

pour i a l l a n t de 0 à n−1 f a i r e s

s+(L[i]moyenne(L))2

f i n pour renvoyer s/n f i n algorithme

(3)

def variance(L):

n = len(L) s = 0

for i in range(0,n):

# 0<=i<=n-1

s = s+(L[i]-moyenne(L))**2 return s/n

¦

algorithme variance(L) L: liste non vide de nombres

Résultat : la variance des éléments deL début algorithme

n

taille(L)

m

moyenne(L)

s

0

pour i a l l a n t de 0 à n−1 f a i r e s

s+(L[i]m)2

f i n pour renvoyer s/n f i n algorithme

def variance(L):

n = len(L) m = moyenne(L) s = 0

for i in range(0,n):

# 0<=i<=n-1

s = s+(L[i]-m)**2 return s/n

¦

def variance(L):

n = len(L) m = moyenne(L) s = 0

i = 0

while i<n:

s = s+(L[i]-m)**2 i = i+1

return s/n

¦

(4)

Le maximum d’une liste

algorithme maximum(L)

L: liste non vide de nombres réels (ou entiers) Résultat : le maximum des éléments deL début algorithme

n

taille(L)

m

L[0]

pour i a l l a n t de 1 à n−1 f a i r e s i L[i]>m alors

m

L[i]

f i n s i f i n pour renvoyer m f i n algorithme

def maximum(L):

n = len(L) m = L[0]

for i in range(1,n):

# 1<=i<=n-1 if L[i]>m:

m = L[i]

return m

¦

def maximum(L):

n = len(L) m = L[0]

i = 0

while i<n:

if L[i]>m:

m = L[i]

i = i+1 return m

¦

(5)

Nombre d’apparitions d’un élément dans une liste

algorithme compte(x,L) x: élément quelconque L: liste

Résultat : le nombre de fois (éventuellement 0) oùxapparait dansL début algorithme

n

taille(L)

compteur

0

pour i a l l a n t de 0 à n−1 f a i r e s i x=L[i] alors

compteur

compteur+1

f i n s i f i n pour

renvoyer compteur f i n algorithme

def compte(x,L):

n = len(L) compteur = 0

for i in range(0,n):

# 0<=i<=n-1 if L[i]==x:

compteur = compteur+1 return compteur

¦

def compte(x,L):

compteur = 0 for y in L:

if y==x:

compteur = compteur+1 return compteur

¦

def compte(x,L):

n = len(L) compteur = 0 i = 0

while i<n:

if L[i]==x:

compteur = compteur+1 i = i+1

return compteur

¦

(6)

Appartenance d’un élément à une liste

algorithme appartient(x,L) x: élément quelconque

L: liste

Résultat :vraisixapparait dansL,fauxsinon début algorithme

n

taille(L)

trouvé

faux

i

0

tant que i<n et trouvé=faux f a i r e s i x=L[i] alors

trouvé

vrai

f i n s i f i n tant que renvoyer trouvé f i n algorithme

def appartient(x,L):

n = len(L) trouvé = False i = 0

while i<n and (not trouvé):

if L[i]==x:

trouvé = True

# À ce point, on a :

# - soit trouvé=True, dans ce cas x apparait dans L

# - soit trouvé=False, dans ce cas i=n et x n'apparait pas dans L return trouvé

¦

def appartient(x,L):

n = len(L) trouvé = False

for i in range(0,n):

if L[i]==x:

trouvé = True return trouvé

¦

(7)

def appartient(x,L):

n = len(L)

for i in range(0,n):

if L[i]==x:

return True

# Si on a trouvé x, la boucle s'arrête ici

# fin de la boucle for

# À ce point, on a parcouru toute la liste sans renvoyer True

# C'est donc que x n'apparait pas dans L return False

¦

Calcul « naïf » de x

n

(sans utiliser ** )

algorithme puissance(x,N) x: nombre

N: nombre entier positif

Résultat :xN (convention :x0=1) début algorithme

a

1

pour i a l l a n t de 0 à n−1 f a i r e a

a×x

f i n pour renvoyer a f i n algorithme

def puissance(x,N):

a = 1

for i in range(0,n):

# 0<=i<=n-1 a = a*x return a

¦

def puissance(x,N):

a = 1 i = 0

while i<n:

a = a*x return a

¦

Références

Documents relatifs

D'après les valeurs affichées il semble que la suite (S n ) soit croissante.. Partie B -- Étude d'une

Résumé sur les suites arithmétiques et géométriques... Somme

Il est possible d’obtenir somme et suite en allant dans le catalogue (pour cela, taper 2nde 0 ) et on cherche dans la liste... Avec calculatrice TI 83-Plus modèle noir et

[r]

Définition (Limite infinie) Une suite u admet pour limite +∞ si pour tout nombre réel A (aussi grand que l’on veut), tous les termes de la suite u sont supérieurs à A à partir

Méthode Pour démontrer qu’une suite n’est pas géométrique, on montre deux quotients de termes successifs qui n’ont pas la même valeur.. Si on trouve deux quotients sont

ESPACES DES POINTS D'UN PLAN. — Nous examinerons successivement deux espaces distanciés R^ et à? dont les éléments sont les points d'un plan P, mais où ont été

Nous montrons que (D[) est valable pour les systèmes de racines de type A^ (m e N), B^, £3, D^, Ds, Eç et G^, et que (D[) n'est pas valable pour tous autres systèmes de