ROYAUME DU MAROC المملكة المغربية ,Ministère de l'Enseignement Supérieur, de la

ROYAUME DU MAROC المملكة المغربية ,Ministère de l'Enseignement Supérieur, de la Formation des Cadres et de la Recherche Scientifique CONCOURS NATIONAL COMMUN d'Admission dans les Établissements de Formation d'Ingénieurs et Établissements Assimilés Édition 2021 - 2015 ÉPREUVE D'INFORMATIQUE Partie : Programmation python Filières : MP/PSI/TSI Durée 2 heures Page de garde Préparation CNC : Informatique Prof Youness : 06 78 26 25 20 Épreuve d’Informatique – Session 2020 – Filière MP Page 1 sur 9 Les candidats sont informés que la précision des raisonnements algorithmiques ainsi que le soin apporté à la rédaction et à la présentation des copies seront des éléments pris en compte dans la notation. Il convient en particulier de rappeler avec précision les références des questions abordées. Si, au cours de l'épreuve, un candidat repère ce qui peut lui sembler être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre. Remarques générales :  Cette épreuve est composée d’un exercice et de trois parties toutes indépendantes ;  Toutes les instructions et les fonctions demandées seront écrites en Python ;  Les questions non traitées peuvent être admises pour aborder les questions ultérieures ;  Toute fonction peut être décomposée, si nécessaire, en plusieurs fonctions. ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ ≈ Exercice : (4 points) Les coefficients binomiaux Un coefficient binomial est défini pour deux entiers positifs n et k tels que n≥k. C’est le nombre de parties de k éléments dans un ensemble de n éléments. On le note :  , et sa valeur est calculée par la formule suivante :   = ∗ ( − ) ∗ ( −) ∗ … ∗ ( −( − )) ! Q1- Écrire la fonction fact(p) qui reçoit en paramètre un entier positif p, et qui retourne la valeur de factorielle p : p! = 1 * 2 * 3 * … * (p-1) * p. NB : La fonction fact(0) retourne 1 Q2- Écrire la fonction produit(n,k) qui reçoit en paramètres deux entiers positifs n et k tels que n≥k, et qui retourne la valeur du produit : n * (n-1) * (n-2) * … * (n-(k-1)) Q3- Écrire la fonction binomial(n,k) qui reçoit en paramètres deux entiers positifs n et k tels que n≥k, et qui retourne la valeur du coefficient binomial  . Exemple : La fonction binomial (6, 3) retourne le nombre 20 Q4- Écrire la fonction liste_binomiaux(n) qui reçoit en paramètre un entier positif n, et qui retourne la liste des coefficients binomiaux   tel que : k = 0, 1, 2, 3, …, n Exemple : La fonction liste_binomiaux (6) retourne la liste [ 1, 6, 15, 20, 15, 6, 1 ] 1 pt 0.75 pt 1 pt 1.25 pt Épreuve d’Informatique – Session 2020 – Filière MP Page 6 sur 9 Partie III : Problème Carré magique On considère un entier n strictement positif. Un carré magique d’ordre n est une matrice carrée d’ordre n (n lignes et n colonnes), qui contient des nombres entiers strictement positifs. Ces nombres sont disposés de sorte que les sommes sur chaque ligne, les sommes sur chaque colonne et les sommes sur chaque diagonale principale soient égales. La valeur de ces sommes est appelée : constante magique. Exemple : Carré magique d’ordre 3, sa constante magique 45 Représentation d’une matrice carrée en Python : Pour représenter une matrice carrée d’ordre n (n lignes et n colonnes), on utilise une liste qui contient n listes, toutes de même longueur n. Exemple : 4 7 10 3 3 2 9 6 13 0 5 8 7 1 6 25 Cette matrice carrée d’ordre 4 est représentée par la liste M, composée de 4 listes de taille 4 chacune : M = [[4,7,10,3],[3,2,9,6],[13,0,5,8],[7,1,6,25]] M[i] est la liste qui représente la ligne d’indice i dans M. Exemples : • M[0] est la liste [ 4, 7, 10, 3 ] • M[2] est la liste [ 13, 0, 5, 8 ] M[i][j] est l’élément à la ième ligne et la jème colonne, dans M Exemples : • M[0][1] est l’élément 7 • M[2][1] est l’élément 0 Épreuve d’Informatique – Session 2020 – Filière MP Page 7 sur 9 I.- Opérations sur une matrice carrée Q.1- Écrire la fonction somme_ligne(M,i), qui reçoit en paramètres une matrice carrée M contenant des nombres, et un entier i qui représente l’indice d’une ligne dans M. La fonction retourne la somme des nombres de la ligne d’indice i dans M. Exemple : La fonction somme_ligne (M, 1) retourne la somme 3+2+9+6 = 20 Q.2- Écrire la fonction somme_colonne(M,j), qui reçoit en paramètres une matrice carrée M contenant des nombres, et un entier j qui représente l’indice d’une colonne dans M. La fonction retourne la somme des éléments de la colonne d’indice j dans M. Exemple : La fonction somme_colonne (M, 0) retourne la somme 4+3+13+7 = 27 Q.3- Écrire la fonction somme_diag1(M), qui reçoit en paramètre une matrice carrée M contenant des nombres, et qui retourne la somme des éléments de la première diagonale principale dans M. Exemple : La fonction somme_diag1 (M) retourne la somme 4+2+5+25 = 36 Q.4- Écrire la fonction somme_diag2(M), qui reçoit en paramètre une matrice carrée M contenant des nombres, et qui retourne la somme des éléments de la deuxième diagonale principale dans M. (La deuxième diagonale principale part du coin en haut à droite, jusqu’au coin en bas à gauche) Exemple : La fonction somme_diag2 (M) retourne la somme 3+9+0+7 = 19 II- Carré magique Q.5- Écrire la fonction carre_magique(C), qui reçoit en paramètre une matrice carrée C contenant des entiers strictement positifs, et qui retourne :  True, si la matrice C est un carré magique : les sommes sur chaque ligne, sur chaque colonne et sur chaque diagonale principale sont toutes égales  False, sinon. Exemples : 21 7 17 7 1 6 A = 11 15 19 B = 1 15 9 13 23 9 3 2 4 • La fonction carre_magique (A) retourne True • La fonction carre_magique (B) retourne False Épreuve d’Informatique – Session 2020 – Filière MP Page 8 sur 9 III- Carré magique normal Un carré magique normal d’ordre n est un carré magique d’ordre n, constitué de tous les nombres entiers positifs compris entre 1 et n2. Exemple : Carrée magique normal d’ordre 4, composé des nombres entiers : 1, 2, 3, …, 15, 16. 4 14 15 1 9 7 6 12 5 11 10 8 16 2 3 13 NB : Il n’existe pas de carré magique normal d’ordre 2. Q.6.a- Écrire la fonction magique_normal(C), qui reçoit en paramètre une matrice carrée C qui représente un carré magique. La fonction retourne True si le carré magique C est normal, sinon, elle retourne False. Exemples: • La fonction magique_normal ([ [8, 1, 6] , [3, 5, 7] , [4, 9, 2] ]) retourne True • La fonction magique_normal ([ [21, 7, 17] , [11, 15, 19] , [13, 23, 9] ]) retourne False Q.6.b- Déterminer la complexité de la fonction magique_normal(C). IV- Construction d’un carré magique normal d’ordre impair La méthode siamoise est une méthode qui permet de construire un carré magique normal d’ordre n impair. Le principe de cette méthode est le suivant : 1. Créer une matrice carrée d’ordre n, remplie de 0. 2. Placer le nombre 1 au milieu de la ligne d’indice 0. 3. Décaler d'une case vers la droite puis d'une case vers le haut pour placer le nombre 2, et faire de même pour le nombre 3, puis le nombre 4, … jusqu’au nombre n². Le déplacement doit respecter les deux règles suivantes (voir l’exemple dans la page suivante) :  Si la pointe de la flèche sort du carré, revenir de l'autre côté, comme si le carré était enroulé sur un tore.  Si la prochaine case est occupée par un entier non nul, alors il faut décaler d'une case vers le bas. Épreuve d’Informatique – Session 2020 – Filière MP Page 9 sur 9 Exemple : Construction d’un carré magique normal d’ordre 5 Q.7- Écrire la fonction matrice_nulle(n), qui reçoit en paramètre un entier n strictement positif, et qui retourne une liste qui représente la matrice carrée d’ordre n, remplie de 0. Exemple : La fonction matrice_nulle (5) retourne la matrice suivante : [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0] ,[0,0,0,0,0]] Q.8- Écrire la fonction siamoise(n), qui reçoit en paramètre un entier positif n impair. En utilisant le principe de la méthode siamoise, la fonction retourne la matrice carrée qui représente le carré magique normal d’ordre n. Exemple : La fonction siamoise (7) retourne la matrice carrée qui représente le carré magique normale d’ordre 7 suivant : 30 39 48 1 10 19 28 38 47 7 9 18 27 29 46 6 8 17 26 35 37 5 14 16 25 34 36 45 13 15 24 33 42 uploads/Science et Technologie/ edition-20-21-2015-concours-national-commun.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager