10 '************************************
20 '***       POUR LE CPC 464        ***
30 '** SUPPRIMER LES LIGNES 4660-4720 **
40 '************************************
50 '***********************************
60 '***         CONJUGAISON         ***
70 '***        JEAN  REINGOT        ***
80 '***    Version  464-664-6128    ***
90 '***          Mai  1987          ***
100 '***********************************
110 '***********************************
120 '***   CHARGEMENT DES TABLEAUX   ***
130 '***********************************
140 ap$="  Appuyez sur une touche "
150 DIM T$(8)
160 t$(1)="Indicatif Present"
170 t$(2)="Indicatif Imparfait"
180 t$(3)="Indicatif Passe Simple"
190 t$(4)="Indicatif Futur Simple"
200 t$(5)="Conditionnel Present"
210 t$(6)="Subjonctif Present"
220 t$(7)="Subjonctif Imparfait"
230 t$(8)="Imperatif Present"
240 DIM p$(6),inf$(11),ipa$(15),hm$(39),vl$(13),vt$(8)
250 DIM te$(8,40,6):DIM m$(8,6)
260 FOR p=1 TO 6:READ p$(p):NEXT
270 GOSUB 4540
280 FOR inf=1 TO 11:READ inf$(inf):NEXT
290 FOR ipa=1 TO 15:READ ipa$(ipa):NEXT
300 FOR hm=1 TO 39:READ hm$(hm):NEXT
310 FOR vl=1 TO 13:READ vl$(vl):NEXT
320 FOR vt=1 TO 8:READ vt$(vt):NEXT
330  t=1 
340 RESTORE 2630
350 FOR cp=1 TO 40:FOR p=1 TO 6:READ te$(t,cp,p):NEXT:NEXT
360 t=2:RESTORE 3030
370 FOR ci=1 TO 2:FOR p=1 TO 6:READ te$(t,ci,p):NEXT:NEXT
380 t=3:RESTORE 3050
390 FOR cps=1 TO 5:FOR p=1 TO 6:READ te$(t,cps,p):NEXT:NEXT
400 t=4:RESTORE 3100
410 FOR cf=1 TO 1:FOR p=1 TO 6:READ te$(t,cf,p):NEXT:NEXT
420 t=5:RESTORE 3110
430 FOR cc=1 TO 1:FOR p=1 TO 6:READ te$(t,cc,p):NEXT:NEXT
440 t=6:RESTORE 3120
450 FOR csp=1 TO 20:FOR p=1 TO 6:READ te$(t,csp,p):NEXT:NEXT
460 t=7:RESTORE 3320
470 FOR csi=1 TO 5:FOR p=1 TO 6:READ te$(t,csi,p):NEXT:NEXT
480 t=8:RESTORE 3370
490 FOR i=1 TO 34:te$(8,i,1)="":te$(8,i,2)=te$(1,i,1):te$(8,i,3)="":te$(8,i,4)=te$(1,i,4):te$(8,i,5)=te$(1,i,5):te$(8,i,6)="":NEXT 
500 RESTORE 3370
510 FOR p=1 TO 6:READ te$(8,34,p):NEXT
520 CLS:BORDER 13:INK 0,13:PAPER 0:INK 1,0:INK 2,0:INK 3,0:PEN 1
530 GOSUB 4930
540 '**********************************
550 '***            MENU            ***
560 '**********************************
570 MODE 1:LOCATE 5,10:PRINT "Consulter............-1-"
580 LOCATE 5,12:PRINT "Exercices............-2-"
590 a$=INKEY$:IF a$="" THEN 590
600 ch=VAL(a$):IF ch<1 OR ch>2 THEN PRINT CHR$(7):GOTO 590
610 IF ch=2 THEN CLS:GOTO 4170
620 '**********************************
630 '***       CHOIX DU VERBE       ***
640 '**********************************
650 CLS:MODE 2:PEN 1
660 PLOT 0,382:DRAW 450,382:DRAW 450,334:DRAW 0,334:DRAW 0,382: LOCATE 5,3:INPUT "Verbe a conjuguer ";v$:v$=LOWER$(v$):CLS
670 FOR i=1 TO 11:IF v$=inf$(i) THEN CLS:GOTO 3850
680 NEXT
690 FOR i=1 TO 15:IF v$=ipa$(i) THEN CLS:GOTO 3860
700 NEXT
710 IF v$="beer" THEN CLS: GOTO 3870     
720 i$=LEFT$(v$,1):IF i$="a" OR i$="e" OR i$="i" OR i$="o" OR i$="u" OR i$="y" THEN p$(1)="j'" 
730 FOR i=1 TO 39
740 IF v$=hm$(i) THEN p$(1)="j'"
750 NEXT
760 IF v$="maudire" THEN v$="maudir"
770 IF v$="bruire" THEN v$="bruir"
780 l=LEN(v$)
790 R1$=LEFT$(v$,l-1)
800 r2$=LEFT$(v$,l-2)
810 r3$=LEFT$(v$,l-3)
820 r4$=LEFT$(v$,l-4):IF l<5 THEN 850
830 r5$=LEFT$(v$,l-5):IF l<6 THEN 850
840 r6$=LEFT$(v$,l-6)
850 imp=0:DEFe=0
860 '**********************************
870 '***     CODAGE VERBES EN ER    ***
880 '**********************************
890 r=2:a=1:GOSUB 3790
900 IF v$="aller" THEN r$(1)="":k(1)=35:r$(4)="ir":r$(5)="ir":r$(6)=r4$:k(6)=19:r$(8)=r0$:k(8)=34:j=1:GOTO 3410
910 FOR i=1 TO 8:IF v$=vt$(i) THEN 1080
920 NEXT
930 IF RIGHT$(v$,4)="eter" THEN k(1)=4:r$(4)=r2$+"ter":r$(5)=r$(4):k(6)=3:k(8)=4:GOTO 3410
940 FOR i=1 TO 13:IF v$=vl$(i) THEN 1030
950 NEXT
960 IF v$="greler" THEN 1060
970 IF RIGHT$(v$,4)="eler" THEN k(1)=5:r$(4)=r2$+"ler":r$(5)=r$(4):k(6)=4:k(8)=5:GOTO 3410
980 IF v$="importer" THEN CLS:LOCATE 5,10:PRINT "dans le sens de <avoir de l'importance>   1":LOCATE 5,12:PRINT "dans le sens de <introduire>              2" ELSE GOTO 1020                                       
990 a$=INKEY$ :IF a$="" THEN 990
1000 b=VAL(a$):CLS:IF b<1 OR b>2 THEN PRINT CHR$(7):GOTO 1000
1010 IF b=1 THEN imp=1:GOTO 3410
1020 IF RIGHT$(v$,6)="nvoyer" THEN r$(1)=r3$:r$(8)=r3$:k(1)=3:k(8)=3:r$(6)=r3$:k(6)=2:r$(4)=r4$+"err":r$(5)=r$(4):GOTO 3410
1030 IF RIGHT$(v$,4)="ayer" OR RIGHT$(v$,4)="oyer" OR RIGHT$(v$,4)="uyer" THEN r$(1)=r3$:k(1)=3:r$(4)=r3$+"ier":r$(5)=r$(4):r$(6)=r3$:k(6)=2:r$(8)=r3$:k(8)=3:GOTO 3410
1040 IF RIGHT$(v$,3)="ger" THEN k(1)=2:k(2)=2:k(3)=2:r$(7)=r1$:k(8)=2
1050 IF v$="neiger" THEN imp=1:GOTO 3410
1060 IF v$="bruiner" OR V$="brumer" OR v$="greler" THEN imp=1:GOTO 3410
1070 IF v$="resulter" THEN imp=2:GOTO 3410
1080 IF RIGHT$(v$,2)="er" THEN 3410
1090 '**********************************
1100 '***     CODAGE VERBES EN IR    ***
1110 '**********************************
1120 r=4:GOSUB 3790
1130 IF v$="avoir" THEN r$(1)="":k(1)=36:r$(2)=r3$:r$(3)="e":k(3)=4:r$(4)=r4$+"ur":r$(5)=r$(4):k(6)=15:r$(7)=r$(3):k(7)=4:k(8)=3:GOTO 3410
1140  k(1)=6:r$(2)=r4$+"en":k(3)=5:r$(4)=r4$+"iendr":r$(5)=r$(4):k(6)=7:k(7)=5:k(8)=6
1150 IF v$="advenir" THEN imp=2:GOTO 3410
1160 IF RIGHT$(v$,4)="enir" THEN 3410
1170 IF RIGHT$(v$,6)="querir" THEN k(1)=7:r$(2)=r2$:k(3)=3:r$(4)=r2$+"r":r$(5)=r$(4):k(6)=8:k(7)=3:k(8)=7:GOTO 3410
1180 r=2:a=1:GOSUB 3790:k(3)=3:k(7)=3
1190 IF v$="faillir" THEN d=7:GOTO 3410
1200 IF v$="saillir" THEN CLS:LOCATE 5,10:PRINT"dans le sens de <sortir,jaillir>    1":LOCATE 5,12:PRINT"dans le sens de <etre en saillie>   2" ELSE GOTO 1240 
1210 n$=INKEY$:IF n$="" THEN 1210
1220 n=VAL(n$):IF n>2 OR n<1 THEN 1210
1230 CLS:IF n=2 THEN  imp=2:r$(4)=r2$+"er":r$(5)=r$(4):GOTO 3410 ELSE GOTO 1860
1240 IF RIGHT$(v$,4)="vrir" OR RIGHT$(v$,4)="frir" OR RIGHT$(v$,6)="aillir" THEN 3410
1250 IF RIGHT$(v$,8)="cueillir" THEN r$(4)=r2$+"er":r$(5)=r$(4):GOTO 3410
1260 IF v$="ressortir" THEN CLS:LOCATE 5,10:PRINT"dans le sens de <sortir a nouveau>   1":LOCATE 5,12:PRINT"dans le sens de <etre du ressort de> 2" ELSE GOTO 1300
1270 m$=INKEY$:IF m$="" THEN 1270
1280 c=VAL(m$):IF c>2 OR c<1 THEN PRINT CHR$(7):GOTO 1270
1290 CLS:IF c=2 THEN 1860  
1300 IF v$="repartir" THEN CLS:LOCATE 5,10:PRINT"dans le sens de <partir a nouveau> 1":LOCATE 5,12:PRINT"dans le sens de <partager>         2" ELSE GOTO 1340
1310 f$=INKEY$:IF f$="" THEN 1310
1320 f=VAL(f$):IF f>2 OR f<1 THEN PRINT CHR$(7):GOTO 1310
1330 CLS:IF f=2 THEN 1860 
1340 IF v$="assortir" THEN 1860
1350 IF RIGHT$(v$,4)="ntir" OR RIGHT$(v$,4)="rtir" THEN r$(1)=r3$:k(1)=9:r$(8)=r3$:k(8)=9:GOTO 3410
1360 IF RIGHT$(v$,5)="vetir" THEN k(1)=8:k(8)=8:GOTO 3410
1370 IF RIGHT$(v$,8)="bouillir" THEN r$(1)=r5$:k(1)=10:r$(8)=r5$:k(8)=10:GOTO 3410
1380 IF RIGHT$(v$,6)="dormir" THEN r$(1)=r3$:k(1)=11:r$(8)=r3$:k(8)=11:GOTO 3410
1390 IF v$="asservir" THEN 1860
1400 IF RIGHT$(v$,6)="servir" THEN r$(1)=r3$:k(1)=14:r$(8)=r3$:k(8)=14:GOTO 3410
1410 k(1)=15:k(8)=15:
1420 IF RIGHT$(v$,4)="fuir" THEN r$(2)=r2$+"y":k(6)=2:GOTO 3410
1430 IF v$="ouir" THEN CLS:LOCATE 1,10:PRINT"Ne s'emploie qu'a l'infinitif":LOCATE 1,12:PRINT"et dans < j'ai oui-dire >"
1440 IF V$="ouir" THEN LOCATE 1,14:PRINT"En hommage a Raymond Devos voici sa conjugaison":LOCATE 25,24:PRINT ap$:CALL &BB18:r$(1)=r3$:r$(2)=r3$+"y":r$(6)=r3$:r$(6)=r3$:k(6)=2:r$(8)=r3$:CLS:GOTO 3410
1450 k(3)=4:r$(4)=r2$+"r":r$(5)=r$(4):k(7)=4
1460 IF RIGHT$(v$,6)="courir" THEN k(1)=12:k(8)=12:GOTO 3410
1470 IF v$="mourir" THEN r$(1)=r5$:k(1)=13:r$(6)=r5$:k(6)=10:r$(8)=r5$:k(8)=13:GOTO 3410
1480 IF v$="gesir" THEN r$(1)=r4$+"i":k(1)=30:r$(2)=r$(1)+"s":d=2:GOTO 3410
1490 IF RIGHT$(v$,6)="cevoir" THEN r=5:a=1:GOSUB 3790:k(1)=16:r$(2)=r3$:k(3)=4:r$(4)=r3$+"r":r$(5)=r$(4):k(6)=9:k(7)=4:k(8)=16:GOTO 3410
1500 IF l<6 THEN 1590
1510 r=6:a=1:GOSUB 3790:k(1)=17:r$(2)=r3$:k(3)=4:r$(4)=r3$+"r":r$(5)=r$(4):k(6)=11:k(7)=4:k(8)=17
1520 IF v$="promouvoir" THEN CLS:GOTO 3900
1530 IF RIGHT$(v$,7)="mouvoir" THEN 3410
1540 IF v$="pleuvoir" THEN imp=1:d=1:GOTO 3410
1550 IF v$="pouvoir" THEN k(1)=34:r$(4)=r4$+"rr":r$(5)=r$(4):r$(6)=r6$+"uiss":k(6)=1:d=1:GOTO 3410
1560 r$(3)=r5$:r$(6)=r5$:r$(7)=r5$
1570 IF RIGHT$(v$,6)="devoir" THEN r$(1)=r5$:k(1)=16:k(6)=9:r$(8)=r5$:k(8)=16:GOTO 3410
1580 IF v$="savoir" THEN r$(1)=r4$:k(1)=39:r$(4)=r4$+"ur":r$(5)=r$(4):r$(6)=r4$+"ch":k(6)=1:r$(8)=r$(6):k(8)=1:GOTO 3410
1590 r=2:a=1:GOSUB 3790:k(1)=15:r$(2)=r2$+"y":r$(3)=r3$:k(3)=4:k(6)=2:r$(7)=r3$:k(7)=4:k(8)=15
1600 IF v$="pourvoir" THEN 3410
1610 IF v$="depourvoir" THEN d=13:GOTO 3410
1620 k(3)=3:k(7)=3
1630 IF v$="prevoir" THEN 3410
1640 IF RIGHT$(v$,4)="voir" THEN r$(4)=r3$+"err":r$(5)=r$(4):GOTO 3410
1650 r=3:a=1:GOSUB 3790:k(1)=18:k(3)=4:r$(4)=r4$+"udr":r$(5)=r$(4):r$(6)=r4$:k(6)=12:k(7)=4:k(8)=18
1660 IF v$="prevaloir" THEN r$(1)=r4$:r$(8)=r4$:r$(6)=r3$:k(6)=1:GOTO 3410
1670 IF v$="revaloir" THEN d=11:GOTO 3410
1680 IF RIGHT$(v$,6)="valoir" THEN r$(1)=r4$:r$(8)=r4$:GOTO 3410
1690 IF v$="falloir" THEN r$(1)=r5$:r$(4)=r5$+"udr":r$(5)=r$(4):r$(6)=r5$:imp=1:d=1:GOTO 3410
1700 IF v$="chaloir" THEN CLS:GOTO 3880
1710 IF v$="apparoir" THEN CLS:GOTO 3920
1720 IF v$="vouloir" THEN r$(1)=r6$:k(1)=19:r$(4)=r4$+"dr":r$(5)=r$(4):r$(6)=r6$:k(6)=13:r$(8)=r6$:k(8)=19:GOTO 3410
1730 r=4:a=1:GOSUB 3790:k(3)=3:r$(4)=r4$+"ier":r$(5)=r$(4):k(7)=3
1740 IF RIGHT$(v$,7)="asseoir" THEN CLS:LOCATE 1,10:PRINT "Ce verbe peut se conjuguer de 2 facons":LOCATE 5,12:PRINT"-en < ieds >  1":LOCATE 5,14:PRINT"-en < ois >   2" ELSE GOTO 1800
1750 a$=INKEY$:IF a$="" THEN 1750
1760 d=VAL(a$):CLS:IF d>2 OR d<1 THEN PRINT CHR$(7):GOTO 1750
1770 IF d=2 THEN 1790
1780 IF RIGHT$(v$,7)="asseoir" THEN k(1)=20:r$(2)=r3$+"y":r$(6)=r$(2):k(8)=20:d=0:GOTO 3410
1790 FOR i=1 TO 8:r$(i)=r4$+"o":NEXT:d=0:k(1)=15:r$(2)=r4$+"oy":r$(3)=r4$:k(3)=3:r$(4)=r4$+"oir":r$(5)=r$(4):k(6)=2:r$(7)=r$(3):k(7)=3:k(8)=15:GOTO 3410
1800 IF v$="seoir" OR v$="messeoir" THEN r$(1)=r4$+"ie":k(1)=40:r$(2)=r4$+"ey":r$(6)=r4$+"ie":imp=2:d=3:GOTO 3410
1810 IF v$="surseoir" THEN r$(1)=r4$+"o":k(1)=15:r$(2)=r4$+"oy":r$(4)=v$:r$(5)=v$:r$(6)=r$(1):k(6)=2:r$(8)=r$(1):k(8)=15:GOTO 3410
1820 r=2:a=1:GOSUB 3790:k(1)=15:r$(3)=r3$:k(3)=4:k(6)=2:r$(7)=r3$:k(7)=4:d=4
1830 IF v$="dechoir" THEN d=5:GOTO 3410
1840 IF v$="echoir" THEN imp=2:GOTO 3410
1850 IF v$="choir" THEN imp=3:GOTO 3410
1860 d=0:r=2:a=1:GOSUB 3790:k(1)=21:r$(2)=r1$+"ss":k(3)=3:r$(6)=r$(2):k(7)=3:k(8)=21
1870 IF v$="bruir" THEN imp=2:d=2
1880 IF RIGHT$(v$,2)="ir" THEN 3410
1890 '*********************************
1900 '***    CODAGE VERBES EN RE    ***
1910 '*********************************
1920 r=4:a=1:GOSUB 3790:k(1)=24:r$(2)=r4$+"lv":r$(3)=r4$+"l":k(3)=4:r$(4)=r1$:r$(5)=r$(4):r$(6)=r$(2):r$(7)=r$(3):k(7)=4:k(8)=24:d=0
1930 IF v$="resoudre" THEN 3410
1940 IF RIGHT$(v$,6)="soudre" THEN d=6:GOTO 3410
1950 r$(1)=r3$:r$(8)=r3$
1960 IF RIGHT$(v$,6)="moudre" THEN k(1)=23:r$(2)=r3$+"l":r$(3)=r$(2):r$(6)=r$(2):r$(7)=r$(2):k(8)=23:GOTO 3410
1970 k(3)=3:k(7)=3
1980 IF v$="sourdre" THEN CLS:GOTO 3910
1990 IF RIGHT$(v$,6)="coudre" THEN k(1)=22:r$(2)=r3$+"s":r$(3)=r$(2):r$(6)=r$(2):r$(7)=r$(2):k(8)=22:GOTO 3410
2000 IF v$="poindre" THEN CLS:GOTO 3930
2010 IF v$="oindre" THEN CLS:GOTO 3940            
2020 IF RIGHT$(v$,5)="indre" THEN  r$(1)=r4$:k(1)=25:r$(2)=r4$+"gn":r$(3)=r$(2):r$(6)=r$(2):r$(7)=r$(2):r$(8)=r4$:k(8)=25:GOTO 3410
2030 IF RIGHT$(v$,7)="prendre" THEN k(1)=26:r$(2)=r3$:r$(3)=r5$:r$(6)=r3$:k(6)=6:r$(7)=r5$:k(8)=26:GOTO 3410
2040 r$(1)=r2$:r$(2)=r2$:r$(3)=r2$:r$(6)=r2$:r$(7)=r2$:r$(8)=r2$
2050 IF RIGHT$(v$,3)="dre" THEN k(1)=8:k(8)=8:GOTO 3410
2060 k(3)=3:k(7)=3
2070 IF RIGHT$(v$,3)="pre" THEN r$(1)=r2$:k(1)=12:k(8)=8:GOTO 3410
2080 k(1)=27:r$(1)=r3$:r$(8)=r3$:k(8)=27
2090 IF RIGHT$(v$,5)="attre" THEN 3410
2100 r$(3)=r5$:r$(7)=r5$
2110 IF RIGHT$(v$,5)="ettre" THEN r$(3)=r5$:r$(7)=r5$:GOTO 3410
2120 IF RIGHT$(v$,7)="vaincre" THEN k(1)=28:r$(2)=r3$+"qu":r$(3)=r$(2):r$(6)=r$(2):r$(7)=r$(2):k(8)=28:GOTO 3410
2130 k(1)=15:r$(2)=r3$+"y":r$(6)=r3$:k(6)=2:k(8)=15
2140 IF v$="braire" THEN imp=2:d=8:GOTO 3410
2150 IF RIGHT$(v$,6)="traire" THEN d=6:GOTO 3410
2160 k(1)=31:r$(2)=r3$+"ss":r$(6)=r$(2):k(6)=1:k(8)=31
2170 IF v$="naitre" OR v$="renaitre" THEN r$(3)=r4$+"qu":r$(7)=r$(3):GOTO 3410
2180 IF v$="paitre" THEN d=6:GOTO 3410
2190 r$(3)=r5$:k(3)=4:r$(7)=r5$:k(7)=4
2200 IF v$="repaitre" THEN 3410
2210 IF RIGHT$(v$,5)="aitre" THEN 3410
2220 IF RIGHT$(v$,5)="oitre" THEN 3410
2230 r$(1)=r2$:k(1)=30:r$(2)=r2$+"s":r$(3)=r4$:r$(6)=r$(2):r$(7)=r4$:r$(8)=r2$:k(8)=30
2240 IF RIGHT$(v$,5)="laire" OR v$="taire" THEN 3410
2250 IF v$="forfaire" OR v$="parfaire" THEN CLS:GOTO 3890
2260 IF RIGHT$(v$,5)="faire" THEN r$(1)=r4$:k(1)=29:k(3)=3:r$(4)=r4$+"er":r$(5)=r$(4):r$(6)=r3$+"ss":k(7)=3:r$(8)=r4$:k(8)=29:GOTO 3410
2270 r$(3)=r3$:r$(7)=r3$
2280 IF RIGHT$(v$,4)="lire" THEN 3410
2290 k(3)=3:k(7)=3
2300 IF v$="dire" OR v$="redire" THEN k(1)=33:k(8)=33:GOTO 3410
2310 IF RIGHT$(v$,4)="dire" THEN 3410
2320 IF RIGHT$(v$,4)="uire" THEN r$(3)=r2$+"s":r$(7)=r$(3):GOTO 3410
2330 IF RIGHT$(v$,4)="fire" OR RIGHT$(v$,4)="cire" THEN 3410
2340 IF v$="frire" THEN d=9:imp=5:GOTO 3410
2350 IF RIGHT$(v$,5)="clore" THEN d=10:imp=6:GOTO 3410
2360 r$(3)=r4$:k(3)=4:r$(7)=r4$:k(7)=4
2370 IF v$="boire" THEN r$(1)=r4$:k(1)=32:r$(2)=r4$+"uv":r$(6)=r4$:k(6)=14:r$(8)=r4$:k(8)=32:GOTO 3410
2380 r$(1)=r3$:r$(8)=r3$
2390 IF RIGHT$(v$,6)="croire" THEN k(1)=15:r$(2)=r3$+"y":r$(6)=r3$:k(6)=2:k(8)=15:GOTO 3410
2400 k(1)=14:r$(2)=r2$:r$(3)=r2$:r$(6)=r2$:k(6)=1:r$(7)=r2$:k(8)=14
2410 IF RIGHT$(v$,5)="uivre" THEN k(3)=3:k(7)=3:GOTO 3410
2420 IF RIGHT$(v$,5)="vivre" THEN r$(3)=r4$+"ec":r$(7)=r$(3):GOTO 3410
2430 r$(1)=r2$:k(1)=12:r$(3)=r3$:r$(7)=r3$:r$(8)=r2$:k(8)=12
2440 IF RIGHT$(v$,4)="lure" THEN 3410
2450 k(3)=3:k(7)=3
2460 IF v$="rire" OR v$="sourire" THEN 3410
2470 IF RIGHT$(v$,5)="crire" THEN k(1)=14:r$(2)=r2$+"v":r$(3)=r$(2):r$(6)=r$(2):r$(7)=r$(2):k(8)=14:GOTO 3410
2480 IF v$="etre" THEN r$(1)="":k(1)=38:r$(3)="f":k(3)=4:r$(4)="ser":r$(5)="ser":r$(6)="so":k(6)=20:r$(7)="f":k(7)=4:r$(8)="so":k(8)=15:GOTO 3410
2490 CLS:LOCATE 5,10:PRINT"Je ne connais pas ce verbe":LOCATE 14,24:PRINT ap$:CALL &BB18:CLS:GOTO 570
2500 '*********************************
2510 '* DATAS PRONOMS CAS PARTICULIERS*
2520 '*********************************
2530 DATA "je ","tu ","il ","nous ","vous ","ils "
2540 DATA accroire,bayer,bienvenir,declore,ester,comparoir,courre,malfaire,mecroire,querir,ravoir
2550 DATA averer,courbaturer,deconfire,ecloper,emoudre,ferir,forclore,imboire,inclure,issir,occire,perclure,rassir,reclure,tistre
2560 DATA habiliter,habiller,habiter,habituer,habler,haleter,harmoniser,harnacher,harponner,heberger,hebraiser,helleniser,herboriser,heriter,hesiter,hiberner,hiverner,homologuer,honorer,horripiler,hospitaliser,houspiller,huiler,humaniser,humecter
2570 DATA humidifier,humilier,hypnotiser,hypothequer,halluciner,hebeter,herbager,historier,homogeneiser,horrifier,hydrofuger,hydrogener,hypertrofier
2580 DATA celer,deceler,receler,ciseler,demanteler,ecarteler,geler,degeler,congeler,surgeler,marteler,modeler,peler
2590 DATA acheter,begueter,corseter,crocheter,fileter,fureter,haleter,racheter
2600 '*********************************
2610 '***     DATAS TERMINAISONS    ***
2620 '*********************************
2630 DATA e,es,e,ons,ez,ent
2640 DATA e,es,e,eons,ez,ent
2650 DATA ie,ies,ie,yons,yez,ient 
2660 DATA te,tes,te,ons,ez,tent     
2670 DATA le,les,le,ons,ez,lent 
2680 DATA iens,iens,ient,enons,enez,iennent        
2690 DATA iers,iers,iert,erons,erez,ierent           
2700 DATA s,s,,ons,ez,ent    
2710 DATA s,s,t,tons,tez,tent   
2720 DATA s,s,t,illons,illez,illent    
2730 DATA s,s,t,mons,mez,ment          
2740 DATA s,s,t,ons,ez,ent     
2750 DATA eurs,eurs,eurt,ourons,ourez,eurent 
2760 DATA s,s,t,vons,vez,vent   
2770 DATA is,is,it,yons,yez,ient 
2780 DATA ois,ois,oit,evons,evez,oivent    
2790 DATA eus,eus,eut,ouvons,ouvez,euvent 
2800 DATA ux,ux,ut,lons,lez,lent
2810 DATA eux,eux,eut,oulons,oulez,eulent 
2820 DATA ieds,ieds,ied,eyons,eyez,eyent       
2830 DATA is,is,it,issons,issez,issent 
2840 DATA ds,ds,d,sons,sez,sent   
2850 DATA ds,ds,d,lons,lez,lent   
2860 DATA us,us,ut,lvons,lvez,lvent          
2870 DATA ns,ns,nt,gnons,gnez,gnent    
2880 DATA ds,ds,d,ons,ez,nent    
2890 DATA s,s,,tons,tez,tent  
2900 DATA cs,cs,c,quons,quez,quent
2910 DATA ais,ais,ait,aisons,aites,ont
2920 DATA s,s,t,sons,sez,sent
2930 DATA s,s,t,ssons,ssez,ssent
2940 DATA ois,ois,oit,uvons,uvez,oivent
2950 DATA s,s,t,sons,tes,sent
2960 DATA eux,eux,eut,ouvons,ouvez,euvent
2970 DATA vais,vas,va,allons,allez,vont
2980 DATA ai,as,a,avons,avez,ont
2990 DATA ux,ux,ut,illons,illez,illent
3000 DATA suis,es,est,sommes,etes,sont
3010 DATA is,is,it,vons,vez,vent
3020 DATA x,,d,,,ent
3030 DATA ais,ais,ait,ions,iez,aient
3040 DATA eais,eais,eait,ions,iez,eaient
3050 DATA ai,as,a,ames,ates,erent
3060 DATA eai,eas,ea,eames,eates,erent
3070 DATA is,is,it,imes,ites,irent 
3080 DATA us,us,ut,umes,utes,urent 
3090 DATA ins,ins,int,inmes,intes,inrent       
3100 DATA ai,as,a,ons,ez,ont
3110 DATA ais,ais,ait,ions,iez,aient
3120 DATA e,es,e,ions,iez,ent
3130 DATA ie,ies,ie,yions,yiez,ient  
3140 DATA te,tes,te,ions,iez,tent    
3150 DATA le,les,le,ions,iez,lent    
3160 DATA aie,aies,ait,ayons,ayez,aient   
3170 DATA ne,nes,ne,ions,iez,nent 
3180 DATA ienne,iennes,ienne,enions,eniez,iennent          
3190 DATA iere,ieres,iere,erions,eriez,ierent    
3200 DATA oive,oive,oive,evions,eviez,oivent      
3210 DATA eure,eures,eure,ourions,ouriez,eurent       
3220 DATA euve,euves,euve,ouvions,ouviez,euvent       
3230 DATA ille,illes,ille,lions,liez,illent    
3240 DATA euille,euilles,euille,oulions,ouliez,euillent     
3250 DATA oive,oives,oive,uvions,uviez,oivent
3260 DATA ie,ies,it,yons,yez,ient
3270 DATA ille,illes,ille,illions,illiez,illent
3280 DATA ie,ies,ie,yons,yez,ient
3290 DATA is,is,it,yions,yiez,ient
3300 DATA ille,illes,ille,llions,lliez,illent
3310 DATA is,is,it,yons,yez,ient
3320 DATA asse,asses,at,assions,assiez,assent
3330 DATA easse,easses,eat,eassions,eassiez,eassent
3340 DATA isse,isses,it,issions,issiez,issent  
3350 DATA usse,usses,ut,ussions,ussiez,ussent       
3360 DATA insse,insses,int,inssions,inssiez,inssent          
3370 DATA "",va,,allons,allez,""
3380 '*********************************
3390 '***   CONJUGAISON-AFFICHAGE   ***
3400 '*********************************
3410 IF l>10 AND ch=1 THEN FOR i=1 TO 8:r$(i)=RIGHT$(r$(i),6):NEXT:LOCATE 38,2:PRINT" *** "
3420 IF ch=2 THEN 3430 ELSE GOSUB 4010:GOSUB 4080
3430 FOR t=1 TO 8:FOR p=1 TO 6
3440 IF d=2 AND t=3 THEN 3770
3450 IF d=1 AND t=8 THEN 3770
3460 IF d=3 AND (t=3 OR t=7 OR t=8) THEN 3760
3470 IF d=4 AND(t=2 OR  t=6 OR t=8) THEN 3760
3475 IF d=5 AND(t=2 OR  t=8) THEN 3760
3480 IF d=6 AND(t=3 OR t=7) THEN 3760
3490 IF d=7 AND (t=1 OR t=2 OR t=6 OR t=8) THEN 3760
3500 IF d=8 AND(t=2 OR t=3 OR t=6 OR t=7 OR t=8) THEN 3760
3510 IF d=9 AND(t=2 OR t=3 OR t=6 OR t=7) THEN 3760 
3520 IF d=10 AND(t=2 OR t=3 OR t=7) THEN 3760
3530 IF d=11 AND(t=1 OR t=2 OR t=3 OR t=6 OR t=7 OR t=8) THEN 3760
3540 IF d=12 AND t=2 THEN 3760
3550 IF d=13 AND t<>3 THEN 3760
3560 IF imp=3 AND t=1 THEN IF (p=4 OR p=5) THEN 3750 
3570 IF imp=3 AND t=7 THEN IF p<>3 GOTO 3750
3580 IF imp=5 AND t=1 THEN IF p>3 GOTO 3750
3590 IF imp=5 AND t=8 THEN IF p>2 GOTO  3770
3600 IF imp=6 AND t=8 THEN IF p>2 GOTO 3770
3610  IF imp=2 THEN IF (p=1 OR p=2 OR p=4 OR p=5)  THEN 3750 
3620 IF imp=1 THEN IF p<>3 GOTO 3750
3630 IF V$="aller" AND t=1 THEN p$(1)="je "
3640 IF v$="aller" AND t>1 THEN p$(1)="j'"
3650 IF v$="etre" AND t<>2 THEN p$(1)="je "
3660 IF v$="etre" AND t=2 THEN p$(1)="j'"
3670 IF t>4 THEN LOCATE 2+20*(t-5),p+18:GOTO 3690
3680 LOCATE 2+20*(t-1),p+7:GOTO 3720
3690 IF t<8 THEN 3720
3700 IF t=8 THEN FOR pp=1 TO 6:p$(pp)=" ":NEXT
3710 IF p=2 OR p=4 OR p=5 THEN 3720 ELSE GOTO 3750
3720 s=t:z=p:m$(s,z)=p$(p)+R$(t)+te$(t,k(t),p):IF t=8 THEN m$(s,z)=r$(t)+te$(t,k(t),p)
3730 IF ch=2 THEN 3750
3740 PRINT P$(p)+R$(t)+te$(t,k(t),p)
3750 NEXT
3760 NEXT
3770 d=0:RESTORE 2530:FOR p=1 TO 6:READ p$(p):NEXT
3780 IF ch=2 THEN 4320 ELSE GOTO 3950
3790 FOR t=1 TO 8:r$(t)=MID$(v$,1,l-r):NEXT t
3800 R$(4)=v$:r$(5)=v$
3810 FOR i=1 TO 8:k(i)=a:NEXT:RETURN
3820 '*********************************
3830 '** AFFICHAGE CAS PARTICULIERS  **
3840 '*********************************
3850 LOCATE 1,10:PRINT "Ce verbe ne s'emploie qu'a l'Infinitif":GOTO 3950
3860 LOCATE 1,10:PRINT "Ce verbe ne s'emploie qu'a l'Infinitif  et au Participe Passe":GOTO 3950
3870 LOCATE 1,10:PRINT "S'emploie seulement a l'Infinitif,au    Participe Present et au Participe       Passe":GOTO 3950
3880 LOCATE 1,10:PRINT "ne s'emploie que dans l'expression:":LOCATE 2,12:PRINT"< peu me chaut >":GOTO 3950
3890 LOCATE 1,10:PRINT"S'emploie seulement a l'infinitif                                               et aux temps composes.":GOTO 3950
3900 LOCATE 1,10:PRINT"S'emploie seulement aux participes                                              et aux temps composes":GOTO 3950
3910 LOCATE 1,10:PRINT "Ne s'emploie que dans l'expression:":LOCATE 2,12:PRINT "< l'eau sourd >":GOTO 3950
3920 LOCATE 1,10:PRINT "Ne s'emploie que dans l'expression:":LOCATE 2,12:PRINT"<< il appert >>":GOTO 3950
3930 LOCATE 1,10:PRINT "Ne s'emploie que dans l'expression:":LOCATE 2,12:PRINT"<< le jour point-le jour poindra >>":GOTO 3950
3940 LOCATE 1,10:PRINT "Employe seulement dans les formes:":LOCATE 2,12:PRINT"<< il oint-il oindra >>":GOTO 3950
3950 ch=1:PRINT CHR$(7)
3960 LOCATE 48,2:PRINT "Un autre verbe  V  : Menu  M "
3970 a$=INKEY$:IF a$="" THEN 3970
3980 IF a$="v" OR a$="V" THEN CLS:MODE  2:GOTO 660
3990 IF a$="M" OR a$="m"  THEN CLS:GOTO 570 
4000 PRINT CHR$(7):GOTO 3970
4010 IF v$="maudir" THEN v$="maudire"
4020 IF v$="bruir" THEN v$="bruire"
4030 '*********************************
4040 '***        MISE EN PAGE       ***
4050 '*********************************
4060 v$=UPPER$(v$):LOCATE 5,2:PRINT "verbe conjugue: ";v$;:v$=LOWER$(v$)
4070 PLOT 0,0:DRAW 639,0:DRAW 639,399:DRAW 0,399:DRAW 0,0:PLOT 2,2:DRAW 637,2:DRAW 637,397:DRAW 2,397:DRAW 2,2:RETURN
4080 PLOT 0,357:DRAW 639,357:PLOT 0,326:DRAW 639,326:PLOT 0,296:DRAW 639,296:PLOT 0,184:DRAW 639,184:PLOT 0,122:DRAW 639,122:PLOT 0,153:DRAW 639,153
4090 PLOT 158,0:DRAW 158,184:PLOT 318,0:DRAW 318,153:PLOT 478,0:DRAW 478,184:PLOT 158,184:DRAW 158,326:PLOT 318,184:DRAW 318,326:PLOT 478,184:DRAW 478,326:PLOT 0,182:DRAW 639,182:PLOT 0,359:DRAW 0,371
4100 PLOT 0,359:DRAW 638,359:PLOT 156,0:DRAW 156,184:PLOT 480,0:DRAW 480,184
4110 LOCATE 36,4:PRINT "INDICATIF"
4120 LOCATE 7,6:PRINT"Present":LOCATE 26,6:PRINT"Imparfait":LOCATE 45,6:PRINT"Passe Simple":LOCATE 68,6:PRINT"Futur"    
4130 LOCATE 5,15:PRINT "CONDITIONNEL":LOCATE 36,15:PRINT"SUBJONCTIF":LOCATE 65,15:PRINT"IMPERATIF"
4140 LOCATE 7,17:PRINT"Present":LOCATE 27,17:PRINT"Present":LOCATE 46,17:PRINT"Imparfait":LOCATE 67,17:PRINT"Present"
4150 RETURN
4160 PLOT 0,360:DRAW 639,360:PLOT 0,324:DRAW 639,324:PLOT 0,180:DRAW 639,180:RETURN
4170 '
4180 INK 1,0:INK 2,4:INK 3,25:te=0:tr=0
4190 GOSUB 4070
4200 '*********************************
4210 '***       INTERROGATION       ***
4220 '*********************************
4230 PEN 1:LOCATE 10,4:INPUT"Verbe: ";v$:v$=LOWER$(v$):ERASE m$
4240 DIM m$(8,6)
4250 LOCATE 10,6:PRINT"A quel temps ?"
4260 FOR i=1 TO 8:LOCATE 5,8+i:PRINT"-";i;"-";"  ";t$(i):NEXT
4270 LOCATE 11,20:PRINT"Votre choix (1-8) ?"
4280 w$=INKEY$:IF w$="" THEN 4280
4290 w=VAL(w$):IF w<1 OR w>8 THEN PRINT CHR$(7):GOTO 4280
4300 s=w:n=0
4310 LOCATE 15,22:PRINT " patientez un instant ":GOTO 670
4320 CLS:GOSUB 4070:GOSUB 4160
4330 LOCATE 10,2:PRINT "Verbe: ";UPPER$(v$)
4340 LOCATE 10,4:PRINT t$(w)
4350 LOCATE 5,6:PRINT"Reponses":LOCATE 5,15:PRINT"Correction"
4360 PEN 1:FOR z=1 TO 6
4370 te=te+1:LOCATE 2,7+z:PRINT z;:INPUT rep$:rep$=LOWER$(rep$)
4380 LOCATE 2,16+z:PRINT z;"-"
4390 PEN 3:IF rep$=m$(w,z) THEN LOCATE 7,16+z:SOUND 1,63,20,15:PRINT "exact":n=n+1:GOTO 4420
4400 PEN 2:PRINT CHR$(22)+CHR$(1):LOCATE 7,7+z:PRINT STRING$(LEN(rep$),"-"):PRINT CHR$(22)+CHR$(0):SOUND 1,430,20,15,,,20:LOCATE 7,16+z:PRINT m$(w,z)
4410 IF m$(w,z)="" THEN LOCATE 7,16+z:SOUND 1,420,20,15:PEN 2:PRINT "n'existe pas"
4420 PEN 1:NEXT
4430 IF n=6 THEN SOUND 1,60,20,15:SOUND 1,47,20,15:SOUND 1,40,30,15
4440 tr=tr+n
4450 LOCATE 2,24:PRINT "Un autre ? O/N"
4460 a$=INKEY$:IF a$="" THEN  4460
4470 IF a$="o" OR a$="O" THEN CLS:GOTO 4190 
4480 IF a$="n" OR a$="N" THEN CLS:GOSUB 4070:LOCATE 3,4:PRINT" RESULTATS ":LOCATE 5,10:PRINT "Vous avez eu";tr;"reponses exactes":LOCATE 5,12:PRINT"sur";te;:LOCATE 5,16:PRINT "Votre note est:";ROUND(tr/te*20,1);"sur 20"
4490 IF a$="n" OR a$="N" THEN LOCATE 11,23:PRINT ap$:CALL &BB18:GOTO 570
4500 PRINT CHR$(7):GOTO 4460
4510 '*********************************
4520 '***       PRESENTATION        ***
4530 '*********************************
4540 l$="conjugu":p$(3)="elle ":p$(6)="elles "
4550 FOR i=1 TO 6:l$(i)=p$(i)+l$:NEXT
4560 MODE 1:CLS:BORDER 0:INK 0,0:INK 1,24:INK 2,26:INK 3,6
4570 ENV 1,15,15,2
4580 FOR q=1 TO 6
4590 x=1-((q-1)/10):e=7.8*x:x0=x0+160*x:ORIGIN x0-160,0:GOSUB 4700
4600 GOSUB 4890
4610 PEN 3
4620 IF q=1 THEN LOCATE 34,1:PRINT "e":SOUND 1,84,40,15,1
4630 IF q=2 THEN te$="es":FOR j=1 TO 2:LOCATE 33+j,2:PRINT MID$(te$,j,1):SOUND 1,63,40,15,1:FOR g=0 TO 400:NEXT:NEXT
4640 IF q=3 THEN LOCATE 36,3:PRINT "e":SOUND 1,47,40,15,1
4650 IF q=4 THEN te$="ons":FOR j=1 TO 3:LOCATE 35+j,4:PRINT MID$(te$,j,1):SOUND 1,63,40,15,1:FOR g=0 TO 400:NEXT:NEXT
4660 IF q=5 THEN te$="ez":FOR j=1 TO 2:LOCATE 35+j,5:PRINT MID$(te$,j,1):SOUND  1,106,40,15,1:FOR g=0 TO 400:NEXT:NEXT
4670 IF q=6 THEN te$="ent":FOR j=1 TO 3:LOCATE 36+j,6:PRINT MID$(te$,j,1):SOUND 1,63,60,15,1:FOR g=1 TO 500:NEXT:NEXT
4680 NEXT
4690 FOR h=1 TO 100:FOR u=1 TO 3:INK u,INT(RND*26)+1:NEXT:SOUND 1,1000-(h*8),3,15,1:FOR g=1 TO 50:NEXT:NEXT:p$(3)="il ":p$(6)="ils ":RETURN
4700 p$="06030601070008010803060305130515091509130803091309151115111312031201130014011403120314031513151511151515191614261428163217301729142614280628062614260626011605150116062603290330043206280626":GOSUB 4820
4710 p$="052400280031033705381034153817372031202815241524":GOSUB 4820
4720 p$="053807391034133915381339124012431344124311420942084308400739":GOSUB 4820
4730 p$="084307440442034104390339034101400141034102430343034105430646064908501250144914461543174117431843174119411940174117391639174115421344134712480848074707440843084007390538":GOSUB 4820
4740 MOVE 8*e,46*e:DRAW 9*e,46*e:MOVE 11*e,46*e:DRAW 12*e,46*e:MOVE 9*e,44*e:DRAW 11*e,44*e
4750 '-move 7*e,2*e:fill 3:move 13*e,2*e:fill 3
4760 '-move 10*e,20*e:fill 2
4770 '-move 10*e,33*e:fill 2
4780 '-move 10*e,49*e:fill 1
4790 '-move 10*e,27*e:fill 3
4800 '-move 6*e,38*e:fill 3:move 14*e,38*e:fill 3
4810 RETURN
4820 x=VAL(MID$(p$,1,2)):y=VAL(MID$(p$,3,2)):PLOT x*e,y*e,1
4830 l=LEN(p$)
4840 FOR i=5 TO l-4 STEP 4
4850 x=VAL(MID$(p$,i,2)):y=VAL(MID$(p$,i+2,2)):SOUND 1,x*25,3,15,1:FOR g=0 TO 10:NEXT:DRAW x*e,y*e
4860 NEXT i
4870 RETURN
4880 SOUND 1,800,5,15,1:RETURN
4890 PEN 2:FOR i=1 TO LEN(l$(q)):LOCATE 23+i,q:PRINT MID$(l$(q),i,1):FOR h=1 TO 200:NEXT:GOSUB 4880:NEXT:RETURN 
4900 '*********************************
4910 '***          BARATIN          ***
4920 '*********************************
4930 CLS:PEN 2:PRINT:PRINT " Ce programme conjugue tous les verbes  usuels  de  la  langue  francaise  aux  temps  simples    de  l' Indicatif, du  Conditionnel,  du   Subjonctif  et  de  l' Imperatif."
4940 PRINT:PRINT" La fonction  <Consulter> vous donnera  le   tableau de conjugaison  du  verbe  choisi." 
4950 PRINT:PRINT" Si le verbe choisi  est trop long, le  debut  du  verbe sera supprime dans le  tableau et le signe *** apparaitra." 
4960 PRINT:PRINT" La fonction   <Exercices>   permet de  choisir un verbe, le mode et le temps;  puis de donner les reponses."  
4970 PRINT:PRINT" Repondre  en  donnant le pronom sujet  puis un espace et la forme verbale."
4980 LOCATE 15,24:PRINT ap$:CALL &BB18
4990 INK 1,0:INK 2,6:INK 3,24
5000 CLS:WINDOW#1,15,25,1,3:PAPER#1,3:CLS#1:LOCATE#1,2,2:PEN 1:PRINT#1,"REMARQUES"
5010 LOCATE 3,5:PRINT"1- La machine ne met ni les accents ni     les cedilles.
5020 LOCATE 3,8:PRINT"2- Pour repondre utiliser les pronoms      <je-tu-il-nous-vous-ils>"
5030 WINDOW#2,8,32,12,14:PAPER#2,3:CLS#2:LOCATE#2,2,2:PRINT#2,"OUVRAGES  DE  REFERENCE"
5040 LOCATE 3,16:PRINT"1- Le Nouveau Bescherelle                  L'art de Conjuguer                      HATIER"
5050 LOCATE 3,20:PRINT"2- Cours Superieur d'Orthographe           Bled                                    HACHETTE"     
5060 LOCATE 15,25:PRINT ap$:CALL &BB18:RETURN