C23. Machine de Turing Programmation PASCAL Programmation modulaire Corrigé
Exercice 1 : impression de Ven PascalEcrire 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