5) Lastest
Balas
REPUBLIQUE TUNISIENNE
Ministre de MEnseignement Supérieur et de la
‘Recherche Scentifique
Concours Nationaux d’Entrée aux Cycles
mn @Tagénieurs aaa osu
Session 2020 tl St
Concours Mathématiques et Physique, Physique et Chimie et Technologie
Epreuve d’Informatique
Date : Mercredi 22 Juillet 2020 Heure: 8H Durée: 2H Nombre de pages : 9
Baréme : PROBLEME 1 : 13 points
PROBLEME 2: 7 points
DOCUMENTS NON AUTORISES
L'USAGE DES CALCULATRICES EST INTERDIT
Il FAUT RESPECTER IMPERATIVEMENT LES NOTATIONS DE L'ENONCE
‘VOUS POUVEZ EVENTUELLEMENT UTILISER LES FONCTIONS PYTHON
DECRITES AL.’ ANNEXE (PAGE 9)
PROBLEME 1:
Dans ce probléme, on s‘intéresse a la simulation numérique de la diffusion thermique (évolution de la
température) dans un milicu homogéne et isotrope. Le milieu étudié est une tige métallique mince de
longueur L et de coefficient de diffusivité thermique a. L’équation de la chaleur, utilisée pour
modéliser la conduction de la chaleur dans la tige, est une Equation Différentielle aux dérivées
Partielles (EDP) donnée par eq] :
au
—=a.Au eqi
a *
8 l’inconnue w est une fonction & deux variables x ett :
~ xest la variable de 'espace unidimensionnel, avec x<[0,L];
~ test la variable temps, avec re[0,7'], Tétant la borne maximale de Vintervalle temporel.
La résolution de eq permet de déterminer la température (u(x,f)) en tout point x du milieu a chaque
instant ¢ en prenant comme :
= condition initiale a instant
(4,0) =Tyy(x) ave Ty, (x), fonction qui décrit "état thermique initial pour tout x¢[0, L]
0) et c6té droit (x=):
— conditions aux bords de la tige (cété gauche (
u(0,t)=u(L,t)=0
L’EDP 4 résoudre avec les conditions précédentes est alors donnée par |’équation eq2 :
Moma) veelO.t], Vre[0.7]
u(%,0) =Ty,(2) vx e[0,Z] en
u(Qt)=u(L,)=0 — vte]o,7]
‘Concours (Mathématiques et Physiqus Physique et Chimie et Technologie) - Season Juillet 2020 ‘Epreuve d'Informatique Page 1ot T,, est définie par :
rata ado RO URAL 5
im =1509 vxe]0,L[ a
Hypothéses
Dans la suite, les fonctions demandées seront écrites en langage Python en supposant que :
— lemodule math a été importé par: import math
= lemodule numpy a été importé par: import numpy as np
= lemodule scipy. integrate a été importé par: import scipy.integrate as spi
— les grandeurs L, T et a sont déja définis.
Partie 1 : Résolution Analytique
La solution analytique de I’équation eq2 s*écrit :
é ax) -EEa
we =¥, sn( “Je e eqd
ot, pour un m donné :
D,=2 [hoods as
L60)=Tigdsin{ 2) gs
Travail demandé
1. rire la fonction Tinitial qui prend en paramétre x et retourne la valeur de I’état thermique
initial 7,,,,(x) pour tout x dans [0, L].
2. Ecrire la fonction Fn qui prend en paramétres x et n, puis retourne le résultat du calcul exprimé
par I’équation eq6.
3. En utilisant la fonction quad du module scipy. integrate, écrire la fonction Dn qui prend
‘en paramétre n et retourne le résultat du calcul exprimé par I’équation eq5.
NB: quad(g,a,b, (y,)) calcule V'intégrale de la fonction g dans I'intervalle [a,b] par
rapport a x (y étant fixé) et retoume le tuple (4,2) oi
g(x, y)de
£>0 est une estimation de I’erreur absolue.
4, Ecrire la fonction SolutionAnalytique qui, 4 partir des paramétres x, t et eps, calcule et
retoume la somme décrite par I’équation eq4. Le calcul s'arréte lorsque la valeur absolue dun
terme de la somme est inférieur a eps.
Partie 2 : Résolution numérique
Dans cette partie, on propose une résolution numérique d’un Systéme d’Equations Différentielles
Ordinaires (SEDO) associé a l"EDP de I’équation eq2.
Aprés la discrétisation de V’intervalle spatial [0,L],1a résolution numérique du SEDO consiste &
approcher les valeurs de la fonction u(x,t) en utilisant la méthode des différences finies.
On considére :
— Vintervalle [0,L] découpé en N +1 points équidistants x, =0
[umin, umax]"
- umin et umax représentent respectivement la valeur minimale et la valeur maximale de U.
- _sontains_(
qui a partir d’un tuple de réels tup, représenté par (x,/), retourne True
si x¢[0,xmax] et ¢¢[0,tmax], False sinon.
= get (...) : qui a partir d’un tuple de réels tup, représenté par (x,t), détermine et retourne un
tuple de réels représenté par (p, q) tels que :
_ P=, avee dx le pas de découpage du vectour vx
-4 Fe avec dt le pas de découpage du vecteur vt.
= get_low(...): qui a partir d’un tuple de réels tup, retourne un tuple d'entiers en appliquant la
fonction floor du module math pour chaque élément du tuple résultat de 'appel de la
méthode get.
- get_up(...) : qui a partir d’un tuple de réels tup, retourne un tuple d'entiers en appliquant la
fonction ceil du module math pour chaque élément du tuple résultat de l'appel de la
méthode get.
- interpolate(...) : qui a partir d'un tuple de réels tup, représenté par (x,t), permet d'interpoler
u(x,t) par la méthode bilinéaire si x €[0,xmax] et t <[0,tmax]. Gérer lerreur dans le cas
contraire.
Les étapes de la méthode d'interpolation bilinéaire sont :
— déterminer dans (x_low, t_low), le résultat de l'appel de la méthode get_low ;
— déterminer dans (x_up, t_up), le résultat de l'appel de la méthode get_up ;
1
x
construire le vecteur v= ;
t
Xxt,
'
calculer les valeurs x_!, x_u, t_I et t_w telles que:
x_l=x_lowx de; x_u=x_upxde; t_l=t_lowxdt; t_u=t_upxdt;
ie,
ys 2
construire lamatrice B=) |
Bex
‘Concours (athématquse Physique, Physique et Chimie e Techalogl - Sesion ult 020 ‘Epreuve @iaformatique Page 59)My tows tow
— construire le vecteur b=)" | ;
My. ap.t_tow
My apse
— déterminer le vecteur y solution de la résolution du systéme linéaire B.y = ;
— retoumner la valeur du produit scalaire des vecteurs y et v,
‘Travail demandé
En se basant sur les descriptions ci-dessus, répondre aux questions suivantes
8. Construire la classe EqChaleur
8.1 Ecrire la méthode _ init
82 Ecrire la méthode SolveEq.
9. Construire la classe InterpolationBilineaire :
9.1 Ecrire la méthode _init_.
9.2 Eorire la méthode _str_
9.3 Ecrire la méthode _contains_.
94 Ecrire la méthode get.
9.5 Ecrire la méthode get_low.
9.6 Ecrire la méthode get_up.
9.7 Ecrire la méthode interpolate.
10, En supposant disposer des valeurs de L, T, N, M et alpha, écrire le script Python permettant de :
— créer une instance chal de la classe EqChaleur ;
— déterminer dans (U,vx,vt) 1a solution numérique de chal ;
~_ créer une instance bil de la classe InterpolationBilineaire ;
— saisir deux réels x et t en respectant la condition suivante: x n’appartient pas A vx et t
n’appartient pas a vt ;
= donner la température du point x a 'instant t.
PROBLEME 2
Un concours national d’entrée aux cycles de formation d’ingénieurs réunit chaque année des milliers de
candidats qui passent un ensemble d’épreuves spécifiques aux sections MP (Mathématiques et
Physique), PC (Physique et Chimie), T (Technologie) et BG (Biologie et Géologie). On propose de
concevoir en partie une application de gestion de certains résultats des épreuves d'un concours.
On considére une partie d'une base de données schématisée par les relations décrites ci-dessous. Bien
que se rapprochant de la réalité, il est & noter que le schéma a été élaboré pour les besoins de I’énoncé.
* Etablissement (idEtab, nom, adresse, gouv)
La table Etablissement décrit tous les établissements universitaires assurant un cycle
préparatoire ainsi qu'un établissemnent fictif (service concours) pour les candidats libres.
~ idEtab : identifiant de I’établissement contenant le nom abrégé (chaine de caractéres), clé
primaire (\'établissement fictif a comme identifiant la valeur 'Libre’) ;
- nom : nom complet de I’établissement (chaine de caractéres) ;
~ adresse : adresse de I’établissement (chaine de caractéres) ;
= gouv : nom du gouvernorat oii I’établissement est situé (chaine de caractéres).
‘Concours (Miathimatqus et Piyaiqu,Piysique ci Chimie ot Technologie) - Soon Jat 220 Tprewe Plaformatique Page oo* Candidat (idC, nom, date_naissance, sexe, nationalite, adresse, section, idEtab)
La table Candidat décrit tous les candidats inscrits au concours.
= idC : identifiant du candidat (entier), clé primaire ;
~ nom : nom et prénom du candidat (chaine de caractéres) ;
~ date_naissance : date de naissance du candidat (chaine de caractéres en format ‘aaaa/mm/jj'
avec ‘aaa’: année, 'mm' : mois et '': jour) ;
= sexe : sexe du candidat (un caractére, 'F' pour féminin et'M' pour masculin) ;
~ nationalite : nationalité du candidat (chaine de caractéres) ;
~ adresse : adresse du domicile du candidat (chaine de caractéres) ;
~ section : section & laquelle le candidat appartient (chaine de caractéres, 'MP ", BG);
- idEtab: identifiant de P’établissement d’origine du candidat (chaine de caractéres), clé
étrangére qui fait référence a la table Etablissement.
Tous les candidats non inscrits 4 un cycle préparatoire sont considérés comme candidats libres ot
affectés A I'établissement fictif dont I’attribut idBtab est ‘Libre’.
= Epreuve (idEpr, nomEpr, section, dateEpr, heure, duree, coeff)
La table Epreuve décrit toutes les épreuves du concours.
~ idEpr : identifiant de 1’épreuve (entier), clé primaire ;
- nomEpr : nom de I’épreuve (chaine de caractére) ;
~ section : section & laquelle I’épreuve est associée (chaine de caractéres, 'MP', 'PC’, 'T, 'BG) ;
= dateEpr:: date de I’épreuve (chaine de caractéres en format 'aaaa/mmy/jj! avec ‘aaa’ : année,
‘mm : mois et 'j': jour) ;
= heure : horaire de passage de I’épreuve (chaine de caractéres en format ‘hh : mm' avec ‘bh’ :
heures et ‘mm’: minutes) ;
~ duree : durée de I’épreuve en nombre d’heures (entier) ;
- coeff : coefficient de I’épreuve (entier).
= Evaluation (idC, idBpr, note)
La table Evaluation décrit les notes des candidats aux épreuves passées.
~ idC : identifiant du candidat (entier), clé étrangére qui fait référence a la table Candidat ;
= idEpr:: identifiant de I’épreuve passée (entier), clé étrangére qui fait référence a la table
Epreuve ;
= note : la note du candidat a une épreuve donnée (un réel compris entre 0 et 20).
Le couple (idC, idpr) représente la clé primaire de la table Evaluation.
Partie 1 : Algebre relationnelle
Exprimer en algébre relationnelle les requétes permettant de donner :
1. Les noms des candidats libres de la section 'PC’.
2. Les identifiants des candidats qui n'ont passé aucune épreuve du concours.
Partie 2: SOL
Dans Ia suite, en supposant que toutes les tables sont créées et remplies en respectant les régles
intégrités, exprimer en SQL les requétes suivantes permettant de :
3. Modifier & 2 heures la durée de I'épreuve ayant le nom 'Informatique' de la section 'T’.
4, Déterminer les noms des établissements assurant un cycle préparatoire pour la section 'BG'.
5. Déterminer, pour chaque section, le total des coefficients des épreuves en triant les totaux par
ordre décroissant.
6. Déterminer les identifiants des candidats ayant obtenu des notes supéricures a 15, au moins a3
éprewves. 7 :
‘Concours Oatimstiues Ppa, Pigs ohn Fea) Sn Fae preave Fnformatigae PawPartie 3 : sqlite}
Une épreuve est dite discriminante si elle a le plus d’influence sur les résultats du concours. La
comparaison entre les écarts types des notes des épreuves est un moyen permettant de déterminer
Pépreuve la plus discriminante du concours.
L’écart type des notes d’une épreuve modélise le degré de dispersion des notes des candidats autour de
la moyenne. Ainsi, plus les notes sont largement distribuées autour de la moyenne, plus I’écart type est
élevé et plus I’épreuve est discriminante. Dans le cas contraire, les notes seraient concentrées autour de
la moyenne et I’épreuve n’aurait done pas d’influence significative sur les scores des candidats.
Pour une épreuve donnée, considérons n candidats ayant obtenu les notes x, (1Vous aimerez peut-être aussi