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 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 etc… 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 etc… 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 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 etc… 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 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 etc… 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 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 + n2 etc… 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 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 + n2 etc… 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 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 + n2 + n3 etc… 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. étapeN 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 + n2 etc… + n3 L’action est : 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 0 ni N 0 + n1 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 + n2 etc… + n3 L’action est : N prend la valeur N + Y 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 0 ni N 0 1 2 3 4 5 n1 n2 n3 n4 n5 n1 n1+n2 n1+n2+n3 etc… Au début, N prend la valeur 0 + n1 + n2 + n3 L’action est : 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 … 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 non Afficher A Afficher N Saisir Z Saisir X et Y M=Z non oui Afficher A Afficher N Comment la machine va déterminer le nombre de valeurs qui sont saisies à chaque instant ? Saisir Z Saisir X et Y M=Z non oui Afficher A Afficher N Saisir Z M prend la valeur 0 Saisir X et Y M prend la valeur M+1 M=Z non oui Afficher A Afficher N Comment la machine va déterminer la somme des valeurs ? Saisir Z M prend la valeur 0 Saisir X et Y M prend la valeur M+1 M=Z non oui Afficher A Afficher N Saisir N M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=N non oui Afficher A Afficher N Comment la machine va déterminer l’effectif total de la série ? Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non oui Afficher A Afficher N Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui Afficher A Afficher N non N prend la valeur 0 N prend la valeur N+Y N 0 1 2 3 S 0 n 1 x1 n1 x1+n2x2 n1 x1+n2x2 +n3x3 Z 0 n1 n1 + n 2 n1 + n 2 + n 3 4 etc… Et la machine va … Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non N prend la valeur 0 N prend la valeur N+Y oui Afficher A Afficher N Et la machine va déterminer la moyenne Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non N prend la valeur 0 N prend la valeur N+Y oui Afficher A Afficher N Et la machine va déterminer la moyenne, Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non N prend la valeur 0 N prend la valeur N+Y oui A prend la valeur S/N Afficher A Afficher N 2ème étape : on reprend l’organigramme sur lequel on a ajouté des adresses Saisir Z M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui Lbl 2 A prend la valeur S/N Afficher A Afficher N 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 M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non N prend la valeur 0 … N prend la valeur N+Y oui Lbl 2 A prend la valeur S/N Afficher A Afficher N Saisir Z M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non N prend la valeur 0 N prend la valeur N+Y ?→Z:0→M:0→S:0→N: oui Lbl 2 A prend la valeur S/N Afficher A Afficher N Saisir Z M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z non N prend la valeur 0 N prend la valeur N+Y ?→Z:0→M:0→S:0→N: … oui Lbl 2 A prend la valeur S/N Afficher A Afficher N Saisir Z M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui Lbl 2 A prend la valeur S/N 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 : Afficher A Afficher N Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui A prend la valeur S/N Afficher A Afficher N 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 M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui A prend la valeur S/N Afficher A Afficher N 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 : Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui A prend la valeur S/N Afficher A Afficher N 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 : … Saisir Z M prend la valeur 0 S prend la valeur 0 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX M=Z oui A prend la valeur S/N Afficher A Afficher N 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 Saisir Z M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX S = Σ n i xi M=Z non N prend la valeur 0 N prend la valeur N+Y A = moyenne M = compteur de boucle oui A prend la valeur S/N Lbl 2 Afficher A Afficher N Z = nb de colonnes X = xi Y = ni N = Σ ni Saisir Z M prend la valeur 0 S prend la valeur 0 Lbl 1 Saisir X et Y M prend la valeur M+1 S prend la valeur S+YX S = Σ n i xi M=Z A = moyenne M = compteur de boucle oui A prend la valeur S/N Lbl 2 Afficher A Afficher N 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 ème 3 étape : on tape le programme dans la machine ème 4 é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. ème 5 étape : on utilise le programme. Exemple : xi 148 217 29 320 789 114 ni 17 58 96 41 115 27 ème 5 étape : on utilise le programme. Exemple : xi 148 217 29 320 789 114 ni 17 58 96 41 115 27 Nombre de valeurs à rentrer : Z = 6 On rentre ( 148 ; 17 ) puis ( 217 ; 58 ) etc… jusqu’à ( 114 ; 27 ). ème 5 étape : on utilise le programme. Exemple : xi 148 217 29 320 789 114 ni 17 58 96 41 115 27 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