de toute série statistique Algorithme Déterminez l’algorithme permettant à la calculatrice de déterminer la moyenne et l’effectif, de toute série statistique de valeurs xi données avec leurs effectifs ni . Exemples : xi 148 217 29 320 789 114 ni 17 58 96 41 115 27 xi 27 2 30 7 ni 5 9 4 11
L’organigramme commence toujours par : La saisie des caractéristiques, paramètres, variables, etc… Il faut saisir le nombre de valeurs à rentrer ( nombre de colonnes du tableau ), les valeurs xi et leurs effectifs ni On va les appeler respectivement Z, X et Y
L’organigramme finit toujours par : L’affichage des réponses : Il faut afficher la moyenne, et l’effectif. On va les appeler respectivement A et N
L’algorithme est-il à actions successives ? …
L’algorithme est-il à actions successives ? Non, car…
L’algorithme est-il à actions successives ? Non, car selon le tableau de la série, on n’aura pas le même nombre Z de valeurs à saisir.
Donc l’algorithme est à …
Donc l’algorithme est à boucle. pour …
Donc l’algorithme est à boucle. pour répéter l’action …
Donc l’algorithme est à boucle. pour répéter l’action la saisie des valeurs et de leurs effectifs.
Difficulté présente : La machine possède …. mémoires
Difficulté présente : La machine possède 24 mémoires ( de A à Z ), comment saisir plus de 24 nombres ? On va utiliser une même mémoire Y pour toutes les valeurs n1. Mais lorsque je saisis la valeur ni+1, …
Difficulté présente : La machine possède 24 mémoires ( de A à Z ), comment saisir plus de 24 nombres ? On va utiliser une même mémoire Y pour toutes les valeurs n1. Mais lorsque je saisis la valeur ni+1, la valeur ni est effacée ! Comment calculer une somme N = n1 + n2 + n3 + … + ni+1 dans la mémoire N, alors que les valeurs n1 à ni sont perdues ?
Difficulté présente : La machine possède 24 mémoires ( de A à Z ), comment saisir plus de 24 nombres ? On va utiliser une même mémoire Y pour toutes les valeurs n1. Mais lorsque je saisis la valeur ni+1, la valeur ni est effacée ! Comment calculer une somme N = n1 + n2 + n3 + … + ni+1 dans la mémoire N, alors que les valeurs n1 à ni sont perdues ? Sachant que N = n1 + n2 + n3 + … + ni+1 = ( n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni sont perdus, mais la somme en tient compte.
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 + n2 étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 + n2 étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 + n2 + n3 étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 + n2 + n3 L’action est : N … étapeN 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. + n1 + n2 + n3 L’action est : N prend la valeur N + Y étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Difficulté présente : Comment calculer une somme N = n1 + n2 + n3 + … + np dans la mémoire N, alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 ? Sachant que N = n1 + n2 + n3 + … + ni+1 = (n1 + n2 + n3 + … + ni ) + ni+1 , il suffit d’ajouter au N précédent le nouveau nombre ni+1 : les nombres n1 à ni ne sont plus mémorisés, mais la somme en tient compte. Au début, N prend la valeur 0 + n1 + n2 + n3 L’action est : N prend la valeur N + Y étape 1 2 3 4 5 etc… ni n1 n2 n3 n4 n5 N n1+n2 n1+n2+n3
Même méthode pour Σ ni xi : N = n1 + n2 + n3 + … + ni+1 = ( n1 + n2 + n3 + … + ni ) + ni+1 , alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 il suffit de faire l’action N prend la valeur N + Y …
Même méthode pour Σ ni xi : N = n1 + n2 + n3 + … + ni+1 = ( n1 + n2 + n3 + … + ni ) + ni+1 , alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 il suffit de faire l’action N prend la valeur N + Y S = ( n1 x1 + n2 x2 + … + ni ni ) + ni+1 xi+1, alors que le nombre ni xi est effacé dans la mémoire S lorsque je saisie le nombre suivant ni+1 xi+1 il suffit de faire l’action …
Même méthode pour Σ ni xi : N = n1 + n2 + n3 + … + ni+1 = ( n1 + n2 + n3 + … + ni ) + ni+1 , alors que le nombre ni est effacé dans la mémoire Y lorsque je saisis le nombre suivant ni+1 il suffit de faire l’action N prend la valeur N + Y S = ( n1 x1 + n2 x2 + … + ni xi ) + ni+1 xi+1, alors que les nombres ni et xi sont effacés lorsque je saisis les nombres suivants ni+1 et xi+1 il suffit de faire l’action S prend la valeur S + Y X
organigramme oui non
Quand sortir de la boucle ? Saisir Z Saisir X et Y oui Afficher A Afficher N non
Saisir Z Saisir X et Y M=Z oui Afficher A Afficher N non
Comment la machine va déterminer le nombre de valeurs qui sont saisies à chaque instant ? Saisir Z Saisir X et Y M=Z oui Afficher A Afficher N non
Saisir Z Saisir X et Y M=Z oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N non
Comment la machine va déterminer la somme des valeurs ? Saisir Z Saisir X et Y M=Z oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N non
Saisir N Saisir X et Y M=N oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non
Comment la machine va déterminer l’effectif total de la série ? Saisir Z Saisir X et Y M=Z oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non
Saisir Z Saisir X et Y M=Z oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y N 1 2 3 4 etc… S n1 x1 n1 x1+n2x2 +n3x3 Z n1 n1 + n2 n1 + n2 + n3
Et la machine va … Saisir Z Saisir X et Y M=Z oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y
Et la machine va déterminer la moyenne Saisir Z Saisir X et Y M=Z oui Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y
Et la machine va déterminer la moyenne, Saisir Z Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y
2ème étape d’un algorithme : écriture du programme sur une feuille. 2ème étape : on reprend l’organigramme sur lequel on a ajouté des adresses Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y 2ème étape d’un algorithme : écriture du programme sur une feuille.
Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y …
Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N :
Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : …
Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N :
Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : … Saisir Z Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : …
Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : Saisir Z Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : If M = N : Then Goto 2 : Else Goto 1 :
Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : Saisir Z Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : If M = N : Then Goto 2 : Else Goto 1 : …
Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : Saisir Z Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : If M = N : Then Goto 2 : Else Goto 1 : Lbl 2 : S / N → A : A N
Z = nb de colonnes X = xi Y = ni N = Σ ni S = Σ ni xi A = moyenne M = compteur de boucle Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y
Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : Z = nb de colonnes X = xi Y = ni N = Σ ni S = Σ ni xi A = moyenne M = compteur de boucle Saisir Z Lbl 1 Saisir X et Y M=Z oui A prend la valeur S/N Afficher A M prend la valeur 0 M prend la valeur M+1 Lbl 2 Afficher N S prend la valeur 0 S prend la valeur S+YX non N prend la valeur 0 N prend la valeur N+Y ? → Z : 0 → M : 0 → S : 0 → N : Lbl 1 : ? → X : ? → Y : M + 1 → M : S + Y X → S : N + Y → N : If M = Z : Then Goto 2 : Else Goto 1 : Lbl 2 : S / N → A : A N
3ème étape : on tape le programme dans la machine
4ème étape : on teste le programme en comparant le résultat donné par la machine avec un exemple fait à la main ou donné par le tableur de la calculatrice.
5ème étape : on utilise le programme. Exemple : xi 148 217 29 320 789 114 ni 17 58 96 41 115 27
5ème étape : on utilise le programme. Exemple : Nombre de valeurs à rentrer : Z = 6 On rentre ( 148 ; 17 ) puis ( 217 ; 58 ) etc… jusqu’à ( 114 ; 27 ). xi 148 217 29 320 789 114 ni 17 58 96 41 115 27
5ème étape : on utilise le programme. Exemple : Nombre de valeurs à rentrer : Z = 6 On rentre ( 148 ; 17 ) puis ( 217 ; 58 ) etc… jusqu’à ( 114 ; 27 ). On obtient : moyenne A ≈ 352,596… effectif N = 354 xi 148 217 29 320 789 114 ni 17 58 96 41 115 27