UNIVERSITE D’ANTANANARIVO FACULTE DES SCIENCES DEPARTEMENT DE PHYSIQUE T.D. Algorithmique–Programmation Analyse numérique ( L.I.E.R. ) Année universitaire 2012 STRUCTURE DE SEQUENCE Exercice 1 Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ? Algo Exo1 Entier A , B Début A 5 B 2 A B B A Fin . Exercice 2 1°) Ecrire un algorithme permettant de : a ) Lire au clavier 2 variables entières A et B . b ) Les afficher à l’écran c ) Echanger les valeurs des ces deux variables d ) Afficher les nouvelles valeurs à l’écran 2°) Traduire cet algorithme en Pascal . entières , et ce , quel que soit leur contenu préalable Exercice 3 Lire au clavier 2 nombres entiers a et b. Calculer et afficher leur moyenne. Exercice 4 Lire au clavier les longueurs des 3 côtés a , b et c d'un triangle quelconque . Calculer et afficher le périmètre et l'aire du triangle Exercice 5 Lire au clavier le rayon R d'un cercle et un angle a ( en degré(s) ) . Calculer et afficher l'aire du secteur circulaire correspondant STRUCTURE DE CHOIX Exercice 6 Lire 2 entiers a et b . Les écrire dans l’ordre croissant . Exercice 7 Déterminer la valeur absolue d'un nombre réel x à partir de la définition de la valeur absolue . Exercice 8 Résoudre l'équation du premier degré : a * x + b = 0 EXPRESSIONS LOGIQUES ET VARIABLES BOOLEENNES Exercice 9 Dans le tableau suivant , TRUE ( vrai ) est noté par T et FALSE ( faux ) par F . x et y sont des variables booléennes : x T T F F y T F T F not x F F T T x and y T F F F 1°) Si a = 1 , b = 2 et c = 3 , donner la valeur de chaque variable booléenne suivante : z1=(b>8) ou (c<1) z2=(b>a) et (c>b) z3= non((b>a) et (c>b)); z4= ((b>a) et (c>b)) ou (a<0); 2°) Etablir un programme en Pascal permettant de calculer ces valeurs 1 x or y T T T F CHOIX MULTIPLE Exercice 10 Lire un caractère ( au clavier ) et afficher ( à l’écran ) s’il est minuscule ou majuscule ou n’est pas une lettre de l’alphabet ( non répertorié ) . Exercice 11 Dans un processus de traitement , on affecte la durée d’une tâche en fonction du numéro d’étape : la tâche n°1 a une durée de 15 s , la tâche n°2 dure 10 s , la tâche n°3 dure 25 s et la tâche n°4 de durée 0 s déclenche l’arrêt du processus . Etablir un algorithme pour ce processus puis le traduire en langage Pascal BOUCLE « TANT QUE » Exercice 12 1°) Etablir un Algorithme permettant de calculer la somme d’une série de nombres entiers positifs saisis au clavier . La saisie est terminée par un nombre négatif . 2°) Traduire en langage Pascal cet algorithme Exercice 13 Ecrire un algorithme qui demande au clavier un nombre entier entre – 1 et 8 jusqu'à ce que la réponse convienne . BOUCLE « POUR » Exercice 14 Ecrire un algorithme qui demande un nombre entier de départ , et qui ensuite affiche les dix nombres suivants Par exemple , si le programmeur fait entrer le nombre 17 , le programme affichera les nombres de 18 à 27 . Exercice 15 Calcul de la nème puissance entière d'un nombre réel x par multiplications successives du nombre par lui – même . Ici , le nombre de répétition N de l'instruction est connu . BOUCLE « Répéter ... jusqu'à » Exercice 16 Etablir un algorithme et le programme Pascal correspondant qui permet la saisie au clavier d’une série de nombres entiers . La saisie est terminée lorsque la somme des nombres devient supérieure ou égale à un nombre entier Nmax donné . Exercice 17 Calcul de la nème puissance entière d'un nombre réel x par multiplications successives du nombre par lui – même . Ici , le nombre de répétition N de l'instruction est connu . TABLEAUX OU VARIABLES INDICEES . Exercice 18 Etablir un algorithme et le programme Pascal qui permet de déterminer , à partir de 20 notes fournies en donnée , le nombre d’étudiants ayant une note supérieure à la moyenne de la classe . Exercice 19 On considère la matrice carrée A suivante : 2.8 4.9 5 A = 3.7 12 6.3 11 0.14 7.5 Ecrire un algorithme puis le programme en Pascal permettant : 1 ) de saisir au clavier les éléments de A . 2 ) d’afficher à l’écran A 3 ) de calculer sa trace . 2 FONCTIONS ET PROCEDURES Exercice 20 Etablir puis appeler une fonction définissant la tangente d’un angle exprimé en degré . Exercice 21 Déterminer le maximum dans une série de N mesures positives , saisies au clavier en utilisant une fonction de calcul du maximum de 2 valeurs réelles Exercice 22 Etablir un algorithme puis le programme en Pascal permettant de saisir au clavier et d’afficher à l’écran un nombre complexe z = a + j*b [ j2 = -1 ] . Exercice 23 Etablir un algorithme puis le programme en Pascal permettant 1° ) de saisir au clavier un nombre complexe z = a + j*b [ j 2 = -1 ] . 2° ) d’afficher à l’écran z [ forme algébrique ] 3° ) de calculer son module r et son argument t 4° ) d’afficher à l’écran z sous forme exponentielle APPLICATION : ANALYSE NUMERIQUE Exercice 24 SEPARATION DES RACINES DE L’EQUATION ALGEBRIQUE F(X) =0 Etablir un algorithme permettant de séparer dans un intervalle I = [ a , b ] les racines réelles d’une équation algébrique f(x) = 0 . Application : f(x) = x3 – x2 + 0.072 et I = [ – 1 , 1 ] . Exercice 25 METHODE DES APPROXIMATIONS SUCCESSIVES POUR LA RESOLUTION DE L’EQUATION F(X) = 0 A ) Etablir , un organigramme , puis l’algorithme et le programme en Pascal permettant de déterminer la racine approchée à 0,001 prés de l’ équation algébrique : 0.5*sin(2*x) – x = – 1.335 en utilisant la méthode des approximations successives . B ) Exercice d’application : Un tronc cylindrique de diamètre , de longueur L et de densité d flotte sur l’eau ( de masse volumique ‘ ) . L’axe du cylindre est horizontal .Etablir un programme en Pascal permettant de calculer la hauteur h de la partie du cylindre immergée dans l’eau . Application numérique : = 2,40 m ; L = 4,50 m ; d = 0,425 . Exercice 26 RESOLUTION NUMERIQUE D’UN SYSTEME TRIANGULAIRE Etablir un algorithme puis le programme en Pascal permettant de résoudre le système triangulaire suivant : 1.000*X1 – 2.000*X2 + 3.000*X3 – 4.000*X4 = 1.000 0.000*X1 + 4.000*X2 – 16.000*X3 + 22.000*X4 = – 7.000 0.000*X1 + 0.000*X2 + 3.000*X3 – 5.500*X4 = 7.750 0.000*X1 + 0.000*X2 + 0.000*X3 – 10.167*X4 = 6.417 Exercice 27 RESOLUTION D’UN SYSTEME D’EQUATIONS LINEAIRES ( A*X = B ) PAR L’ALGORITHME DE GAUSS Etablir un algorithme , l’organigramme puis le programme en Pascal triangulaire le système suivant afin de le résoudre . 2 6 2 8 16 x 1 5 1 4 2 2 x2 . = 1 1 2 4 9 x3 2 1 1 1 1 x4 3 permettant de rendre