Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

DM Algorithme sur algobox

Posté par
LeBrigz71
18-02-18 à 20:50

Bonjour , voilà j'ai un problème sur cet exercice à réaliser sur Algobox:

On considère l'algorithme suivant :

VARIABLES : A liste de nombres réels a1 , a2, ...
n,q,r entiers naturels
x nombre réel
ENTRÉE : A série statistique ordonnée croissante
Affecter à n la longueur de A
TRAITEMENT : Affecter à q le quotient de la division euclidienne de n par 4 .
Affecter à r le reste de la division euclidienne de n par 4 .
Si r = 0 alors Affecter à x la valeur aq+1
Fin de Si
SORTIE : Afficher x

Questions :
1) Faire fonctionner l'algorithme et compléter le tableau suivant :

/Variable/n/q/r/x/
/Valeur / / / / /

a) En entrant A= (-2,4;0;3,14;5;5,1;7)
b) En entrant A= (6;7,5;8;10;10;13;16;18,5)

2) Quel indicateur statistique l'algorithme affiche-t-il ?

3)On admet que le troisième quartile de la série A est donné par a3q+r .
a)Modifiez l'algorithme pour qu'il affiche le premier et le troisième quartile de la série introduite.
b)Quelles sont les valeurs affichées par l'algorithme pour les deux séries précédentes ?

4)Représenter les quartiles et les médianes des séries ci-dessus à l'aide de diagrammes en boîtes et les utiliser ces diagrammes pour comparer les deux séries .

Question BONUS : Modifier l'algorithme pour qu'il puisse calculer le 1er et le 9e
décile .

Voilà donc j'aimerais que vous m'aidiez car je ne comprend pas comment mettre une série statistique ordonnée croissante sur Algobox . Svp j'ai encore 1 semaine pour le faire je vous remercie d'avance bonne journée .

Posté par
carita
re : DM Algorithme sur algobox 18-02-18 à 21:07

bonsoir

les différentes variables de la série, triées dans l'ordre croissant,
sont enregistrées dans une variable "liste" appelée A
et dont chaque élément est indicé, et c'est la machine qui va gérer les indices.

par exemple pour A= (-5;2;11)
a1 = -5   ---- lire "a indice 1"
a2 = 2
a3 = 11

note 1 : pour faire cet exercice, il est nécessaire que tu saches bien ton cours sur comment calculer les quartiles d'une série statistique.

note 2 : Si r = 0 alors Affecter à x la valeur aq+1
il s'agit bien sûr de "a indice q", et non pas de "a fois q"

Posté par
LeBrigz71
re : DM Algorithme sur algobox 18-02-18 à 21:10

Merci de votre réponse je regarderai tout ça demain sur algobox je vous souhaite une très bonne soirée

Posté par
LeBrigz71
re : DM Algorithme sur algobox 19-02-18 à 10:42

Voici mon algorithme , quand je le lance , j'ai une erreur de calcul soit à l'instruction après le SI ou soit à l'instruction après le SINON selon si mes valeurs sont positives ou négatives. Bonne journée

DM Algorithme sur algobox

Posté par
LeBrigz71
re : DM Algorithme sur algobox 19-02-18 à 10:43

Voici mon algorithme , quand je le lance , j'ai une erreur de calcul soit à l'instruction après le SI ou soit à l'instruction après le SINON selon si mes valeurs sont positives ou négatives. Bonne journée

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 19-02-18 à 11:44

Quand on passe sur l'instruction x PREND_LA_VALEUR A[q+1],
A[q+1] n'a pas encore été défini.

mais de toute façon, ton algorithme ne fait pas ce que dit l'énoncé
n est la longueur de A or pour toi n prend la valeur des termes de la suite
et puis dans l'énoncé, on a jamais besoin de manipuler les termes de la suite d'après ce que je lis.

(sinon pour info : Il est possible d'entrer directement les termes d'une liste. Pour cela, il suffit d'utiliser l'instruction LIRE maliste[1]
(1 représentant le premier rang des termes de la liste que l'on veut entrer). Lors de l'exécution de l'algorithme, il suffira alors d'entrer toutes les valeurs souhaitées (dans l'ordre) en les séparant par : )
Autre façon de faire, mettre une instruction
A[1] PREND_LA_VALEUR -2:4:0:3:14:5:5:1:7
, tous les termes de la suite sont alors rentrés d'un seul coup

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 11:33

Bonjour , je suis désolé je ne comprends toujours pas comment faire fonctionner l'agorithme j'ai beau chercher et même avec ce que vous m'avez dit je n'y arrive pas 😫😥

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 11:35

qu'est-ce que tu n'as pas compris dans l'explication de Glapion ?

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 11:45

Ce que je ne comprend pas c'est le fait de donner a n la longueur de A. Merci

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 11:50

n représente le nombre de variables (=d'éléments de la liste A)
en fait, ici, n , c'est aussi l'effectif total.

par ex pour 1a) En entrant A= (-2,4;0;3,14;5;5,1;7)
n = 9

==> tu dois demander la saisie de n

question : à ton avis, à quoi sert cet algo ?

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 12:22

Ça ne marche toujours pas !! J'essaye tout mais rien ne marche ! 😖

DM Algorithme sur algobox

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 12:26

ben là, normal que ça ne marche pas !
à quel moment tu indiques à la machine les éléments de A?

comme t'a précisé Glapion, tu peux le faire :
- soit en demandant la saisie de A, élément par élément
- soit en demandant la saisie de A, et en tapant la liste complète d'un seul coup
- soit sans demander la saisie : AFFECTER valeur à variable
mais cette dernière façon n'est pas recommandée, car elle fige ton algo sur une liste A en particulier.

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 12:35

et puis à aucun moment dans ces instructions on a besoin des valeurs de la liste donc tu n'as même pas besoin de déclarer A, il suffit que tu demandes la longueur n et que tu fasses les calculs demandés :
Affecter à q le quotient de la division euclidienne de n par 4 .
Affecter à r le reste de la division euclidienne de n par 4 .
Si r = 0 alors Affecter à x la valeur aq+1

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 12:47

Merci mais là comme je n'ai pas besoin de déclarer A , la ligne A[q] et A[q+1] ne fonctionnent pas , comment je peux y remplacer ?

DM Algorithme sur algobox

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 12:55

On t'a déjà dit que n c'est la longueur de la liste et pas la liste.
quand on te demande n tu dois juste répondre 9

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 12:58

J'ai testé en marquant 9 mais à A[q+1] ça ne fonctionne toujours pas 😖

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 13:00

Et pourquoi n=9 vous voulez plutôt dire n=6 non ?

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 13:06

la première série que l'on te donne A= (-2,4;0;3,14;5;5,1;7) il y a 9 termes, non ?

Citation :
A[q+1] ça ne fonctionne toujours pas

à quel moment dans les instructions as-tu besoin de A[q+1] ???
on t'a dit qu'on avait pas besoin des valeurs.

Affecter à x la valeur aq+1 ça s'écrit
x Prend_la_valeur a*q+1 ou alors c'est que tu as mal transcris l'énoncé
aq+1 c'est pas A[q+1]

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 13:14

Nan il y a bien 6 termes pour A et j'ai bien recopié l'énoncé à l'identique . Je suis désolé mais à la ligne a*q+1 ça ne marche toujours pas alors que j'ai bien suivi vos consignes ....

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 13:23

ha oui OK je n'avais pas vu la nuance entre les , et les ; donc OK, 6 termes alors.
je ne peux pas te dire ce qui ne va pas dans ton algorithme si je ne le vois pas.
(et essaye de le mettre en mode texte et pas en capture d'écran)
jusque ici aucun de ceux que tu as mis ne représente les instructions de ton énoncé.

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 13:31

Voilà mon algo :

VARIABLES

n EST_DU_TYPE NOMBRE
q EST_DU_TYPE NOMBRE
r EST_DU_TYPE NOMBRE
x EST_DU_TYPE NOMBRE

DEBUT ALGORITHME

Lire n
q PREND_LA_VALEUR n/4
r PREND_LA_VALEUR n%4
SI (r==0) ALORS
DEBUT_SI
x PREND_LA_VALEUR a*q
FIN_SI
SINON
DEBUT_SINON
x PREND_LA_VALEUR a*q+1
FIN_SINON
Afficher x
FIN_ALGORITHME

Voilà et quand je tape n=6 ça fonctionne jusqu'à la ligne "x PREND_LA_VALEUR a*q+1"

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 13:39

a n'a jamais été déclaré ni défini.

que veut dire le a de a*q+1 dans ton énoncé ?

et puis aussi ton instruction "x PREND_LA_VALEUR a*q " elle figure nul part dans ton énoncé ?

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 13:45

Voici le vrai énoncé j'ai zappé une partie désolé
VARIABLES : A liste de nombres réels a1 , a2, ...
n,q,r entiers naturels
x nombre réel
ENTRÉE : A série statistique ordonnée croissante
Affecter à n la longueur de A
TRAITEMENT : Affecter à q le quotient de la division euclidienne de n par 4 .
Affecter à r le reste de la division euclidienne de n par 4 .
Si r = 0 alors Affecter à x la valeur aq
Sinon affecter à x la valeur aq+1
Fin de Si
SORTIE : Afficher x

Par contre vous me dites que A n'as pas encore été défini mais dans un message plus haut vous me dites que nous n'avons pas besoin de déclarer A ...

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 13:47

Oulaa excusez moi je viens de faire une erreur ça doit être donc ça non?

DM Algorithme sur algobox

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 13:49

d'après ce que je comprends de l'énonce de départ :
VARIABLES : A liste de nombres réels a1 , a2, ...

il s'ensuit que l'on doit saisir la liste A, composée de a1, a2, etc
et qu'ainsi chaque élément est identifié et accessible.

une fois que l'on a calculé le rang q ou q+1 qui correspond à Q1
il suffit d'aller afficher l'élément de A qui contient le quartile.

donc
x PREND_LA_VALEUR A[q]
ou, selon
x PREND_LA_VALEUR A[q+1]

qu'en pensez-vous?

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 13:52

autrement dit l'élément a1 correspond (= est accessible) sous algobox à A[1]

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 13:53

Je vous remercie mais la je comprends rien du tout je laisse tomber bref bonne journée à vous

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 13:58

n'abandonne pas, tu y es presque !

il te suffit d'ajouter l'instruction LIRE A[1]
avant ou après LIRE n

et lorsque l'algo va tourner, tu saisiras la liste sous cette forme :
-2,4 : 0 : 3,14 : 5 : 5,1 : 7
(les variables sont séparées par des :  , c'est la syntaxe qui le demande)

ps : en effet n=6 et non pas 9

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:02

autre façon de faire, peut-être plus intuitive
(j'utilise la variable compteur que tu as créée)

LIRE n
POUR compteur ALLANT DE 1 à n
     LIRE A[compteur]
FIN POUR

de cette façon-là,
la machine te demandera de saisir l'un après l'autre les éléments a1, puis a2, etc jusqu'à an

as-tu compris ?

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 14:04

Affecter à x la valeur aq donc il faut comprendre aq le q ième treme de la suite
et aq+1 après

donc A[q] et A[q+1] dans ton algorithme.

OK donc là il faut effectivement déclarer la variable A de type Liste et affecter le valeurs

(utilise A[1] PREND_LA_VALEUR -2.4:0:3.14:5:5.1:7 )
attention à mettre des . à la place des virgules et des : à la place des ;

le problème dans ton énoncé maintenant c'est le
affecter à x la valeur aq+1 que je traduis par A[q+1]
cette instruction ne peut pas fonctionner car on est dans un cas ou r est différent de 0 et donc q ou q+1 ne sont pas entier et algobox ne peut pas comprendre A[q]

il faut comprendre que cet algorithme cherche à nous faire trouver la valeur du terme terminant le premier quartile, si n est divisible par 4 ça va mais si n = 6 et que q = alors 3/2, que veut-il qu'on affiche ?

carita peut-être as-tu mieux compris que moi ce que doit faire cet algorithme ?

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:06

Merci beaucoup mais là c'est fait exprès ça ne marche toujours pas ça ne veut même pas lire A je perds espoir

DM Algorithme sur algobox

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:07

Je viens de voir vos réponses je vais essayer

Posté par
Glapion Moderateur
re : DM Algorithme sur algobox 20-02-18 à 14:12

évidemment tu as déclaré a et pas A
et de type nombre au lieu de type LISTE
donc c'est sûr que ça ne peut pas marcher
et puis c'est plus a*q maintenant. Lis les posts !

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:14

n = 4 * q + r

q doit en effet être entier, donc q= floor(n/4)  --- floor = partie entière

ex
A= (-2,4 ; 0 ; 3,14 ; 5 ; 5,1 ; 7)
n = 6,  
n = 1*4 + 2   ==> q=1 et r=2
r0 , donc le 1er quartile correspond à la (q+1)ième valeur, soit la 2ème de la variable
donc Q1 = 0

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:16

Ça ne marche toujours pas ....

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:18

Voilà

DM Algorithme sur algobox

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:18

montre ton dernier algo

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:20

[A1] prend la valeur... oui, tu peux faire ça, mais bon , relis 12h26
en tout cas, c'est pas faux

q PREND LA VALEUR floor(n/4)

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:22

x prend la valeur A[q]   et non pas A*q

A tout seul, la machine ne connait pas :  elle connait et sait identifier chaque élément de A par son indice

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:23

C'est tout le temps là qu'il y a une erreur ! 😖

DM Algorithme sur algobox

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:24

14h22

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:25

C'est ça non ?

DM Algorithme sur algobox

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:29

ok, il est juste, et il t'affiche le 1er quartile de cette série : 0

mais tu constates que si tu veux chercher le Q1 d'une autre série,
ben il te faut modifier ton algo !

d'où mon conseil de demander la saisie de la liste A,
et non pas d'initialiser la liste dans l'algo.
cf 13h58 et 14h02

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:34

J'ai suivi vos messages et j'ai essayé ce que vous aviez écrit @carita mais ça ne fonctionne pas donc je préfère changer directement dans l'algo et non depuis la console même si c'est plus long

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:40

si ça marche !

DM Algorithme sur algobox

l'instruction LIRE A[1], toute seule, va permettre de lire TOUS les éléments que tu saisiras, s'il sont séparés par des ":"

dans l'exemple ci-dessus, elle mettra
3 dans A[1]
5 dans A[2]
7 dans A[3]

as-tu compris ?

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:45

autre façon de faire : en utilisant un compteur.
on saisit les valeurs de la variable l'une après l'autre

DM Algorithme sur algobox

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:50

Ouii merci beaucoup !!

Posté par
carita
re : DM Algorithme sur algobox 20-02-18 à 14:51



tu as tout en main pour faire la question 3)
a+

Posté par
LeBrigz71
re : DM Algorithme sur algobox 20-02-18 à 14:51

Oui très bonne journée à vous 😊



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1567 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !