Université de Xidian – Polytech’Sophia 2017–2018
Langage C
(V. Granet)Durée : 1h30 Aucun document autorisé - Téléphones interdits
Nom chinois : Nom Pinyin :
Numéro étudiant : Classe :
I 1. Aux États-Unis (entre autres), les étudiants sont notés avec des lettres qui définissent un grade : A = excellent, B = Bien, C = Passable, D = Insuffisant et F = Très Faible). Écrivez un programme C qui lit un grade sur l’entrée standard, et qui écrit sur la sortie standard l’avis correspondant.
Vous utiliserez l’énoncéswitch. Vous penserez aussi à traiter le cas d’erreur.
1
On représente les coordonnées d’un point pdu plan cartésien par deux réels (double) xet y tels quep= (x, y).
I 2. Écrivez en C la fonction distance qui renvoie la distance entre 2 points p1 = (x1, y1)et p2 = (x2, y2)telle quep
(x2−x1)2+ (y2−y1)2. L’en-tête de cette fonction est le suivant :
/*
* A n t é c é d e n t : ( x1 , y1 ) et ( x2 , y2 ) 2 p o i n t s du p l a n
* R ô l e : ...
*/
d o u b l e d i s t a n c e (d o u b l e x1 , d o u b l e y1 , d o u b l e x2 , d o u b l e y2 )
I 3. On appelle p¯la distance d’un point p = (x, y) par rapport à l’origine (0,0). Écrivez en C la fonctioncomparequi compare 2 points (4 réels double)p1= (x1, y1)etp2= (x2, y2)et renvoie :
-1 sip¯1<p¯2
0 si p¯1= ¯p2
1 si p¯1>p¯2
2
I 4. Écrivez un programme C qui lit sur l’entrée standard 4 réels (double) qui représentent les coordonnées de 2 points du plan cartésien (x1, y1)et (x2, y2). Votre programme affiche d’abord la comparaison des 2 points, puis calcule la distance d entre les 2 points et affiche sur la sortie standard :
— petite distance, sid <1
— moyenne distance, si16d <10
— grande distance, si d>10
3