1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
function F(a,b,c,d,L){ // on implémente la fonction
return L-1485*a-1185*b-885*c-585*d-(a+b+c+d+1)*140;
}
DEBUT // je te laisse les déclarations de variables, la saisie de L, etc (les trucs basiques) ...
ombre_residuelle <-- L;
SELON L :
cas L > 1485 :
N_max = Entier(L/1485);
POUR a de 0 à N_max par pas de 1 Faire
POUR b de 0 à (N_max-1) par pas de 1 Faire
POUR c de 0 à (N_max-1) par pas de 1 Faire
POUR d de 0 à (N_max-1) par pas de 1 Faire
ombre_calculee= F(a,b,c,d,L);
SI (ombre_calculee >= 0) ALORS
SI (ombre_calculee < ombre_residuelle) ALORS
nb_80W <-- a;
nb_54W <-- b;
nb_39W <-- c;
nb_24W <-- d;
ombre_residuelle <-- ombre_calculee;
FINSI
FINSI
FINPOUR
FINPOUR
FINPOUR
FINPOUR
break;
cas 1185< L < 1485 :
N_max = Entier(L/1185);
// même type de raisonnement avec 3 boucles => tu complètes
break;
cas 885< L < 1185 :
N_max = Entier(L/885);
// même type de raisonnement avec 2 boucles => tu complètes
break;
cas 585< L < 885 :
N_max = Entier(L/585);
// même type de raisonnement avec 1 boucles => tu complètes
break;
cas L < 585 :
Afficher(L,"est trop petit");
FINSELON
Afficher("nb_80W : ",nb_80W)+NouvelleLigne;
Afficher("nb_54W : ",nb_54W)+NouvelleLigne;
Afficher("nb_39W : ",nb_39W)+NouvelleLigne;
Afficher("nb_24W : ",nb_24W)+NouvelleLigne;
Afficher("ombre_residuelle : ",ombre_residuelle);
FIN |
Partager