Enoncé précédent Enoncé suivant

 

C23. Machine de Turing – Programmation PASCAL – Programmation modulaire  Corrigé 

Exercice 1 : impression de Ven Pascal

Ecrire la procédure Pascal imprimeV ( C, x) qui imprime une grande lettre V avec le caractère c pour x impair donné.

Si C = '1', Le V sera écrit comme suit :

 

1          <-- x blancs ----->       1

1       <--(x-2) blancs->     1

1             ect...            1

1                        1

1                 1

1           1

1     1

  1 

 

Exercice 2 : Mots de la forme …..XY………., Mots de la forme ….X….Y….

Sur la machine caractères écrire les algorithmes qui déterminent :

a) les mots de la forme .....XY...... c'est à dire n caractères suivi de la chaîne 'XY' suivi de m caractères. n et m sont des entiers quelconques et strictement supérieurs à 0.

b) les mots de la forme ...X....Y... c'est à dire c'est à dire n caractères suivi de la lettre 'X' suivi de m caractères suivi de la lettre 'Y' suivi de p caractères. n ,m et p sont des entiers quelconques et strictement supérieurs à 0.

Exercice 3 : Variétés

On veut écrire un seul algorithme, soit L, qui recherche dans une suite de nombres ( N > 2 ) les éléments suivants :

a) le dernier nombre s'il existe dont le carré est égal à la somme des deux précédents.

b) les 3 plus grands nombres.

c) les éléments qui sont des factorielles de nombres.

1)Déterminer le module nécessaire ( sans le développer ) pour chaque cas (a, b et c) en définissant clairement ses entrées et sorties.

2)En utilisant ces modules, donner le corps de l'algorithme L.

3)Développer les modules définies dans a).

Exemple : si on prend la suite suivante de nombres :

6, 0, 1, 32, 23, 45, 13, 3, 4, 7, 24, 6, 120, 51, 13, 8, 34, 9

alors L fournit les résultats ( en gras) :

a) ===> 8 car 8 X 8 = 51 + 13 ( on prendra pas 4 bien que 4X4 = 13 + 3 car ce n'est pas le dernier)

b) ===> 45, 120 et 51

c) ===> 6, 1, 24, 6 et 120