Les Tableaux https://coursinfo1med.wordpress.com/ Mme DJEBOURI. D. الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Les Tableaux Mme DJEBOURI. D. Faculté de Médecine Salle Informatique Année universitaire 2015 - 2016 https://coursinfo1med.wordpress.com/ 06/03/2016 Mme DJEBOURI. D. 1
Plan du cours Introduction Définition de la structure Tableau الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Plan du cours Introduction Définition de la structure Tableau Déclaration Les Tableaux sous R Exemples 06/03/2016 Mme DJEBOURI. D. 2
Introduction : Que faire? الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Introduction : Supposons que nous ayons à calculer une moyenne d’une dizaine de nombres. Il faut déclarer 10 variables: Soient N1, N2,…,N10 ; 10 instructions « lire » ; Moy(N1+N2+N3+N3+N4+ N5+N6+N7+N8+N9 +N10)/10 Et si nous avons une centaine ou un millier de valeurs!! Ou pire encore si nous ne connaissons pas le nombre de valeurs à introduire!! Que faire? La structure Tableau nous permet de rassembler toutes ces variables en une seule, au sein de laquelle chaque valeur sera désignée par un numéro. 06/03/2016 Mme DJEBOURI. D. 3
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 2. Définition Un tableau est un assemblage de variables de même type et ayant les caractéristiques suivantes: Le nombre de composants est défini à la déclaration du tableau et ne change pas lors du déroulement de l’algorithme. Les composants sont référencés au moyen du nom de la variable de type tableau et d’un indice qui désigne de façon unique l’élément désiré. Tableau = variable indicée Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le nom du tableau, suivi de l’indice de l’élément, entre crochets. 06/03/2016 Mme DJEBOURI. D. 4
3. Déclaration Var m: Tableau ( n ) de Numérique الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 3. Déclaration Var m: Tableau ( n ) de Numérique Le nombre maximal de composants est n (vecteurs). Var m: Tableau( n, m) de Numérique tableau de n lignes et m colonnes et contient n*m éléments (matrices). Nous pouvons aussi créer des tableaux de dimension supérieur à 2 06/03/2016 Mme DJEBOURI. D. 5
4. Les tableaux sous R 4.1 les vecteurs الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 4. Les tableaux sous R 4.1 les vecteurs La création d’un vecteur peut se faire par la commande c(e1,e2,...). On peut également générer une séquence avec la commande seq(a,b,t) débutant par a inférieure ou égale à b et de pas t ; rep(x, n) est un vecteur répétant n fois l’élément x. # NA (Not Available) signale une donnée manquante L’extraction à partir d’un vecteur ou tableau se fait par [] 06/03/2016 Mme DJEBOURI. D. 6
4. Les tableaux sous R 4.2 les matrices الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 4. Les tableaux sous R 4.2 les matrices La création d’une matrice se fait par matrix(vec, nrow=n, ncol=p) où vec est le vecteur contenant les éléments de la matrice de taille n par p, qui seront rangés en colonne sauf si l’option byrow=T est utilisée. mmatrix(1:10, nrow=2) rangement colonne par colonne m matrix(1:10, ncol=4, byrow=T) rangement par ligne(byrow=T) is.matrix(m) teste si m est une matrice renvoie TRUE ou FALSE 06/03/2016 Mme DJEBOURI. D. 7
4. Les tableaux sous R 4.3 les tableaux الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 4. Les tableaux sous R 4.3 les tableaux Un tableau est une matrice de dimension supérieur à 2 la fonction array() permet la construction d’un tableau >│ Z <- array(vec_données, vec_dim) Les valeurs dans un tableau de données sont stockées colonne par colonne. L’extraction se fait par [ ] 06/03/2016 Mme DJEBOURI. D. 8
Exemple 4.1 Si V représente le vecteur de valeurs (5,7,8,10) V[1]=5 الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 4.1 Si V représente le vecteur de valeurs (5,7,8,10) V[1]=5 V[2]= 7 V[3]= 8 V[4]= 10 5 7 8 10 06/03/2016 Mme DJEBOURI. D. 9
Création d’un vecteur sous R الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Création d’un vecteur sous R 06/03/2016 Mme DJEBOURI. D. 10
Var T :tableau ( 5 ) de Caractères الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 4.2 Var T :tableau ( 5 ) de Caractères T[1]= “a” a c b f d 06/03/2016 Mme DJEBOURI. D. 11
Exemple 4.3 Var m: Tableau ( 2,5 ) de Numérique الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 4.3 Var m: Tableau ( 2,5 ) de Numérique m:Tableau(2,4) de Numérique m[1,1]3 m[2,1]7 m[1,2]4 m[2,2]8 m[1,3]5 m[2,3]9 m[1,4]6 m[2,4]10 06/03/2016 Mme DJEBOURI. D. 12
Exemple 4.4 Var T: Tableau ( 2,3 ) de Numérique جامعة جيلا لي ليابس الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocramique em Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 4.4 Var T: Tableau ( 2,3 ) de Numérique T[1,1]1 T[2,1]2 T[1,2]3 T[2,2]4 T[1,3]5 T[2,3]6 06/03/2016 Mme DJEBOURI. D. 13
5. EXEMPLES جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocramique em Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 5. EXEMPLES 06/03/2016 Mme DJEBOURI. D. 14
Exemple 5.1: Écrire un algorithme qui calcule la moyenne d’un vecteur الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocramique em Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignemenmt Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.1: Écrire un algorithme qui calcule la moyenne d’un vecteur Algorithme ex1; Var n , s, i : numérique A :Tableau ( 100 ) de Numérique Début Lire (n) ; s0 Pour i 1 à n faire L ire A[ i ] ss+ A[ i ] fin faire Moys/n Écrire (Moy) Fin. 06/03/2016 Mme DJEBOURI. D. 15
Exemple 5.1 sous R جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocramique em Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.1 sous R 06/03/2016 Mme DJEBOURI. D. 16
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.2: Écrire un algorithme qui recherche une valeur x dans un tableau. Algorithme ex2; Var i, x : numérique; trouve: booléen t : Tableau ( 100 ) de Numérique Début Lire(t) #par analogie avec scan() de R trouve faux; lire(x) Tant que i ≤ 100 et trouve = faux faire Si t[i]=x alors trouvevrai sinon ii+1 fsi Fin faire Écrire(trouve) Fin. 06/03/2016 Mme DJEBOURI. D. 17
Exemple 5.2 Sous R: جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.2 Sous R: 06/03/2016 Mme DJEBOURI. D. 18
Sous R جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Sous R 06/03/2016 Mme DJEBOURI. D. 19
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocramique em Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.3 : Écrire un algorithme qui détermine le maximum dans un vecteur. Algorithme ex3; Var n , i, max: numérique A : tableau ( 100 ) de Numérique Début lire (n) ; max = A [ 1 ] Pour i=2 à n faire Si A[ i ] > max alors max = A[i] fsi fin faire Écrire (max) Fin. 06/03/2016 Mme DJEBOURI. D. 20
Exemple 5.3 sous R جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.3 sous R 06/03/2016 Mme DJEBOURI. D. 21
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple 5.4: Écrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin. Algorithme ex4; Var i : numérique V : tableau ( 6 ) de Caractères Début V[1] a; V[2] e; V[3] i; V[4] o; V[5] u; V[6] y; Pour i=1 à 6 faire Écrire (V[i]) fin faire Fin. 06/03/2016 Mme DJEBOURI. D. 22
Sous R جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Sous R 06/03/2016 Mme DJEBOURI. D. 23
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Références [1] Mounira BELMESK, Nacera BENSAOU, Sid Ahmed LARBI, ”ALGORITHMES Et STRUCTURES” KHAWARYSM ÉDITIONS,1991. [2] Khaldi KHALED ,” PROBABILITÉS”, OFFICE DES PUBLICATIONS UNIVERSITAIRES 3 EDITION ,1999. [3] R Development Core team (2011). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org/ . 06/03/2016 Mme DJEBOURI. D. 24