From 17e53a5203ba1510b0f4e2a5f9b460f3fad05157 Mon Sep 17 00:00:00 2001 From: Lyanis Souidi Date: Sat, 20 May 2023 23:22:26 +0200 Subject: [PATCH] Ajout de commentaires dans les scripts Co-authored-by: Dimitrijevic --- ex1/scripts/ex1-1.sce | 9 +++++++++ ex1/scripts/ex1-2.sce | 1 + ex1/scripts/ex1-3.sce | 2 ++ ex1/scripts/ex1-4.sce | 4 ++++ ex2/scripts/ex2-1.sce | 2 ++ ex2/scripts/ex2-2.sce | 3 +++ ex2/scripts/ex2-3.sce | 5 +++++ ex2/scripts/ex2-4.sce | 2 ++ ex2/scripts/ex2-5.sce | 4 ++++ ex2/scripts/ex2-6.sce | 5 +++++ ex2/scripts/ex2-7.sce | 5 +++++ ex3/scripts/ex3-1.sce | 5 +++++ ex3/scripts/ex3-2.sce | 4 ++++ ex3/scripts/ex3-3.sce | 1 + ex3/scripts/ex3-4.sce | 1 + ex3/scripts/ex3-5.sce | 3 ++- 16 files changed, 55 insertions(+), 1 deletion(-) diff --git a/ex1/scripts/ex1-1.sce b/ex1/scripts/ex1-1.sce index af7200b..ab75032 100644 --- a/ex1/scripts/ex1-1.sce +++ b/ex1/scripts/ex1-1.sce @@ -1,7 +1,16 @@ data = csvRead("data.csv"); + +// Somme des surfaces de tous les pays pour obtenir la surface terrestre mondiale +// Multiplication par 1000 pour obtenir des km² surface = sum(data(:, 2)*1000); + +// Somme des populations de tous les pays pour obtenir la population mondiale +// Multiplication par 1000000 pour obtenir le nombre d'habitants population = sum(data(:, 3)*1000000); + +// Calcul de la densité à partir de la population et de la surface densite = population / surface; + mprintf("Surface terrestre mondiale : %d km²\n", surface); mprintf("Nombre d''habitants mondial : %.0f habitants\n", population); mprintf("Densité moyenne : %.2f habitants/km²\n", densite); diff --git a/ex1/scripts/ex1-2.sce b/ex1/scripts/ex1-2.sce index 4ee6500..87c94cf 100644 --- a/ex1/scripts/ex1-2.sce +++ b/ex1/scripts/ex1-2.sce @@ -1,5 +1,6 @@ data = csvRead("data.csv"); +// Calcul de la surface, de la population et de la densité de chaque continent surfaceAfrique = sum(data(1:57, 2)* 1000); populationAfrique = sum(data(1:57, 3)* 1000000); densiteAfrique = populationAfrique / surfaceAfrique; diff --git a/ex1/scripts/ex1-3.sce b/ex1/scripts/ex1-3.sce index 4ba8449..9738ae1 100644 --- a/ex1/scripts/ex1-3.sce +++ b/ex1/scripts/ex1-3.sce @@ -1,5 +1,6 @@ data = csvRead("data.csv"); +// Calcul de la densité de population par continent à partir des réponse à la quesion précédente densiteAfrique = sum(data(1:57, 3)* 1000000) / sum(data(1:57, 2)* 1000); densiteAmeriqueDuNord = sum(data(58:86, 3)* 1000000) / sum(data(58:86, 2)* 1000); densiteAmeriqueDuSud = sum(data(87:99, 3)* 1000000) / sum(data(87:99, 2)* 1000); @@ -7,6 +8,7 @@ densiteAsie = sum(data(100:150, 3)* 1000000) / sum(data(100:150, 2)* 1000); densiteEurope = sum(data(151:193, 3)* 1000000) / sum(data(151:193, 2)* 1000); densiteOceanie = sum(data(194:207, 3)* 1000000) / sum(data(194:207, 2)* 1000); +// Affichage des résultats avec un histogramme bar([densiteAfrique, densiteAmeriqueDuNord, densiteAmeriqueDuSud, densiteAsie, densiteEurope, densiteOceanie]); title("Densité de population par continent"); xlabel("Continent"); diff --git a/ex1/scripts/ex1-4.sce b/ex1/scripts/ex1-4.sce index 7e675d7..3d6911c 100644 --- a/ex1/scripts/ex1-4.sce +++ b/ex1/scripts/ex1-4.sce @@ -1,5 +1,6 @@ data = csvRead("data.csv"); +// Calcul de la surface er de la population par continent à partir des réponse à la quesion 2 surfaceAfrique = sum(data(1:57, 2)* 1000); populationAfrique = sum(data(1:57, 3)* 1000000); @@ -18,13 +19,16 @@ populationEurope = sum(data(151:193, 3)* 1000000); surfaceOceanie = sum(data(194:207, 2)* 1000); populationOceanie = sum(data(194:207, 3)* 1000000); +// Affichage d'un graph pour la surface pie([surfaceAfrique, surfaceAmeriqueDuNord, surfaceAmeriqueDuSud, surfaceAsie, surfaceEurope, surfaceOceanie]); title("Répartition de la surface terrestre"); legend(["Afrique", "Amérique du Nord", "Amérique du Sud", "Asie", "Europe", "Océanie"], 'out_upper_right'); xs2png(0,"ex1/img/ex1-4-1.png"); +// Nettoyage de la fenêtre graphique clf(); +// Affichage d'un graph pour la population pie([populationAfrique, populationAmeriqueDuNord, populationAmeriqueDuSud, populationAsie, populationEurope, populationOceanie]); title("Répartition de la population mondiale"); legend(["Afrique", "Amérique du Nord", "Amérique du Sud", "Asie", "Europe", "Océanie"], 'out_upper_right'); diff --git a/ex2/scripts/ex2-1.sce b/ex2/scripts/ex2-1.sce index b7c671b..7fe3871 100644 --- a/ex2/scripts/ex2-1.sce +++ b/ex2/scripts/ex2-1.sce @@ -1,8 +1,10 @@ data = csvRead("data.csv"); +// récupérer les valeurs des espérances de vie en ignorant les pays ou elles ne sont pas donnés Valeur_esperance_vie_femme = find (data(:,12) >=0); Valeur_esperance_vie_homme = find (data(:,11) >=0); +// faire la moyenne des espérances de vie des femmes et des hommes Moyenne_esperance_vie_femme = mean(data(Valeur_esperance_vie_femme,12)); Moyenne_esperance_vie_homme = mean(data(Valeur_esperance_vie_homme,11)); diff --git a/ex2/scripts/ex2-2.sce b/ex2/scripts/ex2-2.sce index 3a4d5f1..b7a52a5 100644 --- a/ex2/scripts/ex2-2.sce +++ b/ex2/scripts/ex2-2.sce @@ -1,11 +1,14 @@ data = csvRead("data.csv"); +// Faire la médiane Valeur_esperance_vie_femme = find (data(:,12) >=0); Valeur_esperance_vie_homme = find (data(:,11) >=0); +// Faire la variance mediane_esperance_vie_homme = median(data(Valeur_esperance_vie_femme,11)); mediane_esperance_vie_femme = median(data(Valeur_esperance_vie_homme,12)); +// Faire l'écart type variance_esperance_vie_homme = mean(data(Valeur_esperance_vie_femme,11).*data(Valeur_esperance_vie_femme,11))-mean(data(Valeur_esperance_vie_femme,11))^2; variance_esperance_vie_femme = mean(data(Valeur_esperance_vie_homme,12).*data(Valeur_esperance_vie_homme,12))-mean(data(Valeur_esperance_vie_homme,12))^2; diff --git a/ex2/scripts/ex2-3.sce b/ex2/scripts/ex2-3.sce index f66de88..19beff0 100644 --- a/ex2/scripts/ex2-3.sce +++ b/ex2/scripts/ex2-3.sce @@ -3,17 +3,22 @@ data = csvRead("data.csv"); Valeur_esperance_vie_femme = find (data(:,12) >=0); Valeur_esperance_vie_homme = find (data(:,11) >=0); +//charger les différents pays pays = csvRead("data.csv",",",".","string")(:,1); +// esprérances de vie minimale et maximale homme esperance_vie_min_homme = min(data(Valeur_esperance_vie_homme,11)); esperance_vie_max_homme = max(data(Valeur_esperance_vie_homme,11)); +// esprérances de vie minimale et maximale homme pays_esperance_vie_min_homme = pays(find(data(:,11) == esperance_vie_min_homme)); pays_esperance_vie_max_homme = pays(find(data(:,11) == esperance_vie_max_homme)); +// esprérances de vie minimale et maximale femme esperance_vie_min_femme = min(data(Valeur_esperance_vie_femme,12)); esperance_vie_max_femme = max(data(Valeur_esperance_vie_homme,12)); +// pays correspondant à ces valeurs pays_esperance_vie_min_femme = pays(find(data(:,12) == esperance_vie_min_femme)); pays_esperance_vie_max_femme = pays(find(data(:,12) == esperance_vie_max_femme)); diff --git a/ex2/scripts/ex2-4.sce b/ex2/scripts/ex2-4.sce index fdfd0ac..b66fd54 100644 --- a/ex2/scripts/ex2-4.sce +++ b/ex2/scripts/ex2-4.sce @@ -1,5 +1,7 @@ data = csvRead("data.csv"); +// histogramme des esperance de vie des hommes des 100 premiers pays avec 20 classes +// normalization=%f pour avoir diffrectement le bon nombre de pays pour chaque classe diirectement sur l'histogramme histplot(20,data(1:100,11),normalization=%f); title("Histogramme des espérances de vie des hommes des 100 premiers pays avec 20 classes"); xlabel("Espérance de vie (années)"); diff --git a/ex2/scripts/ex2-5.sce b/ex2/scripts/ex2-5.sce index 266bb74..6f64122 100644 --- a/ex2/scripts/ex2-5.sce +++ b/ex2/scripts/ex2-5.sce @@ -3,7 +3,11 @@ pays = csvRead("data.csv",",",".","string")(:,1); [esperanceHomme,indice] = gsort(data(:,11), 'g', 'i'); +//Les pays correspondant à l'espérance la plus grande et la plus petite + paysMaxHomme = pays(indice(length(indice)-1)); +// le -1 est pour enlever le pays "Andore" car n'ayant pas de valeur se met à la fin du classement par ordre croissant. + paysMinHomme = pays(indice(1)); mprintf("Pays ayant où l''espérance de vie des hommes est la plus élevé : %s\n", paysMaxHomme); diff --git a/ex2/scripts/ex2-6.sce b/ex2/scripts/ex2-6.sce index 8935018..dedf46b 100644 --- a/ex2/scripts/ex2-6.sce +++ b/ex2/scripts/ex2-6.sce @@ -2,8 +2,13 @@ data = csvRead("data.csv"); pays = csvRead("data.csv",",",".","string")(:,1); esperanceHomme = gsort(data(:,11), 'g', 'i'); +// Trouver le 1er et 3eme quartile de l'esperance de vie des hommes quartiles = quart(esperanceHomme); + +// trouver l'équart interquartile de l'esperance de vie des hommes interquartile = iqr(esperanceHomme); + +//Liste des pays avec une esperance de vie inférieur au premier quartile Pays_inferieur_premier_quartile = pays(find(data(:,11)neuviemeDecile)); +//Recuperer l'indice des pays correspondant à l'intervale extérieur +//Pour ce faire je crée un colonne de 1 à 207 qui va me permettre de stocker les indices des pays indice_pays = [1:207]; indice_pays = matrix(indice_pays,length(indice_pays),1); indice_pays_intervale_ext_decile = indice_pays(find(data(:,11)neuviemeDecile),1); +// Maintenant que nous connaissons les indices des pays à l'extérieur de l'intervale , on peut faire un tri pour chaque continent Pays_Afrique_ext_intervale = Pays_intervale_ext_decile(find(indice_pays_intervale_ext_decile <= 57 )); Pays_Amerique_nord_ext_intervale = Pays_intervale_ext_decile(find(indice_pays_intervale_ext_decile >= 58 & indice_pays_intervale_ext_decile <= 86) ); Pays_Amerique_sud_ext_intervale = Pays_intervale_ext_decile(find(indice_pays_intervale_ext_decile >= 87 & indice_pays_intervale_ext_decile <= 99) ); diff --git a/ex3/scripts/ex3-1.sce b/ex3/scripts/ex3-1.sce index 49491a2..50380ab 100644 --- a/ex3/scripts/ex3-1.sce +++ b/ex3/scripts/ex3-1.sce @@ -1,6 +1,11 @@ data = csvRead("data.csv"); +// 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 multiplie par 100 pour avoir le taux d'accroissement en pourcentage 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 tauxAccroissementMin = min(tauxAccroissement); tauxAccroissementMax = max(tauxAccroissement); diff --git a/ex3/scripts/ex3-2.sce b/ex3/scripts/ex3-2.sce index 9d29083..a180804 100644 --- a/ex3/scripts/ex3-2.sce +++ b/ex3/scripts/ex3-2.sce @@ -2,7 +2,11 @@ data = csvRead("data.csv"); tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; +// 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 +// ici on précice qu'on veut extraire les données du fichier csv dans une matrice de type string) pays = csvRead("data.csv",",",".","string")(:,1) mprintf('Pays ayant un taux d''accroissement négatif :\n'); +// on affiche les pays ayant un taux d'accroissement négatif mprintf("- %s : %.2f%%\n",pays(tauxAccroissement < 0), tauxAccroissement(tauxAccroissement < 0)); diff --git a/ex3/scripts/ex3-3.sce b/ex3/scripts/ex3-3.sce index e4c5870..d3477f9 100644 --- a/ex3/scripts/ex3-3.sce +++ b/ex3/scripts/ex3-3.sce @@ -1,6 +1,7 @@ data = csvRead("data.csv"); tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; +// Moyenne du taux d'accroissement obtenu à la question 1 tauxAccroissementMoyen = mean(tauxAccroissement); mprintf("Taux d''accroissement moyen : %.2f%%\n", tauxAccroissementMoyen); diff --git a/ex3/scripts/ex3-4.sce b/ex3/scripts/ex3-4.sce index ec34c63..5511ec8 100644 --- a/ex3/scripts/ex3-4.sce +++ b/ex3/scripts/ex3-4.sce @@ -2,6 +2,7 @@ data = csvRead("data.csv"); tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; +// 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))]; bar(tauxAccroissementMoyenParContient); diff --git a/ex3/scripts/ex3-5.sce b/ex3/scripts/ex3-5.sce index e060c28..96ce708 100644 --- a/ex3/scripts/ex3-5.sce +++ b/ex3/scripts/ex3-5.sce @@ -1,5 +1,6 @@ data = csvRead("data.csv"); +// Somme des estimations de populations des pays en 2050 population2050 = sum(data(:, 6)*1000000); mprintf("La population mondiale prévue en 2050 est de %.0f habitants.\n", population2050); @@ -8,7 +9,7 @@ tauxAccroissement = ((data(:, 4) / 1000) - (data(:, 5) / 1000)) * 100; tauxAccroissementMoyen = mean(tauxAccroissement); 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 while population2050 > x x = x * tauxAccroissementMoyen; end