[Ex3] Correction taux d'accroissement

This commit is contained in:
Lyanis SOUIDI 2023-05-21 22:27:43 +02:00
parent 9b12c4a8b3
commit d237c3ef9e
Signed by: Lyanis SOUIDI
GPG Key ID: 251ADD56CFE6A854
5 changed files with 16 additions and 16 deletions

View File

@ -18,7 +18,7 @@
**[Script Scilab](scripts/ex3-1.sce) :** **[Script Scilab](scripts/ex3-1.sce) :**
```scilab ```scilab
tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; tauxAccroissement = (data(:, 4) / 1000) - (data(:, 5) / 1000);
tauxAccroissementMin = min(tauxAccroissement) tauxAccroissementMin = min(tauxAccroissement)
tauxAccroissementMax = max(tauxAccroissement) tauxAccroissementMax = max(tauxAccroissement)
``` ```
@ -86,7 +86,7 @@ mean(tauxAccroissement);
```scilab ```scilab
tauxAccroissementMoyenParContient = [mean(tauxAccroissement(1:57)), mean(tauxAccroissement(58:86)), mean(tauxAccroissement(87:99)), mean(tauxAccroissement(100:150)), mean(tauxAccroissement(151:193)), mean(tauxAccroissement(194:207))]; tauxAccroissementMoyenParContient = [mean(tauxAccroissement(1:57)), mean(tauxAccroissement(58:86)), mean(tauxAccroissement(87:99)), mean(tauxAccroissement(100:150)), mean(tauxAccroissement(151:193)), mean(tauxAccroissement(194:207))];
bar(tauxAccroissementMoyenParContient) bar(tauxAccroissementMoyenParContient * 100)
``` ```
**Résultat :** **Résultat :**
@ -107,7 +107,7 @@ population2050 = sum(data(:, 6)*1000000)
x = population; x = population;
while population2050 > x while population2050 > x
x = x * tauxAccroissementMoyen; x = x * (1+tauxAccroissementMoyen);
end end
``` ```
@ -117,7 +117,7 @@ end
- La population mondiale prévue en 2050 n'est pas conforme à l'hypothèse d'un taux d'accroissement constant car - La population mondiale prévue en 2050 n'est pas conforme à l'hypothèse d'un taux d'accroissement constant car
en multipliant la population mondiale actuelle (7 534 720 000) par le taux d'accroissement moyen (1.32%) jusqu'à en multipliant la population mondiale actuelle (7 534 720 000) par le taux d'accroissement moyen (1.32%) jusqu'à
atteindre ou dépasser la population mondiale prévue en 2050 (9 848 330 000), on obtient une prévision largement atteindre ou dépasser la population mondiale prévue en 2050 (9 848 330 000), on obtient une prévision largement
supérieur à la population mondiale prévue en 2050 (+ 70 564 686). supérieur à la population mondiale prévue en 2050 (+ 67 843 751).
--- ---

View File

@ -2,12 +2,12 @@ data = csvRead("data.csv");
// Calcul du taux d'accroissement à partir du taux de natalité et du taux de mortalité // Calcul du taux d'accroissement à partir du taux de natalité et du taux de mortalité
// On divise par 1000 pour avoir les taux par habitant // On divise par 1000 pour avoir les taux par habitant
// On multiplie par 100 pour avoir le taux d'accroissement en pourcentage tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000));
tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100;
// Récupération du taux le plus faible et du taux le plus élevé de la liste // Récupération du taux le plus faible et du taux le plus élevé de la liste
tauxAccroissementMin = min(tauxAccroissement); tauxAccroissementMin = min(tauxAccroissement);
tauxAccroissementMax = max(tauxAccroissement); tauxAccroissementMax = max(tauxAccroissement);
mprintf('Taux d''accroissement minimal : %.2f%%\n', tauxAccroissementMin); // On multiplie par 100 pour avoir le taux d'accroissement en pourcentage
mprintf('Taux d''accroissement maximal : %.2f%%\n', tauxAccroissementMax); mprintf('Taux d''accroissement minimal : %.2f%%\n', tauxAccroissementMin * 100);
mprintf('Taux d''accroissement maximal : %.2f%%\n', tauxAccroissementMax * 100);

View File

@ -1,6 +1,6 @@
data = csvRead("data.csv"); data = csvRead("data.csv");
tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000));
// Récupération des pays // Récupération des pays
// une matrice peut avoir qu'un seul type de données, donc la 1ère colonne de la variable data est NaN // une matrice peut avoir qu'un seul type de données, donc la 1ère colonne de la variable data est NaN
@ -9,4 +9,4 @@ pays = csvRead("data.csv",",",".","string")(:,1)
mprintf('Pays ayant un taux d''accroissement négatif :\n'); mprintf('Pays ayant un taux d''accroissement négatif :\n');
// on affiche les pays ayant un taux d'accroissement négatif // on affiche les pays ayant un taux d'accroissement négatif
mprintf("- %s : %.2f%%\n",pays(tauxAccroissement < 0), tauxAccroissement(tauxAccroissement < 0)); mprintf("- %s : %.2f%%\n",pays(tauxAccroissement < 0), (tauxAccroissement(tauxAccroissement < 0) * 100));

View File

@ -1,11 +1,11 @@
data = csvRead("data.csv"); data = csvRead("data.csv");
tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000));
// On sépare les taux d'accroissement par continent // On sépare les taux d'accroissement par continent
tauxAccroissementMoyenParContient = [mean(tauxAccroissement(1:57)), mean(tauxAccroissement(58:86)), mean(tauxAccroissement(87:99)), mean(tauxAccroissement(100:150)), mean(tauxAccroissement(151:193)), mean(tauxAccroissement(194:207))]; tauxAccroissementMoyenParContient = [mean(tauxAccroissement(1:57)), mean(tauxAccroissement(58:86)), mean(tauxAccroissement(87:99)), mean(tauxAccroissement(100:150)), mean(tauxAccroissement(151:193)), mean(tauxAccroissement(194:207))];
bar(tauxAccroissementMoyenParContient); bar(tauxAccroissementMoyenParContient * 100);
gca().x_ticks.labels = "$\rotatebox{90}{\mathsf{"+_(["Afrique", "Amérique du nord", "Amérique du sud", "Asie", "Europe", "Océanie"])'+"}}$"; gca().x_ticks.labels = "$\rotatebox{90}{\mathsf{"+_(["Afrique", "Amérique du nord", "Amérique du sud", "Asie", "Europe", "Océanie"])'+"}}$";
title("Taux d''accroissement moyen par continent"); title("Taux d''accroissement moyen par continent");
ylabel("Taux d''accroissement (%)"); ylabel("Taux d''accroissement (%)");

View File

@ -5,17 +5,17 @@ population2050 = sum(data(:, 6)*1000000);
mprintf("La population mondiale prévue en 2050 est de %.0f habitants.\n", population2050); mprintf("La population mondiale prévue en 2050 est de %.0f habitants.\n", population2050);
population = sum(data(:, 3)*1000000); population = sum(data(:, 3)*1000000);
tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; tauxAccroissement = (data(:, 4) / 1000) - (data(:, 5) / 1000);
tauxAccroissementMoyen = mean(tauxAccroissement); tauxAccroissementMoyen = mean(tauxAccroissement);
x = population; x = population;
// On multiplie la population mondiale actuelle par le taux d'accroissement moyen jusqu'à atteindre ou dépasser la population mondiale prévue en 2050 // On multiplie la population mondiale actuelle par le taux d'accroissement moyen jusqu'à atteindre ou dépasser la population mondiale prévue en 2050
while population2050 > x while population2050 > x
x = x * tauxAccroissementMoyen; x = x * (1+tauxAccroissementMoyen);
end end
if population2050 == x if population2050 == x
mprintf("La population mondiale prévue en 2050 est conforme à l''hypothèse d''un taux d''accroissement constant car\nen multipliant la population mondiale actuelle (%.0f) par le taux d''accroissement moyen (%.2f%%) jusqu''à\natteindre ou dépasser la population mondiale prévue en 2050 (%.0f), on obtient une prévision égale\nà la population mondiale prévue en 2050 (+ %.0f).", population, tauxAccroissementMoyen, population2050); mprintf("La population mondiale prévue en 2050 est conforme à l''hypothèse d''un taux d''accroissement constant car\nen multipliant la population mondiale actuelle (%.0f) par le taux d''accroissement moyen (%.2f%%) jusqu''à\natteindre ou dépasser la population mondiale prévue en 2050 (%.0f), on obtient une prévision égale\nà la population mondiale prévue en 2050 (+ %.0f).", population, (tauxAccroissementMoyen * 100), population2050);
else else
mprintf("La population mondiale prévue en 2050 n''est pas conforme à l''hypothèse d''un taux d''accroissement constant car\nen multipliant la population mondiale actuelle (%.0f) par le taux d''accroissement moyen (%.2f%%) jusqu''à\natteindre ou dépasser la population mondiale prévue en 2050 (%.0f), on obtient une prévision largement\nsupérieur à la population mondiale prévue en 2050 (+ %.0f).", population, tauxAccroissementMoyen, population2050, x - population2050); mprintf("La population mondiale prévue en 2050 n''est pas conforme à l''hypothèse d''un taux d''accroissement constant car\nen multipliant la population mondiale actuelle (%.0f) par le taux d''accroissement moyen (%.2f%%) jusqu''à\natteindre ou dépasser la population mondiale prévue en 2050 (%.0f), on obtient une prévision largement\nsupérieur à la population mondiale prévue en 2050 (+ %.0f).", population, (tauxAccroissementMoyen * 100), population2050, x - population2050);
end end