Enoncé précédent Enoncé suivant

  

 C14. Machine de Turing - Programmation PASCAL  Corrigé  

Exercice 1: Facture

En vue d'établir une facture, on a relevé sur chaque ligne d'un fichier TEXT PASCAL les informations que l'on organise comme suit :

Ccolonne 1 à 5 : numéro du produit ou désignation

Colonne 10 à 14 : quantité ( entier)

Colonne 20 à 28 : prix unitaire

La dernière ligne ne contient que des zéros.

Ecrire l'algorithme puis le programme PASCAL qui édite la facture selon le format suivant :

<-----15------> <---10---> <---10---> <---10--->

*---------------*----------*----------*----------*

* DESIGNATION   * QUANTITE *    PU    *   TOTAL  *

*---------------*----------*----------*----------*

*     ???       *    ???   *    ???   *    ???   *

*               *          *          *          *

*               *          *          *          *

*               *          *          *          *

*               *          *          *          *

*               *          *          *          *

*               *          *          *          *

*---------------*----------*----------*----------*

*                                                *

* NET A PAYER : ???                              *

*                                                *

*---------------*----------*----------*----------*

 

Exercice 2 : Analyse d'un texte

Soit un texte se terminant par le mot 'FINTEX'. Le texte contient des mots et des commentaires. Un commentaire est une suite de caractères comprise entre /* et */.

Un mot est une suite de caractères ne contenant pas de blancs et ne commençant pas /*. Un mot est dit numérique s'il ne contient que des caractères numériques. Un mot est dit alphabétique s'il ne contient que des caractères alphabétiques.

Ecrire un algorithme commenté qui rend la valeur 0 s'il s'agit d'un commentaire, la valeur 1 si le mot est alphabétique, la valeur 2 s'il est numérique et la valeur 3 dans les autres cas. De plus, dans le cas o� le mot est numérique, l'algorithme doit fournir la valeur entière de ce mot et ce en utilisant la fonction PRENDRE(Mot, I) définie ci-dessous.

NB.

- La fonction PRENDRE(Mot, I) donne le caractère de rang I dans le mot Mot.

- On suppose que l’ensemble des caractères est muni d'une relation d'ordre "<" définie comme suit : autres caractères < '0'<'1'<. <'9'<'A'<'B'.. <'Z'

- La lecture se fait caractère par caractère.

Exemple

Texte : DEBUT---A-=-B5--/*AX--*/---V5+---;-A/*X---FIN--385---4B+----/*AB+-/*-X34--*/--25--FINTEX

Résultat

1, 1, 3, 3, 0, 3, 3, 3, 1, 2(385), 3, 0, 2(25)

 

Exercice 3 : Tri de 4 variables

Ecrire un algorithme qui liste en ordre croissant les contenus de 4 données A, B, C et D.