Enoncé précédent Enoncé suivant

 

 C12. Machine de Turing - Vecteurs - Programmation PASCAL Corrigé  

Exercice 1 : vérification syntaxique des déclarations FORTRAN

Soit un ensemble de N lignes oł chacune renferme une déclaration FORTRAN. Ecrire un algorithme commenté qui imprime pour chaque déclaration la valeur VRAI si elle est correcte, un message d'erreur si elle est fausse.

Une déclaration FORTRAN a la forme suivante :

Colonne 1 à 6 : des blancs

Colone 7 à 72 : texte de la déclaration

Le texte de la déclaration a la forme suivante :

TYPE Idf1, Idf2, ,Idfn

avec type dans { INTEGER, REAL, LOGICAL}

Idf1, Idf2, .....et Idf3 sont des identificateurs.

a)Entre TYPE et l'identificateur il y a au moins un blanc. Les identificateurs sont séparés par des virgules. Des blancs peuvent exister entre les identificateurs et les virgules.

b) Idfi : suite de caractères alphanumériques dont le premier est alphabétique. La longueur est au maximum égale à 8.

On suppose qu'il existe une relation d'ordre dans l'ensemble des caractères. On a ainsi par définition :

autres caractères <'1'<'2'<... <'9'<'A'<'B'.. < 'Z'

Chaque ligne renfermant une déclaration est lue caractère par caractère. On utilisera la fonction Sauter-ligne qui permet le positionnement en colonne 1 de la ligne suivante.

 

Exercice 2 : Course de ski

Pendant une course de ski, on a relevé après un essai les temps mis par N concurrents. On désire, après avoir mis les informations sur fichier, obtenir d'abord le tableau d'affichage des temps mis par les N concurrents, puis le tableau d'affichage concernant uniquement les trois premiers.

Les données sur fichier ont la forme suivante :

Première ligne : nombre de concurrents sur 3 positions.

Dans les N lignes suivantes, on a recensé les informations concernant les concurrents. Chaque ligne est organisée comme suit :

Colonne 1 à 4 : Numéro du concurrent

Colonne 12 à 19 : Nom du concurrent

Colonne 30 à 31 : Minutes

Colonne 32 à 33 : Secondes

Colonne 34 à 35 : Centièmes de seconde

Le tableau d'affichage aura la forme suivante :

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

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

*           *               *              *

* NUMERO   *    NOM        *     TEMPS    *

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

*          *               * MM * SS * CC *

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

*          *               *    *    *    *

* numéro 1 *    nom 1      * mm * ss * cc *

*          *               *    *    *    *

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

*          *                *    *    *    *

etc ..

 

Ecrire l'algorithme et le programme PASCAL correspondant.