Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme calculant les quartiles

Posté par
Hopio
22-04-17 à 19:56

Bonjour,

Je dois faire un devoir permettant de calculer les quartiles
Voila ce que j'ai fait
serie = []
nb_notes = int(input("entrer le  nombre de notes:"))
for i in range (nb_notes):
serie.append(float(input("entrer une note :")))
sorted(serie)
Calcul du premier quartile

if nb_notes % 4 != 0 :
    q1=w serie[((nb_notes + 1) // 4) - 1]
else :
    q1= (serie[(nb_notes // 4)- 1])
Calcul du troisième quartile

if nb_notes *3%4 != 0 :
    q3= serie[((nb_notes + 1)*3//4) - 1]
else :
    q3= (serie[(nb_notes*3//4)- 1])
print (q1)
print(q3)

Merci d'avance

Posté par
alb12
re : Algorithme calculant les quartiles 22-04-17 à 20:48

salut,
fais le tourner avec un exemple

A titre de comparaison le programme sous Xcas:


// Calcul des quartiles Q1 et Q3 de A
Quartiles(A):={// Quartiles avec une majuscule
local B,n,q,r,Q1,Q3 ;
B:=sort(A);
n:=size(A);
r:=irem(n,4);// reste de la division euclidienne de n par 4
q:=iquo(n,4);// quotient de la division euclidienne de n par 4
if(r==0){// n=4*q
Q1:=B[q-1];
Q3:=B[3*q-1];
};
if(r==1){// n=4*q+1
Q1:=B[q];
Q3:=B[3*q];
};
if(r==2){// n=4*q+2
Q1:=B[q];
Q3:=B[3*q+1];
};
if(r==3){// n=4*q+3
Q1:=B[q];
Q3:=B[3*q+2];
};
return Q1,Q3;
};

Posté par
Hopio
re : Algorithme calculant les quartiles 22-04-17 à 21:18

Merci de m'avoir répondu,
Donc ,en gros, il faut que je calcule le quotient et la division euclidienne et le reste .. mais après je ne comprends plus car je travaille uniquement sur Python donc je ne connais pas xcas :'(

Posté par
alb12
re : Algorithme calculant les quartiles 22-04-17 à 21:39

je ne dis pas que ton programme est incorrect
il faut le tester avec des listes de longueur 16, 17, 18, 19

Posté par
Hopio
re : Algorithme calculant les quartiles 22-04-17 à 21:56

Je viens de tester et étrangement le problème a marché pour 16 et 19 nombres de notes, est-ce que vous savez pourquoi ?

Posté par
alb12
re : Algorithme calculant les quartiles 22-04-17 à 22:21

s'il ne marche pas pour 17 et 18 il faut le reprendre
tu peux t'inspirer du pgm Xcas qui distingue les 4 cas
papier et crayon indispensables !

Posté par
Hopio
re : Algorithme calculant les quartiles 22-04-17 à 23:25

Je n'arrive pas , je ne comprends pas où est l'erreur

Posté par
alb12
re : Algorithme calculant les quartiles 22-04-17 à 23:34

Xcas fait dans la simplicite comme on le ferait à la main
4 si alors en fonction du reste

Posté par
Hopio
re : Algorithme calculant les quartiles 22-04-17 à 23:57

Je crois avoir trouvé pour le premier quartile
serie=[]
nb_notes = 0
nb_notes = int(input("entrer le  nombre de notes : "))
for i in range (nb_notes) :
    serie.append(float(input("entrer une note : ")))
    sorted(serie)
if nb_notes%4==0:
    q1=(serie[(nb_notes // 4)- 1])

if nb_notes%4==1:
    q1=(serie[(nb_notes+3)//4-1])

if nb_notes%4==2:
    q1=(serie[(nb_notes+2)//4-1])

if nb_notes%4==3:
    q1=(serie[(nb_notes+1)//4-1])
print(q1)

Posté par
Hopio
re : Algorithme calculant les quartiles 23-04-17 à 00:31

Je pense avoir trouvé pour le troisième quartile également

serie=[]
nb_notes = 0
nb_notes = int(input("entrer le  nombre de notes : "))
for i in range (nb_notes) :
    serie.append(float(input("entrer une note : ")))
    sorted(serie)
if nb_notes*3//4==0:
    q3=(serie[(nb_notes*3//4)-1])
if nb_notes*3//4==1:
    q3=(serie[((nb_notes+1)*3//4)-1])
if nb_notes*3//4==2:
    q3=(serie[((nb_notes+2)*3//4)-1])
if nb_notes*3//4==3:
    q3=(serie[((nb_notes+1)*3//4)-1])

print("Le troisieme quartile est",q3)

Vous pouvez vérifier pour voir si ce que j'ai mis est bon ?

Posté par
alb12
re : Algorithme calculant les quartiles 23-04-17 à 07:41

as tu essaye avec 16,17,18 et 19 valeurs dans la serie ?

Posté par
alb12
re : Algorithme calculant les quartiles 23-04-17 à 08:46

voir ici
attention sur Xcas une liste de longueur n est indicee de 0 à n-1

Posté par
Hopio
re : Algorithme calculant les quartiles 23-04-17 à 10:38

Ok, le programme pour le premier quartile marche, mais pas celui pour le troisième quartile

Posté par
Hopio
re : Algorithme calculant les quartiles 23-04-17 à 15:14

J'ai enfin réussi

Voilà le programme

#Calcul du premier quartile
if nb_notes%4==0:
    q1=(serie[(nb_notes//4)- 1])
if nb_notes%4==1:
    q1=(serie[(nb_notes+3)//4-1])
if nb_notes%4==2:
    q1=(serie[(nb_notes+2)//4-1])
if nb_notes%4==3:
    q1=(serie[(nb_notes+1)//4-1])

#Calcul du troisieme quartile
if nb_notes%4==0:
    q3=serie[(nb_notes*3//4)-1]
if nb_notes%4==1:
    q3=serie[((nb_notes+3)*3//4-2)-1]
if nb_notes%4==2:
    q3=serie[(nb_notes+2)*3//4-2]
if nb_notes%4==3:
    q3=serie[(nb_notes+1)*3//4-1]

Posté par
alb12
re : Algorithme calculant les quartiles 23-04-17 à 17:10

je te fais confiance !



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 1675 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 !