TD Mimodje

TD Mimodje

Travaux Dirigés d’algorithmique et de programmation en Pascal REPUBLIQUE DU CAMEROUN -Paix – Travail – Patrie ———-MINISTERE DE L’ENSEIGNEMENT SUPERIEUR –UNIVERSITE DE DSCHANG INSTITUT UNIVERSITAIRE DE TECHNOLOGIE FOTSO VICTOR DE BANDJOUN REPUBLIC OF CAMER —Peace org –MINIST Sni* to ——UNIVERSI –FOTSO VI OF TECHNOLOGY BAN DJOUN —-DEPARTMENT OF DATA PROCESSING DEPARTEM ENT INFORMATIQUE Travaux diriges d’algorithmique et de programmation en Pascal Réalisé par: Modeste Mimodje IUT Fotso Victor de bandjoun Etudiant en Génie Informatique coefficient, les notes ont le même coefficient.

Illustration Notes coefficients Note coefficié Matière Algorithme Système d’informatisation Base de données programmation Total 2. Analyse Cl Spécification de l’algorithme Le principe de résolution de ce problème est le suivant -Créer un type élève ayant en paramètre le nom et la note de l’élève. -le programme demande à Putilisateur d’entrer le nom de l’élève suivi de ses différents notes -le programme doit afficher dans un tableau récapitulatif le nom et la moyenne de chaque éleve. si l’élève n’a aucune note alors il affiche « * » à la place de la moyenne. l’utilisateur lie le nom de chaque élève est ses différent notes. 3. Programme Travaux Dirigés traité par Modeste Mimodje Page 1 comprise entre O et 20′) end; som moy

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
; for i to nbre ele do if(nbre_not=O) them writeln(‘ » -k ; writeln(‘l_ »eleve ‘classe[i] ‘a pour moyenne :’,moy) ; end Page 2 5. Commentaires Notre programme est écrit pour être exécuté en deux actions.

La première action consiste à demander le nom de l’élève et ensuite ses différentes notes ensuite calculer la moyenne de chaque élève. La moyenne de chaque élève étant calculée on assiste à la econde action qui est l’affichage du nom de chaque élève suivis de sa moyenne. pour son exécution nous avons utilisé de manière prépondérante les instructions ditérative est les instructions conditionnelles. En effet pour le comptage nous avons utilisés les instructions itérative for -do) car nous voulons entrer plusieurs notes et de dialoguer avec le programme.

Notons tout de même que les remarques de Futilisateur face à certain insuffisance du programme nous serons d’une importance capital pour famélloration de nos programme futur en commençant par ce premler. Exercice 2 : Lettres communes a deux mots 1. Exposé du problème Le problème que pose cette exercice et d’afficher les lettres qui sont communs dans deux mots donnes au programme par l’utilisateur. Le principe de la solution et de prendre deux mots et de comparer les caractères du mot 1 au caractère du mot2 et par la suite afficher les caractères commun aux deux mots.

Notons qu’un caractère seras afficher le nombre de fois qu’il apparait dans les deux mots. Page 3 Programm lettre_commun Const nbrecarl ; Type motl of string ; Type mot2=array[min…. ……. nbrec2] of string ; Fonction :integer motl ,mot2 string) • booléen Var i,mill ,mi12 :integer ; trouvé,nontrouvé : boolée commun au deux mots’) ; return(vrai) ; endif mot2[mi12])them return tri_fusion(min,mill ,mi12 :integer ;motl ,mot2 :char) ; else return tri_fusion(mill :integer ; mot 1 ,mot2 :char) ; repeat writeln(‘Le caractere’motl[mil]’est commun aux deux mots’) ; until(motl end ; end. . Commentaires Page 4 La résolution de cet exercice nous amène à utiliser deux tableaux. Le premier tableau pour le premier mot et le second tableau pour le second mot. Et pour effectuer le ri nous avons utilisés le tri par fusion qui consiste à mettre en exergue la devise diviser pour régner et nous avons opté que cette fonction soit récursive. En effet nous avons opté pour le tri par fusion par ce que les caractères ne sont pas trié suivant un ordre prédéfini par la suite nous avons utilisé la boucle repeat …… ntil pour faire afficher les caractères qui sont commun aux deux mots. 5. Discussion Au cours d’utilisation de ce pro ramme, l’utilisateur ne fera qu’entrer deux mots et résolution de ce problème nous amène à utiliser la méthode « diviser our régnier »c’est-à-dire diviser le problème en sous problème pour pouvoir le résoudre aisément. Dans le cas présent nous allons tout simplement utiliser la méthode par test. C’est-à-dire utiliser le test.

CYOù Futilisation de la sélection par cas avec case. Comme les bases comprissent entre O et IO sont : -binaire -L’octal -Le décimal Comme le binaire et Poctal est inclus dans le décimal, nous allons tout simplement prendre des nombres en décimal pour les convertir en binaire ou en octal selon le choix de l’utilisateur. Notons tout de même que nous allons divisés le ombre décimal par le nombre correspondant a la base que nous voulons convertir. age 5 Programm conversion_en_base ; Var choix,nobre :integer ; Fonction conversion_binaire(nbre :integer) :integer Var i,k,tab :intege Do Tab[i] , While(nbre 1=0) Writeln(‘La conversion en pac;F6CFq d’un decimale en Binaire’) ; writeln(‘2 pour convertion d’un decimale en Octal’) ; writeln ; writeln(Veiller entrer numero corespondant a votre choix’) ; readln(choix) ; case choix of entrer un nombre a convertir en binaire’) ; readln(nbre) ; conversion_binaire(nbre) ; 1 avriteln(‘Veiller entrer un nombre a convertir en octal’) ; onversion_octal(nbre) ; page 6 4.

Commentaire Notre programme est structuré en trois grandes parties. Nous avons utilisé deux fonctions au sein de notre programme. La première fonction a pour objectif de convertir un nombre décimal en binaire et le second a pour objectif de convertir un nombre décimal en un nombre octal. Enfin dans notre programme principal ces fonctions sont appeler pour retourner le nombre convertie en binaire ou en octal suivant le cas. 5. Discussions Exercice 4 Signe du zodiaque Le problème que pose cet ‘afficher le signe du PAGF3œFq zodiaque à l’ecran.

Programme signe_du_zodiaque ; Type Jour : integer ; mois : string ; Begin Writeln(‘Veiller entrer votre jour de naissance’) ; Readln(jour) ; Writeln(‘Veiller entrer votre mois de naissance’) ; page 7 Readln(mois) ; While((mois=décembre) or (mois=janvier)) and ) and and (jour<=19)) Writeln('vous êtes capricorne') ; Endif Endwhile or (mois=fevrier)) and (jour<=31 ) and and Writeln(Gv'ous êtes verseau) ; While((mois=fevrier) or (mois=mars)) and ) and and (jour<-20)) Writeln(Vous êtes poisson) ; While((mois=mars) or (mois=avril)) WritelnCvous êtes Belie#) ; endwhile or (mois—septembre)) and ) and and

Writeln(‘vous êtes vierge’) ; E-ndif or (mois=octobre)) Writeln(‘vous êtes Balance’) ; Page 8 Travaux Dirigés d’algorlthmque et de programmation en pascal While((mois=octobre) or (mois=novenbre)) and ) and and )) Writeln(Vous êtes scorpion’) ; or (mois=decembre)) and (jouF=31 ) and and (jouF=1 g)) Writeln(‘vous êtes sagitaire’) ; Le programme pourra parfaitement établir la correspondance entre le nom d’un signe et la date de naissance. Mais la difficulté rencontres sera le temps d’exécution de ce programme. Sa doit paraitre Ion mai nous osons croire qu’il effectuera tout de même *AGF g c,Fq