Dans le cadre d'un exercice de TP, je cherche à écrire un algorithme permettant d'effectuer la division euclidienne de deux nombres a et b sur Algobox.
Contrainte: On ne peut utiliser que l'addition/soustraction.
J'ai écrit un algorithme, mais qui n'aboutit pas... J'arrive bien à déceler l'erreur, mais je n'arrive pas à la corriger. L'erreur est dans la partie rouge... Merci de m'aider
- Code: Tout sélectionner
ALGOBOX : SANSTITRE
CODE DE L'ALGORITHME :
1 VARIABLES
2 a EST_DU_TYPE NOMBRE
3 b EST_DU_TYPE NOMBRE
4 x EST_DU_TYPE NOMBRE
5 i EST_DU_TYPE NOMBRE
6 v EST_DU_TYPE NOMBRE
7 q EST_DU_TYPE NOMBRE
8 DEBUT_ALGORITHME
9 LIRE a
10 LIRE b
11 SI (b == 0) ALORS
12 DEBUT_SI
13 AFFICHER "On ne divise pas par 0"
14 FIN_SI
15 SINON
16 DEBUT_SINON
17 x PREND_LA_VALEUR a-b
18 TANT_QUE (x>b) FAIRE
19 DEBUT_TANT_QUE
20 x PREND_LA_VALEUR x-b
21 FIN_TANT_QUE
22 AFFICHER x
23 v PREND_LA_VALEUR a-x[COLOR=Red]
24 i PREND_LA_VALEUR 1
25 POUR i ALLANT_DE 1 A 100
26 DEBUT_POUR
27 TANT_QUE (v-b*i>0) FAIRE
28 DEBUT_TANT_QUE
29 POUR i ALLANT_DE 1 A 100
30 DEBUT_POUR
31 TANT_QUE (v-b*i>0) FAIRE
32 DEBUT_TANT_QUE
33 q PREND_LA_VALEUR v-b*i
34 FIN_TANT_QUE
35 FIN_POUR
36 FIN_TANT_QUE
37 AFFICHER i
38 FIN_POUR[/COLOR]
39 FIN_SINON
40 FIN_ALGORITHME
