• Aucun résultat trouvé

1.1 Exercice de programmation 6 – Révisions

N/A
N/A
Protected

Academic year: 2022

Partager "1.1 Exercice de programmation 6 – Révisions"

Copied!
1
0
0

Texte intégral

(1)

TD Systèmes à Microprocesseurs - Electronique 3

- 1 -

6 – Révisions

1.1 Exercice de programmation

Soient les nombres de trois chiffres abc dont on cherche à tester la propriété suivante:

a3 + b3 + c3 = abc.

Par exemple : 33 + 73 + 13 = 27 + 343 + 1 = 371. L’objectif est d’écrire un programme qui réalise ce test, et qui sera structuré en 3 sous-programmes : TEST_CUBE,

VALEUR_NOMBRE et SOMME_CUBE.

Ecrire, en respectant les contraintes qui vous sont imposées :

a) Un programme principal appelant une fonction TEST_CUBE qui reçoit ses paramètres par la pile. Le programme principal utilisera trois variables A, B et C

pour représenter respectivement les centaines, les dizaines et les unités du nombre (que l’on supposera déjà décomposé) et seront initialisées de façon à traiter l’exemple 371. Le résultat du test sera renvoyé dans une variable TEST_RES (0 si le test est faux, 1 si le test est vérifié). Toutes les variables manipulées seront de type

.word.

b) Un sous-programme TEST_CUBE qui reçoit ses paramètres par la pile et renvoie dans le registre R0 le résultat du test (0 si le test est faux, 1 si le test est vérifié). Ce sous-programme devra faire appel à deux sous-programmes VALEUR_NOMBRE et

SOMME_CUBE.

c) Un sous-programme VALEUR_NOMBRE qui reçoit ses paramètres par les registres R1,

R2, R3 (respectivement centaines, dizaines, unités) et renvoie dans le registre R0 la valeur décimale du nombre abc. Cette fonction ne devra utiliser aucune instruction de multiplication.

d) Un sous-programme SOMME_CUBE qui reçoit ses paramètres par les registres R1, R2,

R3 (respectivement centaines, dizaines, unités) et renvoie dans le registre R0 le résultat de a3 + b3 + c3.

e) Modifier le programme principal de façon à compter le nombre d’éléments vérifiant la propriété a3 + b3 + c3 = abc, toujours en utilisant la fonction

TEST_CUBE. Le résultat sera renvoyé dans une variable NB_ELEMENTS.

Références

Documents relatifs

 Les acides carboxyliques qui ont un pKa supérieur à celui de l’acide formique portent des groupements donneurs.. Plus le groupe est donneur, plus le pKa est élevé, plus la

[r]

[r]

3) Sans chercher à donner la valeur, détailler le calcul à faire pour obtenir la valeur d'une année de lumière en mètres. Cette planète vient d’être découverte par les astronomes

3) Sans chercher à donner la valeur, détailler le calcul à faire pour obtenir la valeur d'une année de lumière en mètres. Cette planète vient d’être découverte par les astronomes

Schreib eine E-Mail an deinen Freund / deine Freundin in Hamburg und erzähle ihm/ihr alles, was du gemacht und gesehen hast... In seiner Freizeit liest Abdou ein

On désire comparer dans 3 groupes de malades E1,E2 et E3 , la distribution de l’évolution d’une maladie divisée en 3 classes : guérison, rechute, décès.. Les échantillons

Ecrire une analyse, un algorithme et sa traduction en Pascal d’un programme nommé SAISON qui permet de :. • Saisir un numéro