10 '--------------------------
20 ' HISTOGRAMME 30 '-------------------------- 40 MODE 1 50 DIM D(300) 60 REM******************************** 70 REM* presentation * 80 REM******************************** 90 CLS 100 XC=0 110 PRINT CHR$(7) 120 INK 0,0 130 PAPER 0 140 BORDER 0 150 INK 1,18 160 INK 2,8 170 PEN 2 180 PRINT"________________________________________" 190 LOCATE 1,20:PRINT"________________________________________" 200 PLOT 0,80:DRAW 0,369 210 PLOT 639,80:DRAW 639,369 220 PEN 1 230 LOCATE 14,10:PRINT"___________" 240 LOCATE 14,12:PRINT"HISTOGRAMME" 250 LOCATE 14,13:PRINT"___________" 260 LOCATE 1,24:PRINT" ":FOR tt=1 TO 1000:NEXT 270 m$=CHR$(128):b$="tapez une touche pour commencer":FOR f=1 TO 31: LOCATE f+5,24:PRINT MID$(b$,f,1);m$:FOR u=1 TO 40:NEXT:NEXT:LOCATE f,24 280 FOR p=1 TO 500:NEXT 290 h$=INKEY$: IF h$="" GOTO 260 300 PRINT CHR$(7) 310 A$=INKEY$:PRINT"":xc=xc+1: IF xc=21 THEN GOTO 320 ELSE GOTO 310 320 CLS 330 REM******************************** 340 REM* mode d'emploi * 350 REM******************************** 360 PRINT 370 PEN 2: PRINT" ____________" 380 PRINT 390 PRINT" *** MENU ***" 400 PRINT" ____________" 410 LOCATE 12,12:PEN 1:PRINT"<1>":LOCATE 16,12:PEN 1:PRINT" histo 3 dimensions" 420 LOCATE 12,18:PEN 1:PRINT"<2>":LOCATE 16,18:PEN 1:PRINT" histo 2 dimensions" 430 m$=INKEY$:IF m$="" THEN GOTO 430 440 IF m$="1" OR m$="2" THEN GOTO 450 ELSE GOTO 430 450 CLS 460 PRINT 470 PEN 2 480 PRINT" ________________________________" 490 PRINT 500 PRINT" *** CHOIX DES COULEURS ***" 510 PRINT" ________________________________" 520 PEN 1 530 LOCATE 12,8:PRINT"<1> jaune" 540 LOCATE 12,10:PRINT"<2> rouge" 550 LOCATE 12,12:PRINT"<3> bleu" 560 LOCATE 12,14:PRINT"<4> magenta pastel" 570 LOCATE 12,16:PRINT"<5> vert vif" 580 LOCATE 12,18:PRINT"<6> turquoise vif" 590 LOCATE 12,20:PRINT"<7> orange" 600 LOCATE 12,22:PRINT"<8> blanc" 610 LOCATE 12,24:PRINT"<9> bleu vif" 620 c$=INKEY$:IF c$="" GOTO 620 630 IF c$="1" THEN GOTO 730 640 IF c$="2" THEN GOTO 740 650 IF c$="3" THEN GOTO 750 660 IF c$="4" THEN GOTO 720 670 IF c$="5" THEN GOTO 760 680 IF c$="6" THEN GOTO 770 690 IF c$="7" THEN GOTO 780 700 IF c$="8" THEN GOTO 790 710 IF c$="9" THEN GOTO 800 720 co=17:GOTO 810 730 co=24:GOTO 810 740 co=6:GOTO 810 750 co=1:GOTO 810 760 co=18:GOTO 810 770 co=20 :GOTO 810 780 co=15 :GOTO 810 790 co=26:GOTO 810 800 co=2 810 CLS 820 PRINT 830 PEN 2 840 PRINT" ___________________________________" 850 PRINT 860 PRINT" *** ENTREE DES DONNEES DE BASES ***" 870 PRINT" ___________________________________" 880 PEN 1 890 PRINT"":PRINT"":PRINT"" 900 PRINT 910 LOCATE 10,24:PRINT" appuyer sur <enter> pour valider.." 920 LOCATE 4,8: INPUT"titre de votre histogramme";t$ 930 PRINT 940 INPUT" unite sur l'axe des x";x$ 950 PRINT 966 INPUT" unite sur l'axe des y";y$ 970 PRINT 980 INPUT" echelle ( donnee la plus grande)";ev 990 PRINT 1000 INPUT" nombre de donnees";nd 1010 IF nd>200 GOTO 1000 1020 IF m$="2" THEN c=280/ev ELSE c=280/(1.1*ev) 1030 REM******************************** 1040 REM* entree des donnes * 1050 REM******************************** 1060 CLS 1070 PEN 2 1080 PRINT" _____________________________________" 1090 PRINT 1100 PRINT" *** ENTREE DES DONNEES DIRECTES ***" 1110 PRINT" _____________________________________" 1120 WINDOW 1,40,25,8 1130 PEN 1 1140 FOR i=1 TO nd 1150 PRINT" donnees";i;"?" 1160 INPUT" ";d(i) 1170 IF d(i)>ev THEN GOTO 1150 1180 IF d(i)<-ev/4 GOTO 1150 1190 IF d(i)<0 AND m$="1" GOTO 1150 1200 PRINT"" 1210 NEXT i 1220 MODE 1 1230 REM******************************** 1240 REM* couleurs * 1250 REM******************************** 1260 INK 2,co 1270 PEN 2 1280 REM******************************** 1290 REM* abscisse et ordonnee * 1300 REM******************************** 1310 CLS 1320 PLOT 50,100 1330 DRAW 50,380 1340 PLOT 50,100 1350 DRAW 640,100 1360 REM******************************** 1370 REM* histo 2 d * 1380 REM******************************** 1390 IF m$="2" THEN b1=550/nd ELSE b1=550/(nd*2) 1400 IF m$="1" THEN u=4 1410 b=b1 1420 FOR i=1 TO nd 1430 z=b1-5 1440 IF i>1 THEN b=b+b1 1450 IF i=1 AND m$="1" THEN b=b1/1.8 1460 IF m$="2" AND i=1 THEN u=4 1470 IF m$="2" AND i>1 THEN u=-2 1480 IF d(i)<0 THEN ORi=95 ELSE ORi=105 1490 IF d(i)<0 THEN GOSUB 1910 1500 IF m$="2" THEN b2=b+8 ELSE b2=b*2 1510 PLOT( b2)+50,ORi 1520 DRAW( b2+50),(d(i)*c)+ORi 1530 FOR f=1 TO z+u 1540 PLOT( b2)+50-f,ORi 1550 DRAW( b2)+50-f,(d(i)*c)+ORi,6 1560 NEXT 1570 IF m$="2" GOTO 1740 1580 REM******************************* 1590 REM* 3 D * 1600 REM******************************* 1610 gb=116:gc=114 1620 IF d(i)<0 THEN d(i)=-D(i) 1630 IF d(i)<0 THEN ORi=d(i) 1640 k=2 1650 PLOT(b*2)+50,ori 1660 DRAW(b*2)+50+(b1/k),gb 1670 DRAW(b*2)+50+(b1/k),(d(i)*c)+gc 1680 DRAW(b*2)+50,(d(i)*c)+106 1690 PLOT(b*2)+50+(b1/k),(d(i)*c)+gc 1700 DRAW(b*2)+50-(b1/2),(d(i)*C)+gC 1710 PLOT(b*2)+50-(b1/2),(d(i)*c)+gc-1 1720 DRAW(b*2)+50-b1+2,(d(i)*c)+106 1730 REM******************************* 1740 REM* commentaire graphique * 1750 REM******************************* 1760 NEXT 1770 PLOT 150,15 1780 TAG 1790 PRINT t$; 1800 vx=-20 1810 PLOT 5,105:TAG:PRINT"0"; 1820 PLOT vx,380:TAG:PRINT ev; 1830 PLOT 5,400:TAG:PRINT y$; 1840 PLOT 590-(len(x$)*8),90:TAG:PRINT x$; 1850 d$=INKEY$:IF d$="" GOTO 1850 1860 TAGOFF 1870 GOTO 90 1880 REM******************************* 1890 REM* negatif * 1900 REM******************************* 1910 PLOT 50,150 1920 DRAW 50,10 1930 RETURN |