Bonjour, je n'arrive pas à résoudre un problème poser dans un exercice avec scilab.
Je sollicite votre aide : je poste l'énoncé et ce que j'ai fait.
Voici l'énoncé: En l'an 2000, le lycée A compte 2000 élèves et le lycée B en compte 8000. Une étude a montré que chaque année :
-10% des élèves quittent le lycée A pour le lycée B
-15% des élèves quittent le lycée B pour le lycée A
Créer une boucle permettant de calculer et d'afficher le nombre d'élèves de chacun des lycées A et B en 2001,2002,2020.
Ce que j'ai fait:
clear
A=2000
B=8000
for i=1:10
A=A-0.1*A+0.15*B
B=B-0.15*B+0.1*A
end
disp(A)
disp(B)
Je me suis trompé, il s'agit de 3000(au lieu de 3100) et de 2000(au lieu de 3000) dans ma dernière phrase.
Voila un algo fait pour Algobox ...
Mais, il te fera comprendre ce qui ne va pas dans le tien.
VARIABLES
A EST_DU_TYPE NOMBRE
B EST_DU_TYPE NOMBRE
Annee EST_DU_TYPE NOMBRE
tempo EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
A PREND_LA_VALEUR 2000
B PREND_LA_VALEUR 8000
POUR Annee ALLANT_DE 2001 A 2020
DEBUT_POUR
tempo PREND_LA_VALEUR A
A PREND_LA_VALEUR 0.9 * A + 0.15 * B
B PREND_LA_VALEUR 0.85 * B + 0.1 * tempo
SI (Annee == 2001 ou Annee == 2002 ou Annee ==2020) ALORS
DEBUT_SI
AFFICHER "En l'année"
AFFICHER* Annee
AFFICHER "Le Nombre d'élèves dans le lycée A :"
A PREND_LA_VALEUR floor(A)
AFFICHER* A
AFFICHER "Le Nombre d'élèves dans le lycée B :"
B PREND_LA_VALEUR floor(B)
AFFICHER* B
AFFICHER* " "
FIN_SI
FIN_POUR
FIN_ALGORITHME
Cogite spécialement sur les 3 lignes :
tempo PREND_LA_VALEUR A
A PREND_LA_VALEUR 0.9 * A + 0.15 * B
B PREND_LA_VALEUR 0.85 * B + 0.1 * tempo
Désolé de revenir, mais je n'arrive pas à faire totalement fonctionner le code , j'ai un problème avec l'affichage de A et B en fonction de l'année (que j'ai nommée i).
clear
A=2000
B=8000
for i=2001:2020
tempo=A
A=0.9*A+0.15*B
B=0.85*B+0.1*tempo
end
if i==2001 | i=2002 | i==2020
printf("En l'année %d le nombre d'élèves dans le lycée A est %d\n",i,A);
printf("En l'année %d le nombre d'élèves dans le lycée B est %d\n",i,B);
end
Problème résolu, encore mer J-P.
Voici le code au cas où qqu aurait le même problème
clear
A=2000
B=8000
for i=2001:2020
tempo=A;
A=0.9*A+0.15*B;
B=0.85*B+0.1*tempo;
if i==2001 | i==2002 | i==2020
printf("Annee %d : le nombre etudiants dans le lycee A est %d\n",i,A)
printf("Année %d : le nombre etudiants dans le lycee B est %d\n",i,B)
end
end
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :