1 GOSUB 39998
5 REM ******* SURFACES ET SOLIDES *******
6 REM ******* DENIS OSMONT *******
7 IF INKEY$<>"" THEN GOTO 10
10 CLS:INK 1,0:INK 0,26:MODE 2:GOTO 3000
20 ORIGIN 0,0:PLOT 180,120:DRAW 180,270
40 PLOT 180,120:DRAW 330,120:PLOT 180,270:DRAW 330,270:PLOT 330,270:DRAW 330,120
100 PLOT 330,120:DRAW 410,220:PLOT 410,220:DRAW 410,340:PLOT 410,340:DRAW 330,270    
160 PLOT 410,340:DRAW 290,340:PLOT 290,340:DRAW 180,270:GOTO 1000
200 PLOT 290,340:DRAW 290,220:PLOT 290,220:DRAW 180,120:PLOT 290,220:DRAW 410,220:GOTO 1080
280 CLS:ORIGIN 0,0:PLOT 180,120:DRAW 330,120
290 PLOT 330,120:DRAW 330,270:PLOT 330,270:DRAW 180,270 
310 PLOT 180,270:DRAW 180,120:PLOT 330,120:DRAW 380,200
330 PLOT 380,200:DRAW 380,320:PLOT 380,320:DRAW 250,320
350 PLOT 250,320:DRAW 180,270:PLOT 330,270:DRAW 380,320
370 LOCATE 8,20:PRINT"CUBE":LOCATE 10,22:PRINT"Volume= cote x cote x cote"
380 LOCATE 5,24:PRINT"Volume en 3D (o/n)"
385 w$=INKEY$:IF w$="" THEN 385 
390 IF w$="o" OR w$="O" THEN 400
392 IF w$="n" OR w$="N" THEN 395
394 IF w$<>"o" OR w$<>"O" OR w$<>"n" OR w$<>"N" THEN 385 ELSE 1080
400 ORIGIN 0,0:PLOT 270,320:DRAW 270,200
410 PLOT 270,200:DRAW 180,120:PLOT 270,200:DRAW 380,200:GOTO 1080
420 CLS:ORIGIN 0,0:PLOT 160,120:DRAW 330,120:PLOT 330,120:DRAW 380,200:PLOT 380,200:DRAW 250,300
430 PLOT 250,300:DRAW 160,120:PLOT 250,300:DRAW 330,120   
440 LOCATE 8,20:PRINT"PYRAMIDE":LOCATE 10,22:PRINT"Volume= (B x h) / 3"
450 LOCATE 5,24:PRINT"Volume en 3D (o/n)"
460 w$=INKEY$:IF w$="" THEN 460  
470 IF w$="o" OR w$="O" THEN 480   
472 IF w$="n" OR w$="N" THEN 475       
474 IF w$<>"n" OR w$<>"N" OR w$<>"o" OR w$<>"O" THEN 460 ELSE 1080
480 PLOT 230,200:DRAW 160,120:PLOT 230,200:DRAW 380,200:PLOT 230,200:DRAW 250,300:GOTO 1080
500 CLS:ORIGIN 250,180:DEG:MOVE 0,80
520 FOR a=0 TO 360 STEP 10:DRAW 80*SIN(a),80*COS(a):NEXT
530 ORIGIN 400,230:DEG:MOVE 0,60
540 FOR a=0 TO 140 STEP 10:DRAW 60*SIN(a),60*COS(a):NEXT:ORIGIN 0,0
550 PLOT 280,107:DRAW 440,185:PLOT 240,260:DRAW 415,290
560 LOCATE 8,20:PRINT"CYLINDRE":LOCATE 10,22:PRINT"Volume= ( ";CHR$(184);" D x D x h ) / 4"
570 LOCATE 5,24:PRINT"Volume en 3D (o/n)"                          
580 y$=INKEY$:IF y$="" THEN 580       
590 IF y$="o" OR y$="O" THEN 600        
592 IF y$="n" OR y$="N" THEN 595   
594 IF y$<>"n" OR y$<>"N" OR y$<>"o" OR y$<>"O" THEN 580 ELSE 1080   
600 ORIGIN 400,230:DEG:MOVE 0,60
610 FOR a=0 TO 360 STEP 10:DRAW 60*SIN(a),60*COS(a):NEXT:GOTO 1080
620 CLS:ORIGIN 250,180:DEG:MOVE 0,80
640 FOR a=0 TO 360 STEP 10:DRAW 80*SIN(a),80*COS(a):NEXT:MOVE 0,60
660 FOR a=0 TO 180 STEP 10:DRAW 60*SIN(a),60*COS(a):NEXT
670 LOCATE 16,11:PRINT"  ":LOCATE 16,10:PRINT"  ":LOCATE 19,13:PRINT"  ":LOCATE 19,16:PRINT"  ":LOCATE 16,18:PRINT"  "
680 MOVE 0,52:FOR a=0 TO 140 STEP 10:DRAW 52*SIN(a),52*COS(a):NEXT
690 LOCATE 17,12:PRINT"  ":LOCATE 18,15:PRINT"  "
700 LOCATE 8,20:PRINT"SPHERE":LOCATE 10,22:PRINT"Volume= 4 / 3 x ";CHR$(184);" r x r x r"
705 ORIGIN 0,0:GOTO 1080
1000 LOCATE 8,20:PRINT"PARALLELEPIPEDE RECTANGLE":LOCATE 10,22
1010 PRINT"Volume= L x l x h":LOCATE 5,24
1050 PRINT"volume en 3D (o/n)"    
1060 a$=INKEY$:IF a$="" THEN 1060
1070 IF a$="o" OR a$="O" THEN 200
1072 IF a$="n" OR a$="N" THEN 1080
1075 IF a$<>"o" OR a$<>"O" OR a$<>"n" OR a$<>"N" THEN 1060
1080 LOCATE 5,2:PRINT"menu 1 ou 3"
1090 a$=INKEY$:IF a$="" THEN 1090     
1120 IF a$="1" THEN GOTO 5000   
1140 IF a$="3" THEN GOTO 3010  
1150 IF a$<>"1" OR a$<>"2" THEN 1090 
3000 GOTO 5000
3010 CLS:LOCATE 10,3:PRINT"M E N U  3":GOSUB 39990                    
3040 LOCATE 5,6:PRINT"1 parallelepipede rectangle"
3100 LOCATE 5,8:PRINT"2 cube":LOCATE 5,10:PRINT"3 sphere"
3140 LOCATE 5,12:PRINT"4 pyramide":LOCATE 5,14:PRINT"5 cylindre"
3200 b$=INKEY$:IF b$="" THEN 3200
3250 IF b$="1" THEN 3280
3260 IF b$="2" THEN 280 
3262 IF b$="3" THEN 620 
3265 IF b$="4" THEN 420 
3270 IF b$="5" THEN 500 
3275 IF b$<>"1" OR b$<>"2" OR b$<>"3" OR b$<>"4" OR b$<>"5" THEN 3200
3280 CLS:GOTO 20 
5000 CLS:LOCATE 10,3:PRINT"M E N U  1":GOSUB 39990                    
5010 LOCATE 5,10:PRINT"1 surfaces"
5020 LOCATE 5,12:PRINT"2 volumes"
5021 LOCATE 5,14:PRINT"3 formules"
5022 LOCATE 5,16:PRINT"4 exercices d'application"
5030 c$=INKEY$:IF c$="" THEN 5030
5050 IF c$="1" THEN 5100
5060 IF c$="2" THEN 3010
5065 IF c$="3" THEN 20000
5070 IF c$="4"THEN 21000
5075 IF c$<>"1" OR c$<>"2" OR c$<>"3" OR c$<>"4" THEN 5030 ELSE 3010
5100 CLS:LOCATE 10,3:PRINT"M E N U  2":GOSUB 39990                      
5120 LOCATE 5,6:PRINT"1 rectangle"
5150 LOCATE 5, 8:PRINT"2 carre"
5200 LOCATE 5,10:PRINT"3 triangles"
5250 LOCATE 5,12:PRINT"4 parallelogramme"   
5300 LOCATE 5,14:PRINT"5 trapeze"
5350 LOCATE 5,16:PRINT"6 cercle"
5360 LOCATE 5,18:PRINT"7 losange"
5400 d$=INKEY$:IF d$="" THEN 5400
5500 IF d$="1" THEN 10000 
5520 IF d$="2" THEN 11000
5530 IF d$="3" THEN 12000
5540 IF d$="4" THEN 13000
5550 IF d$="5" THEN 14000
5560 IF d$="6" THEN 15000
5570 IF d$="7" THEN 16000
5580 IF d$<>"1" OR d$<>"2" OR d$<>"3" OR d$<>"4" OR d$<>"5" OR d$<>"5" OR d$<>"6" OR d$<>"7" THEN 5400
10000 CLS:ORIGIN 0,0
10050 PLOT 180,120:DRAW 180,270
10100 PLOT 180,270:DRAW 390,270   
10150 PLOT 390,270:DRAW 390,120
10200 PLOT 390,120:DRAW 180,120
10210 LOCATE 8,20:PRINT"RECTANGLE"
10250 LOCATE 10,22:PRINT"Surface= L x l"
10300 LOCATE 5,24:PRINT"menu 1 ou 2"
10350 f$=INKEY$:IF f$="" THEN 10350
10450 IF f$="1" THEN 5000
10500 IF f$="2" THEN 5100
10550 IF f$<>"1" OR f$<>"2" THEN 10350
11000 CLS:ORIGIN 0,0
11020 PLOT 180,120:DRAW 180,270
11040 PLOT 180,270:DRAW 330,270
11060 PLOT 330,270:DRAW 330,120
11080 PLOT 330,120:DRAW 180,120
11100 LOCATE 8,20:PRINT"CARRE"
11120 LOCATE 10,22:PRINT"Surface= cote x cote"
11140 GOTO 10300 
12000 CLS:GOTO  30000   
12010 CLS:ORIGIN 0,0
12020 PLOT 180,120:DRAW 340,120 
12040 PLOT 340,120:DRAW 220,260  
12060 PLOT 220,260:DRAW 180,120   
12080 LOCATE 8,20:PRINT"TRIANGLE QUELCONQUE"                                               
12100 LOCATE 10,22:PRINT"Surface= (b x h) / 2"
12120 GOTO 29000
13000 CLS:ORIGIN 0,0
13020 PLOT 180,120:DRAW 330,120
13040 PLOT 330,120:DRAW 410,220
13060 PLOT 410,220:DRAW 260,220
13080 PLOT 260,220:DRAW 180,120 
13100 LOCATE 8,20:PRINT"PARALLELOGRAMME"
13120 LOCATE 10,22:PRINT"Surface= b x h"
13140 GOTO 10300
14000 CLS:ORIGIN 0,0
14020 PLOT 180,120:DRAW 330,120
14040 PLOT 330,120:DRAW 310,220
14060 PLOT 310,220:DRAW 200,220
14080 PLOT 200,220:DRAW 180,120
14100 LOCATE 8,20:PRINT"TRAPEZE"
14120 LOCATE 10,22:PRINT"Surface= (B + b) / 2 * h"
14140 GOTO 10300
15000 CLS 
15020 ORIGIN 320,230
15040 DEG
15060 MOVE 0,100
15080 FOR a=0 TO 360 STEP 10
15100 DRAW 100*SIN(a),100*COS(a)
15120 NEXT
15140 LOCATE 8,20:PRINT"CERCLE"
15160 LOCATE 10,22:PRINT"Surface= (";CHR$(184);" D x D) / 4"        
15180 GOTO 10300
16000 CLS
16015 ORIGIN 0,0   
16020 PLOT 250,120:DRAW 320,190    
16040 PLOT 320,190:DRAW 250,260 
16060 PLOT 250,260:DRAW 180,190
16080 PLOT 180,190:DRAW 250,120
16100 LOCATE 8,20:PRINT"LOSANGE"
16120 LOCATE 10,22:PRINT"Surface= (a x b) / 2"
16140 GOTO 10300
17000 CLS:ORIGIN 0,0:PLOT 180,120:DRAW 340,120:PLOT 340,120:DRAW 180,270
17020 PLOT 180,270:DRAW 180,120 
17030 LOCATE 8,20:PRINT"TRIANGLE RECTANGLE"
17040 LOCATE 10,22:PRINT"Surface= (b x h) / 2"   
17050 GOTO 29000
18000 CLS:ORIGIN 0,0:PLOT 180,120:DRAW 340,120:PLOT 340,120:DRAW 260,320:PLOT 260,320:DRAW 180,120 
18020 LOCATE 8,20:PRINT"TRIANGLE ISOCELE":LOCATE 10,22:PRINT"Surface= (b x h) / 2"
18030 GOTO 29000
19000 CLS:ORIGIN 0,0:PLOT 180,120:DRAW 340,120:PLOT 340,120:DRAW 260,280:PLOT 260,280:DRAW 180,120
19020 LOCATE 8,20:PRINT"TRIANGLE EQUILATERAL":LOCATE 10,22:PRINT"Surface= (c x cx V3) / 4"
19030 GOTO 29000
20000 CLS:LOCATE 10,3:PRINT"M E N U  4":GOSUB 39990
20020 LOCATE 5,10:PRINT"1 formules pour les surfaces":LOCATE 5,12:PRINT"2 formules pour les volumes"  
20030 qq$=INKEY$:IF qq$="" THEN 20030
20040 IF qq$="1" THEN 20100
20050 IF qq$="2" THEN 20250
20060 IF qq$<>"1" OR qq$<>"2" THEN 20030
20100 CLS:LOCATE 8,3:PRINT"FORMULES POUR LES SURFACES"
20120 LOCATE 2,8:PRINT"rectangle      : ";"L x l"  
20130 LOCATE 2,10:PRINT"carre          : ";"cote x cote"   
20140 LOCATE 2,12:PRINT"triangle equil.: ";"(c x c x V3) / 4"
20145 LOCATE 2,14:PRINT"autres triangl.: ";"(b x h ) / 2"
20150 LOCATE 2,16:PRINT"trapeze        : ";"(B + b ) / 2 x h"
20160 LOCATE 2,18:PRINT"parallelogramme: ";"b x h"
20170 LOCATE 2,20:PRINT"cercle         : ";"( ";CHR$(184);" D x D ) / 4"
20175 LOCATE 2,22:PRINT"losange        : ";"(a + b) / 2"
20180 LOCATE 5,24:PRINT"menu 1 ou 4"
20200 ll$=INKEY$:IF ll$="" THEN 20200
20210 IF ll$="1" THEN 5000
20220 IF ll$="4" THEN 20000
20230 IF ll$<>"1" OR ll$<>"2" THEN 20200
20250 CLS:LOCATE 8,3:PRINT"FORMULES POUR LES VOLUMES"
20260 LOCATE 2,10:PRINT"parallelepipede: ";"L x l x h"
20270 LOCATE 2,12:PRINT"cube           : ";"cote x cote x cote" 
20280 LOCATE 2,14:PRINT"sphere         : ";"4 / 3 x ";CHR$(184);" r x r x r"   
20290 LOCATE 2,16:PRINT"pyramide       : ";"(b x h) / 3" 
20300 LOCATE 2,18:PRINT"cylindre       : ";"( ";CHR$(184);" D x D x h ) / 4"
20350 GOTO 20180
21000 CLS:LOCATE 10,3:PRINT"M E N U  5":GOSUB 39990
21010 LOCATE 5,10:PRINT"1 exercices pour les surfaces"
21020 LOCATE 5,12:PRINT"2 exercices pour les volumes"
21030 cv$=INKEY$:IF cv$="" THEN 21030
21040 IF cv$="1" THEN 21100
21050 IF CV$="2" THEN 22700
21060 IF cv$<>"1" OR cv$<>"2" THEN 21030
21100 CLS:LOCATE 10,3:PRINT"M E N U  6":GOSUB 39990                                 
21105 LOCATE 8,5:PRINT"Exercices pour les surfaces"
21110 LOCATE 5,10:PRINT"1 rectangle":LOCATE 5,12:PRINT"2 carre":LOCATE 5,14:PRINT"3 triangles":LOCATE 5,16:PRINT"4 trapeze":LOCATE 5,18:PRINT"5 parallelogramme"
21120 LOCATE 5,20:PRINT"6 cercle":LOCATE 5,22:PRINT"7 losange"
21125 t=0 
21130 s$=INKEY$:IF s$="" THEN 21130    
21140 IF s$="1" THEN 21200    
21150 IF s$="2" THEN 21500  
21160 IF s$="3" THEN 21650
21170 IF s$="4" THEN 21900   
21180 IF s$="5" THEN 22100   
21190 IF s$="6" THEN 22300  
21192 IF s$="7" THEN 22500    
21193 IF s$<>"1" OR s$<>"2" OR s$<>"3" OR s$<>"4" OR s$<>"5" OR s$<>"6" OR s$<>"7" THEN 21130    
21200 CLS:LOCATE 5,4:PRINT"R E C T A N G L E" 
21204 t=t+1:IF T<8 THEN 21210
21208 RESTORE 21210 
21210 DATA 10,15,20,100,1000,200,25,500,700,630,50,5,300,60,75,3,95,45
21220 GOSUB 39900      
21240 LOCATE 10,10:PRINT"longueur: ";nm
21250 GOSUB 39910                  
21260 LOCATE 10,12:PRINT"largeur : ";jk
21270 zz=nm*jk
21280 LOCATE 3,15:INPUT"resultat: ";re
21290 IF re=zz THEN 21300
21295 LOCATE 10,18:PRINT"FAUX":GOTO 21310
21300 LOCATE 10,18:PRINT"JUSTE"
21310 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"   
21320 tt$=INKEY$:IF tt$="" THEN 21320
21322 IF tt$="o" OR tt$="O" THEN 21200
21323 IF tt$="n" OR tt$="N" THEN 21340
21324 IF tt$<>"o" OR tt$<>"O" OR tt$<>"N" OR tt$<>"n" THEN 21320
21340 RESTORE 21210:
21350 LOCATE 5,24:PRINT"menu 1 ou 5 ou 6 ou (e)exercices"
21360 gl$=INKEY$:IF gl$="" THEN 21360
21370 IF gl$="1" THEN 5000
21380 IF gl$="5" THEN 21000
21390 IF gl$="e" THEN 21100
21400 IF gl$="6" THEN 21100
21410 IF gl$<>"1" OR gl$<>"5" OR gl$<>"e" OR gl$<>"6" THEN 21360 
21500 CLS:LOCATE 5,4:PRINT"C A R R E"
21510 t=t+1
21520 IF t<16 THEN 21540 
21530 RESTORE 21210
21540 GOSUB 39900      
21560 LOCATE 10,10:PRINT"cote: ";nm
21570 zz=nm*nm
21580 LOCATE 3,15:INPUT"resultat: ";re
21590 IF re=zz THEN 21610
21600 LOCATE 10,18:PRINT"FAUX":GOTO 21620
21610 LOCATE 10,18:PRINT"JUSTE"
21620 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"   
21630 rt$=INKEY$:IF rt$="" THEN 21630
21632 IF rt$="o" OR rt$="O" THEN 21500
21633 IF rt$="n" OR rt$="N" THEN 21640
21634 IF rt$<>"o" OR rt$<>"O" OR rt$<>"n" OR rt$<>"N" THEN 21630
21640 RESTORE 21210:GOTO 21350
21650 CLS:LOCATE 10,3:PRINT "M E N U  9":GOSUB 39990
21660 LOCATE 10,10:PRINT "1 triangle equilateral"      
21665 LOCATE 10,12:PRINT "2 autres triangles"
21670 qw$=INKEY$:IF QW$="" THEN 21670
21675 IF QW$="2" THEN 21700
21680 IF QW$="1" THEN 41000 ELSE 21670
21700 CLS:LOCATE 5,4:PRINT"T R I A N G L E"
21710 t=t+1
21720 IF t<5 THEN 21740
21730 RESTORE 21210
21740 GOSUB 39900      
21760 LOCATE 10,10:PRINT"base   : ";nm
21765 GOSUB 39910                  
21770 LOCATE 10,12:PRINT"hauteur: ";jk
21780 zz=nm*jk/2
21790 LOCATE 3,15:INPUT"resultat: ";re
21800 IF re=zz THEN 21820
21810 LOCATE 10,18:PRINT"FAUX":GOTO 21830
21820 LOCATE 10,18:PRINT"JUSTE"
21830 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"   
21840 wx$=INKEY$:IF wx$="" THEN 21840
21842 IF wx$="o" OR wx$="O" THEN 21700
21843 IF wx$="n" OR wx$="N" THEN 21850
21844 IF wx$<>"o" OR wx$<>"O" OR wx$<>"n" OR wx$<>"N" THEN 21840
21850 RESTORE 21210:GOTO 21350
21900 CLS:LOCATE 5,4:PRINT"T R A P E Z E"
21910 t=t+1
21920 IF t<5 THEN 21940
21930 RESTORE 21210
21940 GOSUB 39900      
21960 LOCATE 10,9 :PRINT"Base   : ";nm
21970 GOSUB 39910                  
21980 LOCATE 10,11:PRINT"base   : ";jk
21990 READ x:z=x*RND(1):hj=INT(z)
22000 LOCATE 10,13:PRINT"hauteur: ";hj
22010 zz=(nm+jk)/2*hj
22020 LOCATE 3,15:INPUT"resultat: ";re
22030 IF re=zz THEN 22050
22040 LOCATE 10,18:PRINT"FAUX":GOTO 22060
22050 LOCATE 10,18:PRINT"JUSTE"                
22060 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
22070 wx$=INKEY$:IF wx$="" THEN 22070
22080 IF wx$="o" OR wx$="O" THEN 21900
22082 IF wx$="n" OR wx$="N" THEN 22090
22084 IF wx$<>"o" OR wx$<>"O" OR wx$<>"n" OR wx$<>"N" THEN 22070
22090 RESTORE 21210:GOTO 21350
22100 CLS:LOCATE 5,4:PRINT"P A R A L L E L O G R A M M E"
22110 t=t+1:IF t<9 THEN 22140
22130 RESTORE 21210
22140 GOSUB 39900        
22160 LOCATE 10,10:PRINT"base   : ";nm
22170 GOSUB 39910                 
22180 LOCATE 10,12:PRINT"hauteur: ";jk
22190 LOCATE 3,15:INPUT"resultat: ";re
22195 zz=nm*jk
22200 IF re=zz THEN 22220
22210 LOCATE 10,18:PRINT"FAUX":GOTO 22230
22220 LOCATE 10,18:PRINT"JUSTE"
22230 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
22240 wx$=INKEY$:IF wx$="" THEN 22240
22250 IF wx$="o" OR wx$="O" THEN 22100
22252 IF wx$="n" OR wx$="N" THEN 22260
22254 IF wx$<>"o" OR wx$<>"O" OR wx$<>"n" OR wx$<>"N" THEN 22240
22260 RESTORE 21210:GOTO 21350
22300 CLS:LOCATE 5,4:PRINT"C E R C L E"
22310 t=t+1:IF t<15 THEN 22340
22330 RESTORE 21210 
22340 GOSUB 39900        
22360 LOCATE 10,10:PRINT"diametre: ";nm
22370 LOCATE 10,12:PRINT CHR$(184)" =     :  3.14"
22380 zz=(3.14*nm*nm)/4
22390 LOCATE 3,15:INPUT"resultat: ";re
22400 IF re=zz THEN 22420
22410 LOCATE 10,18:PRINT"FAUX":GOTO 22430
22420 LOCATE 10,18:PRINT"JUSTE"
22430 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
22440 wx$=INKEY$:IF wx$="" THEN 22440
22450 IF wx$="o" OR wx$="O" THEN 22300
22452 IF wx$="n" OR wx$="N" THEN 22460
22454 IF wx$<>"o" OR wx$<>"n" OR wx$<>"O" OR wx$<>"N" THEN 22440
22460 RESTORE 21210:GOTO 21350
22500 CLS:LOCATE 5,4:PRINT"L O S A N G E"
22510 t=t+1:IF t<9 THEN 22540
22530 RESTORE 21210
22540 GOSUB 39900        
22560 LOCATE 10,10:PRINT"a.....: ";nm
22570 GOSUB 39910                 
22580 LOCATE 10,12:PRINT"b.....: ";jk
22590 zz=(nm*jk)/2
22600 LOCATE 3,15:INPUT"resultat:";re
22610 IF re=zz THEN 22630
22620 LOCATE 10,18:PRINT"FAUX":GOTO 22640
22630 LOCATE 10,18:PRINT"JUSTE"
22640 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
22650 wx$=INKEY$:IF wx$="" THEN 22650
22660 IF wx$="o" OR wx$="O" THEN 22500
22662 IF wx$="n" OR wx$="N" THEN 22670
22664 IF wx$<>"o" OR wx$<>"n" OR wx$<>"O" OR wx$<>"N" THEN 22650
22670 RESTORE 21210:GOTO 21350
22700 CLS:LOCATE 10,3:PRINT"M E N U  7":GOSUB 39990                             
22705 LOCATE 8,5:PRINT"Exercices pour les volumes"
22710 LOCATE 5,10:PRINT"1 parallelepipede":LOCATE 5,12:PRINT"2 cube":LOCATE 5,14:PRINT"3 sphere":LOCATE 5,16:PRINT"4 pyramide":LOCATE 5,18:PRINT"5 cylindre"
22720 t=0
22730  a$=INKEY$:IF  a$="" THEN 22730 
22740 IF a$="1" THEN 22800
22750 IF a$="2" THEN 23200
22760 IF a$="3" THEN 23400
22765 IF a$="4" THEN 23600
22770 IF a$="5" THEN 23900
22775 IF as$<>"1" OR as$<>"2" OR as$<>"3" OR as$<>"4" OR as$<>"5" THEN 22730
22800 CLS:LOCATE 5,4:PRINT"P A R A L L E L E P I P E D E    R E C T A N G L E"
22810 t=t+1:IF t<5 THEN 22840
22830 RESTORE 21210
22840 GOSUB 39900      
22860 LOCATE 10,9 :PRINT"Longueur: ";nm
22870 GOSUB 39910                 
22880 LOCATE 10,11:PRINT"largeur : ";jk
22890 READ x:z=x*RND(1):hj=INT(z)
22900 LOCATE 10,13:PRINT"hauteur : ";hj
23000 zz=nm*jk*hj
23010 LOCATE 3,15:INPUT"resultat:";re
23020 IF re=zz THEN 23040
23030 LOCATE 10,18:PRINT"FAUX":GOTO 23050
23040 LOCATE 10,18:PRINT"JUSTE"
23050 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
23060 wx$=INKEY$:IF wx$="" THEN 23060
23070 IF wx$="o" OR wx$="O" THEN 22800
23072 IF wx$="n" OR wx$="N" THEN 23080
23074 IF wx$<>"o" OR wx$<>"n" OR wx$<>"O" OR wx$<>"N" THEN 23060
23080 RESTORE 21210:GOTO 23090
23090 LOCATE 5,24:PRINT"menu 1 ou 5 ou 7 ou (e)exercices" 
23100 gl$=INKEY$:IF gl$="" THEN 23100 
23110 IF gl$="1" THEN 5000 
23120 IF gl$="5" THEN 21000 
23130 IF gl$="7" THEN 22700 
23140 IF gl$="e" THEN 22700 
23145 GOTO 23100 
23200 CLS:LOCATE 5,4:PRINT"C U B E"
23210 t=t+1:IF t<15 THEN 23240
23230 RESTORE 21210
23240 GOSUB 39900       
23260 LOCATE 10,10:PRINT"cote: ";nm
23270 zz=nm*nm*nm
23280 LOCATE 3,15:INPUT"resultat:";re
23290 IF re=zz THEN 23310
23300 LOCATE 10,18:PRINT"FAUX":GOTO 23320
23310 LOCATE 10,18:PRINT"JUSTE"
23320 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
23330 wx$=INKEY$:IF wx$="" THEN 23330
23331 IF wx$="o" OR wx$="O" THEN 23200
23332 IF wx$="n" OR wx$="N" THEN 23340
23334 IF wx$<>"o" OR wx$<>"n" OR wx$<>"O" OR wx$<>"N" THEN 23330
23340 RESTORE 21210:GOTO 23090
23400 CLS:LOCATE 5,4:PRINT"S P H E R E"
23410 t=t+1:IF t<15 THEN 23440
23430 RESTORE 21210
23440 GOSUB 39900        
23460 LOCATE 10,10:PRINT"rayon: ";nm 
23470 zz=  (4*nm*nm*nm*3.14)/3 
23480 LOCATE 3,15:INPUT"resultat:";re
23490 IF re=zz THEN 23510
23500 LOCATE 10,18:PRINT"FAUX":GOTO 23520
23510 LOCATE 10,18:PRINT"JUSTE"
23520 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
23530 wx$=INKEY$:IF wx$="" THEN 23530
23532 IF wx$="o" OR wx$="O" THEN 23400 
23534 IF wx$="n" OR wx$="N" THEN 23540
23536 IF wx$<>"o" OR wx$<>"O" OR wx$<>"n" OR wx$<>"N" THEN 23530
23540 RESTORE 21210:GOTO 23090
23600 CLS:LOCATE 5,4:PRINT"P Y R A M I D E"
23610 t=t+1:IF t<8 THEN 23640 
23630 RESTORE 21210
23640 GOSUB 39900       
23660 LOCATE 10,9:PRINT"base   : ";nm
23670 GOSUB 39910                 
23680 LOCATE 10,11:PRINT"hauteur: ";jk
23690 zz=(nm*jk)/3
23700 LOCATE 3,15:INPUT"resultat:";re
23710 IF re=zz THEN 23730
23720 LOCATE 10,18:PRINT"FAUX":GOTO 23740 
23730 LOCATE 10,18:PRINT"JUSTE"
23740 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
23750 wx$=INKEY$:IF wx$="" THEN 23750 
23760 IF wx$="o" OR wx$="O" THEN 23600  
23770 IF wx$="n" OR wx$="N" THEN 23790 
23780 IF wx$<>"o" OR wx$<>"O" OR wx$<>"n" OR wx$<>"N" THEN 23750 
23790 RESTORE 21210:GOTO 23090
23900 CLS:LOCATE 5,4:PRINT"C Y L I N D R E"
23910 t=t+1:IF t<8 THEN 23940
23930 RESTORE 21210
23940 GOSUB 39900      
23960 LOCATE 10,9 :PRINT"diametre: ";nm
23970 GOSUB 39910                  
23980 LOCATE 10,11:PRINT"hauteur : ";jk
23990 zz=INT((3.14*nm*nm)/4)
24000 LOCATE 3,15:INPUT"resultat: ";re
24010 IF re=zz THEN 24030
24020 LOCATE 10,18:PRINT"FAUX":GOTO 24040
24030 LOCATE 10,18:PRINT"JUSTE"
24040 LOCATE 8,22:PRINT"voulez-vous recommencer (o/n):"
24050 wx$=INKEY$:IF wx$="" THEN 24050
24060 IF wx$="o" OR wx$="O" THEN 23900
24070 IF wx$="n" OR wx$="N" THEN 24090
24080 IF wx$<>"o" OR wx$<>"O" OR wx$<>"n" OR wx$<>"N" THEN 24050
24090 RESTORE 21210:GOTO 23090
29000 LOCATE 5,24:PRINT"menu 1 ou 2 ou 8" 
29020 yy$=INKEY$:IF yy$="" THEN 29020
29030 IF yy$="1" THEN GOTO 5000
29040 IF yy$="2" THEN GOTO 5100
29050 IF yy$="8" THEN GOTO 30000
29060 IF yy$<>"1" OR yy$<>"2" OR yy$<>"8" THEN 29020
30000 CLS:LOCATE 10,3:PRINT"M E N U  8":GOSUB 39990
30005 LOCATE 5,6:PRINT"1 triangle quelconque"
30010 LOCATE 5,8:PRINT"2 triangle rectangle"
30020 LOCATE 5,10:PRINT"3 triangle isocele"
30030 LOCATE 5,12:PRINT"4 triangle equilateral"
30040 y$=INKEY$:IF y$="" THEN 30040
30050 IF y$="1" THEN 12010 
30060 IF y$="2" THEN 17000
30070 IF y$="3" THEN 18000
30080 IF y$="4" THEN 19000
30090 IF y$<>"1" OR y$<>"2" OR y$<>"3" OR y$<>"4" THEN 30040
39900 READ x:z=x*RND(1):nm=INT(z):RETURN
39910 READ x:z=x*RND(1):jk=INT(z):RETURN
39990 LOCATE 10,4:PRINT"----------":RETURN
39998 INK 0,1:INK 1,26:BORDER 0
40000 MODE 0:sp$="SURFACES PLANES":es$="ET SOLIDES"              
40010 FOR i=1 TO 15:LOCATE 1+i,10:PRINT MID$(sp$,i,1):FOR yy=1 TO 200:NEXT yy:NEXT i   
40012 FOR i=1 TO 10:LOCATE 3+i,14:PRINT MID$(es$,i,1):FOR yy=1 TO 200:NEXT yy:NEXT i:GOSUB 40100:BORDER 0,26:BORDER 26,0
40025 FOR i=1 TO 1500:NEXT:BORDER 0:MODE 1
40030 RETURN
40100 ORIGIN 0,0:DRAW 0,398:DRAW 638,398:DRAW 638,0:DRAW 0,0:RETURN
41000 CLS:LOCATE 5,4:PRINT "T R I A N G L E  E Q U I L A T E R A L"
41010 T=T+1
41020 IF T<9 THEN 41040
41030 RESTORE 21210
41040 GOSUB 39900
41050 LOCATE 10,10:PRINT"Cote   : ";cote
41060 GOSUB 39910
41070 ZZ=COTE^2*SQR(3)/4
41080 LOCATE 3,15:INPUT "RESULTAT:  ";re
41090 IF RE=ZZ THEN 41110
41100 LOCATE 10,18:PRINT"FAUX":GOTO 41120
41110 LOCATE 10,18:PRINT"JUSTE"
41120 LOCATE 8,22:PRINT"Voulez-vous recommencer (O/N): "
41130 WX$=UPPER$(INKEY$):IF WX$="" THEN 41130
41140 IF WX$="O" THEN 41000
41150 IF WX$="N" THEN 41160 ELSE 41130
41160 RESTORE 21210
41170 LOCATE 5,24:PRINT "Menu 1 ou 5 ou 6 ou 9 ou (e)xercices"
41180 QW$=INKEY$:IF QW$="" THEN 41180
41190 IF QW$="1" THEN 5000
41200 IF QW$="5" THEN 21000
41210 IF QW$="6" THEN 21100 
41220 IF QW$="e" THEN 21100  
41230 IF QW$="9" THEN 21650 ELSE 41180