NF01 - Automne 2003 Examen Médian - 1 heure 30 Documents Interdits Utilisez quatre copies séparées : - une copie pour le problème n°1 - une autre copie pour le problème n°2 - une autre copie pour le problème n°3 - une dernière copie pour le problème n°4 Problème n°1 (6 points) 1. Qu’affiche l’extrait de programme pascal suivant : var i, j : integer; begin for i := 1 to 5 do begin for j := 1 to i - 1 do write(i-j:2); writeln ; end; end. 2. Compléter l’extrait pour que s’affiche à la fin de chaque ligne la somme des nombres qui y figurent. 3. Modifier l’extrait pour que l’utilisateur affiche une par une chaque ligne en appuyant sur les touches « S » puis « entrée », sans pouvoir cependant afficher plus de 9 lignes à l’écran. L’appui sur une touche différente de « S » arrête l’affichage. Problème n°2 (3 points) Ecrire le diagramme de Conway associé au langage défini par la formule syntaxique suivante : a bn cm d en f avec n 1 et m 0 (on peut ne pas avoir de ‘c’) Problème n°3 (5 points) On se propose de construire un algorithme pour transformer des coordonnées cartésiennes (x,y) en coordonnées polaires (r,t) : M En coordonnée cartésiennes : r y x : abscisse du point y : ordonnée du point En coordonnée polaires : t O x H r : module du vecteur position OM t : mesure de l’angle en radian entre l’axe des abscisses et le vecteur position Si x 0 r2 = x2 + y2 t = arctan (y/x) auquel il faut rajouter si x<0 (cf quadrant) Si x = 0 Si y > 0 t = /2 Si y < 0 t = -/2 Si y = 0 t n’existe pas Vous devez écrire le programme permettant de saisir les coordonnées cartésiennes (x et y), de calculer les coordonnées polaires (r et t), et enfin de les afficher (si elles existent). Problème n°4 (6 points) Ecrire un programme en Pascal qui affiche le nombre que vous pouvez obtenir à partir d'un nombre entier (composé de 4 chiffres différents), entré au clavier, par l'élimination du plus grand des chiffres qui le composent. Exemple : Si vous saisissez au clavier le nombre 6815, votre programme doit afficher 615. Explication : On vous demande simplement d'afficher (sans le recalculer) le nombre obtenu. Dans un premier temps vous devez extraire les chiffres correspondant aux unités, aux dizaines, aux centaines et aux milliers. Pour cela vous devez utiliser les fonctions mod et div.