Tpalgo2

Tpalgo2

TRAVAUX DIRIGE D’ALGORITHME ET PRIGRAMMATION EN PASCAL EXEXRCICE 1 : comptage de mots 1. Exposé du problème. Le problème que pose cet exercice et de prendre un texte ou un certain nombre de mot et de compter le nombre de mot contenu dans un texte tout en sachant que chaque mot se termine par un espace vide, l’apostrophe, les deux points, la virgule. Exemple L’amitié n’est pas transmissible : une fonction amie de la classe mere ne sera amie que de la classe fille amie dans la classe fille.

Votre texte comport 2 t, 2. Analyse Analyse fait, nous constatons qu’il est d’une importance capital ‘accéder au tout le texte ligne par ligne. Ainsi pour réaliser le comptage nous allons rechercher la première séquence de caractère diffèrent d’un séparateur, ensuite la première séquence de caractère égale a un séparateur pour marquer la fin dun mot. Notons tout de même que nous considérons comme séparateur la fin de ligne, l’espace, la ponctuation ( : . ; ? l), les parenthèses ( ),les gu’llemets, l’apostrophe 3. Programme nbrmots O ; writeln(« VeiIler saisir votre texte en le terminant par une while( ! -O) begin if(separa=’writeln’) if(mot) nbrmot++ ; mot FAUX ; end lse mot

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

Choisissez un plan d'adhésion
= VRAI ; && caracpre—=’writeln’) mot=VRAl, caracpre=carac ; Writeln(« Votre texte comporte « ,nbrmot »mot ») ; Travaux Dirigés traité par Modeste Mimodje Page 1 4. commentaire Dans notre fonction Separa, nous avons une seul instruction : While(carac ! separa[i] i++ cnbrsepara-l) ; Cette fonction nous permet de savoir si notre caractere est un separateur e ou pas. Pour mieux expliquer notre fonction , si le caractere est diferent d’un separateur alors on incremente i, et on verifie si les caracteres restant corespondent au caractere suivant. 5. Discussions Notre programme a pour tion separa, car cette Integer Fonction tri(tab[i],ival,val,i:integer) :integer page 2 Var k, tamp:integer Begin for( i = 1 aN-1 ival for(k-l to ival)do End 4.

Commentaire Apres exécution de la fonction tri ,le programme procède a l’affichage de des valeurs du tableau déjà tri a l’aide de la boucle to ival)do. 5. Discussion Au regard du fait que le programme doit afficher progressivement le tableau trier, nous n’avons pas juger important d’iplanmter en mémoire de maniere recurclve. PASCAL begi tamp ; tab[j] ; tab[j+l] ; (programme principale} (declaration des variables locales} ar :integer ; Tabl of integer , of integer , Tab=array[l .. ] of integer ; 1=0 : integer programme prend en entrer les elements de deux tableaux,les comparent et les ranges ensuite suivant l’ordre croissant’) ; Writeln(« Quelle est la taille de votre tableau 1 ») ; Readln(nbl) Writeln(« Quelle est la taille de votre tableau 2 ») ; Readln(nb2) ; n=nbl +nb2 ; to nbl) writeln(« Veiller entrer vos valeurs dans le tableau 1 ») ; entrer une valeur’) ; readln(tab[i]) ; writeln(« VeiIler entrer vos e tableau ; d’utilisation. Page 6 Nous avons utilisé deux procédure pour réalise notre programme remière et la procédure de bulle et la seconde la procédure de fusion.

Exercice 5 Facturation par code de recherche 1. Enonce du problème Le problème que pose cette exercice et de concevoir un programme qui réaliseras une facture en fonction du code qui seras attribuer a chaque produit. Combien d’article voudriez-vous facturer ? 2 Veiller entrer le code de vos article. Code article 1 1200frs Le prix unitaire de l’article 3 est : Code article 2 Le prix unitaire de l’article 4 est : 800frs Article Pain Avocat Format Total N bre 2 8 « cahier » ,200 ; 3, « ardoise « ,75 ; « ,25 , Recherche(integer) :integer ; Facture(. ?? Nbarti,codart,i,qte,rangarti :integer ; Priarti, . :integer Writeln(« VeiIler indiquer le nombre d’article a facturer’) ; Readln(nbarti) ; to nbrarti)do entre le code de l’article « ,rangarti « et son prix unitaire et la quandite de produit. « ) ; Readln(codart) ; Readln(priuni) ; Priart[i]=qte * priuni[i] ; Page 8 to nbrarti) do writeln(« rangarti », »qte », »priarti ») ; (recherche code article} rang++ Fonction Recherche(integer) :integer ; Rang : integer Rang = O ; codeartmbrarti-l) if(rang(