Vous êtes sur la page 1sur 2

UNIVERSITE SULTAN MY SLIMANE Année Universitaire 2017-2018

Faculté Polydisciplinaire Master Physique Moderne /S1


Béni Mellal Module : Algo & Programmation
Mercredi 10 Janvier 2018.
Examen ordinaire: (durée : 2h )
Question de cours :
1. Quelle est la différence entre la boucle tant que et la boucle répéter ?
2. Ecrire un programme en C qui lit 2 nombres entiers au clavier, qui calcule et affiche leur
différence et leur produit.
Exercice 1 :

Algorithme num 1
Algorithme num 2
Type Tab=Tableau [2, 2] en Entier
Type Tab=Tableau [3, 2] en Entier
Variables i, j, val en Entier
Variables k, m, en Entier
X : Tab
T :Tab
Début
Début
val ←− 1
Pour k de 1 à 3 faire
Pour i de 1 à 2 faire
Pour m de 1 à 2 faire
Pour j de 1 à 2 faire
T[k, m] ←− (k + 1) + 4 * m
X[i, j]←− Val
Fin Pour
Val ←− Val + 1
Fin Pour
Fin Pour
Pour k de 1 à 3 faire
Fin Pour
Pour m de 1 à 2 faire
Pour i de 1 à 2 faire
Ecrire (T[k, m])
Pour j de 1 à 2 faire
Fin Pour
Ecrire (X[i, j])
Fin Pour
Fin Pour
Fin
Fin Pour
Fin

Exercice 2 : Fonction de Planck


Soit la fonction de Planck :
x3 hν
Planck(x) = x où x = est un argument sans dimension
e −1 kT
1. Écrire un programme planck dans la langage C/C++ qui, en vue d’un tracé, échantillonne
sur un intervalle fini la fonction de Planck et affiche sur la sortie standard les valeurs de
x et de Planck(x) (à raison d’un point par ligne). Dans un premier temps, on décrira
l’intervalle [0,5; 10] par pas de 0,5
2. Déplacer le calcul de la fonction de Planck dans une fonction f planck à un argument x
renvoyant la valeur de Planck(x). La fonction f planck sera appelée à chaque passage
dans la boucle décrivant l’intervalle.
3. Tracer la fonction de Planck en fonction de x. Pour cela, rediriger les données de la sortie
standard par défaut vers un fichier planck.data et utiliser gnuplot pour tracer les courbes
(commande gnuplot puis : plot ”planck.data” using ($1):($2) with points
où $1 et $2 sont les champs correspondant aux données que vous voulez tracer).
4. Réécrire le programme de question (1) en utilisant la langage Fortran.

1
Exercice 3 :

Un corps noir est un corps en équilibre avec le rayonnement électromagnétique qu’il émet et ab-
sorbe continuellement. Le spectre en énergie ne dépend que de sa température T (température
absolue, mesurée en degrés Kelvin). Plus précisément, soit u(ν, T )dν la puissance du rayon-
nement du corps noir par unité de surface, pour des fréquences comprises entre ν et ν + dν. On
démontre que u est de la forme :

u(ν, T ) = ν 3 α Tν
(1)
e −1
8πkB h
où a= c2
et α= kB .

h constante de Planck h = 6.62 × 10−34 J s


kB constante de Boltzmann kB = 1.38 × 10−23 JK −1
c vitesse de la lumière c = 3.00 × 108 m s−1

1. Définir tout d’abord le u de l’équation (1) comme fonction (au sens de Mathematica) des
deux variables ν et T . Introduire ensuite les expressions de a et α. Afficher u(ν, T ) .

2. On veut maintenant tracer le spectre d’un corps noir à la température ambiante (T =


300◦ K). Pour cela il vous faut introduire les valeurs numériques des constantes h, kB et
c. Afficher d’abord la valeur de u pour cette température et pour ν = 1013 Hz et s’aider
de cette valeur pour déterminer l’échelle du graphe, puis tracer u.

3. Faire un zoom au voisinage de ν = 0 et interpréter le résultat observé en utilisant


l’équation(1).