10 DIM U$(16),D$(10),M$(4) 20 FOR I=1 TO 16 30 READ US (I 40 NEXT I 50 FOR I=1 TO 9 60 READ D$(I) 70 NEXT I BO FOR I=1 TO 4 90 READ M$(I) 100 NEXT I 110 REM---CHIFFRES 120 INPUT R 130 F=INT(R) 140 S=INT((R-F)*100+.5) 150 N=F 160 GOSUB 270 170 PRINT T$;"FRANC"; 180 IF F>1 THEN PRINT "S"; 190 PRINT " ET "; 200 N=S 210 GOSUB 270 220 PRINT T$;"CENTIME"; 230 IF S>1 THEN PRINT"S"; 240 PRINT 250 GOTO 120 260 REM 270 REM 280 T$="" 290 R=0 300 IF N>0 THEN 330 310 T$="ZERO" 320 GOTO 780 CALCUL 330 "--- CALCUL PAR 3 CHIFFRES-- 340 M$="" 350 C$="" 360 D$="" 370 W$="" 380 te="" 390 G=INT(N/1000) ' RESTE 400 C3=N-G*1000 ' 3 CHIFFRES 410 C=INT(C3/100) ' CENTAINES 420 C2=C3-C*100 ' 2 CHIFFRES 430 D=INT(C2/10) ' DIZAINES 440 U=C2-D*10 ' UNITES 450 REM UNITE 3 CHIFFRES 460 IF C3=0 THEN 720 470 IF R=0 THEN 530 480 MS=MS(R) 490 IF R<2 OR C3<2 THEN 510 500 M$=MS+"S" 510 M$=M$+" " 520 IF R>1 AND T$="" THEN M$=M$+"DE" 530 REM CENTAINES 540 IF C=0 THEN 600 550 C$="CENT" 560 IF C<2 THEN 590 570 IF C2=0 THEN C$=C$+"S" 580 W$=U$(C) 590 C$=W$+C$+" " 600 REM 610 IF C2=0 THEN 720 620 IF (C2<11 OR C2>16) AND (C2<91 OR C2>96) AND (C2<71 OR C2>76) THEN 650 630 D=D-1 640 U=U+10 650 IF D=0 THEN 700 660 D$=D$(D) 670 IF C2=71 THEN D$=D$+" ET" 600 IF C2=80 THEN D$=D$+"S" 690 D$=D$+" " 700 REM----UN ITES' 710 IF C2<>1 OR R< >1 THEN US=U$(U) 720 REM RESULTAT 730 T$=C$+D$+U$+M$+T$ 740 IF G=0 THEN 780 750 R=R+1 760 N=G 770 GOTO 330 780 RETURN 790 REM.,---,-DATAS 800 DATA "UN ","DEUX ","TROIS ","QUATRE","CINQ ","SIX ","SEPT ","HUIT " 810 DATA "NEUF ","DIX ","ONZE ","DOUZE ","TREIZE ","OUATORZE " 820 DATA "QUINZE ","SEIZE " 830 DATA "DIX","VINGT","TRENTE","QUARANTE","CINQUANTE" 840 DATA "SOIXANTE","SOIXANTE-DIX","QUATRE-VINGT","QUATRE-VINGT-DIX" 850 DATA "MILLE","MILLION","MILLIARD","BILLION"