Enoncé précédent Enoncé suivant

 

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

Exercice 1 : Moyenne

Soit un vecteur contenant N mesures. Calculer leur moyenne et le nombre de mesures qui diffèrent de la moyenne de plus d'une quantité donnée.

1) Donner l'algorithme

2) Ecrire le programme PASCAL correspondant.

Exercice 2 : Reconnaissance de données arithmétiques

Dans le langage PL1, une donnée arithmétique DECIMAL FIXED (W, D) peut avoir l'une des deux formes suivantes :

chchch.......ch

ou

chchch.......ch.chch.......ch

W est le nombre total de caractères, D est le nombre de chiffres après le point décimal.

Ecrire l'algorithme puis le programme PASCAL permettant de reconnaître N données arithmétiques DECIMAL FIXED (W, D) lues. Les données utilisées sont séparées par des blancs, des virgules ou une combinaison des deux.

Ce programme doit reconnaître ces données, les contrôler et les ranger ( sans conversion) dans un tableau en spécifiant leur précision.

Exemple :

Si on a : 123,,,143.5 ,12A3 1538.38 , , 342.56 AABCD 1,2,34 #

on aura :

* * Constante erronée : 12A3

* * Constante erronée : AABCD

Premier élément :123 W=3 D=0

Deuxième élément :143.5 W=5 D=1

Troisième élément :1538.38 W=7 D=2

Remarques :

- Le programme doit signaler les erreurs éventuelles.

- l <= 15 et N <= 10

Exercice 3 : Tri par interclassement

On considère le vecteur initial à N éléments comme N sous-vecteurs triés à un élément. Un premier interclassement des sous-vecteurs deux à deux conduit à des sous-vecteurs triés de deux éléments. On recommence alors jusqu'à obtenir un seul vecteur trié. Si à une étape, on a un nombre impair de sous vecteurs, le dernier est reporté sans changement à l'étape suivante.

Exemple :

12 4     8 11      14 10     11 5     1 13

(4 12)   (8 11)   (10 14)   (5 11)   (1 13)

(4 8 11 12)        (5 10 11 14)       (1 13)

(4 5 8 10 11 11 12 14)      (1 13)

(1 4 5 8 10 11 11 12 13 14)

Donner l'algorithme réalisant cette méthode de tri. On utilisera le module d'interclassement sans le développer.