hello a tous,
je cherche en cobol a arrondir un chiffre au multiple de 10 suivant ?
ex : 53 le multiple de 10 suivant est 60 !
a moins qu il existe un moyen de calculer le modulo d un chiffre en cobol ?
par avance merci.
hello a tous,
je cherche en cobol a arrondir un chiffre au multiple de 10 suivant ?
ex : 53 le multiple de 10 suivant est 60 !
a moins qu il existe un moyen de calculer le modulo d un chiffre en cobol ?
par avance merci.
heu .... j ai reflechi un peu plus et j ai trouvé comment faire le modulo en cobol ...
du coup j ai pu coder un truc pour arrondir mon chiffre au multiple 10 suivant.
je laisse ouvert cette discussion si jamais qlq un aurait touvé mieux que moi (et y a de forte chance )
a+
Pour moi le modulo c'est le reste de la division entière ...
Quel est le rapport avec votre besoin ?
Bonjour.
Peut être que notre ami nenekes utilise le reste pour le tester à 0 pour ne pas prendre le multiple de 10 suivant si le nombre est déjà multiple de 10. Mais comme il ne nous dit pas comment il a fait on ne pourra pas le savoir.
n = q * 10 + r
si r = 0 alors n' = n
sinon n' = (q + 1) * 10.
n' est le multiple de 10 suivant
algorithmiquement, je suppose qu'on divise par 10, on a le résultat et le reste. Si le reste est non nul, on ajoute un au résultat. Puis on multiplie le résultat par 10.
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
merci pour vos reponses!
effectivement hédhili a vu juste concernant mon besoin, et sa solution est bien plus pertinente que la mienne
j'avais fait ceci;
DIVIDE n BY 10 GIVING q REMAINDER r
n' = n + (10 - r)
n' etant le multiple suivant.
encore merci pour vos solutions
a+
oui tu as raison j'ai juste été faineant pour reecrire le test if r = 0 comme l a precisé hedhili
je voulais juste dire que la premiere solution qui m'avais traversee l espris etait de oter r a 10 pour les ajouter a n.
et je trouvais l autre solution plus logique, la mienne un peu tiree par les cheveux
encore merci pour votre aide !
a+
A noter qu'il existe la possibilité d'obtenir directement le modulo en COBOL.
Cette fonctionnalité est implémentée sous forme de fonction intrinséque.
( " Intrinsic function " ).
Par exemple ( sous Enterprise COBOL for z/OS v3.4 )
Et à l'exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ACCEPT A COMPUTE M = FUNCTION MOD ( A 10 ) DISPLAY 'A=' A DISPLAY 'M=' M
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 A=50 M=00 A=51 M=01
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager