microsoft basic per mac
REM TRIGO7 REM variante di TRIGO6 REM esempio istogrammi lineari e con righe verticali e triangoli REM cambio tipo tratteggio REM fattore di scala ys REM GRIGLIA FACOLTATIVA REM STAMPA VALORI NUMERICI E LEGENDE INPUT"1=con griglia....2=senza griglia ";gri INPUT"1=anche linee verticali....2=senza verticali ";tipo1 INPUT"1=anche tratteggio....2=senza tratteggio ";tipo2 INPUT"legenda per asse ordinate=";ly$ INPUT"legenda per asse ascisse=";lx$ INPUT"legenda per titolo grafico=";titolo$ CLS Y1=250 Y2=100 dy=y1-y2 ymax=0 ymin=10000 LARGO=30 X1=1 valori=15 dx=1/8 DIM y(valori+1) REM asse ascisse X LINE(x1,y1)-(x1+valori*largo,y1) REM lettura valori e ricerca massimo e minimo FOR A=1 TO valori READ y(a) IF y(a)>=ymax THEN ymax=y(a) IF y(a)<=ymin THEN ymin=y(a) NEXT a ys=dy/ymax REM stampa legende LOCATE 2,10:PRINT titolo$ LOCATE 4,2:PRINT ly$ LOCATE 18,2:PRINT lx$ LOCATE 3,40:PRINT"massimo=";ymax LOCATE 4,40:PRINT"minimo =";ymin REM CORNICE GRAFICO LINE(x1,y1)-(x1+valori*largo,y2),,b IF gri=2 THEN nogriglia REM GRIGLIA griglia: FOR b=1 TO dy STEP 10 LINE(x1,y2+b)-(x1+largo*valori,y2+b) NEXT b nogriglia: REM diagramma lineare X=1 FOR a=1 TO valori LINE(x1,y1-ys*y(a))-(x1+largo,y1-ys*y(a+1)) x1=x1+largo NEXT a INPUT x$ REM STAMPA VALORI NUMERICI x1=1 x=1 FOR A=1 TO VALORI LOCATE 5,x:PRINT Y(a) x1=x1+largo x=x1*dx NEXT a REM PROSEGUE GRAFICO IF tipo1<>1 THEN tratteggio REM linee verticali verticali: x1=1 FOR a=1 TO valori LINE(x1,y1)-(x1,y1-ys*y(a)) x1=x1+largo NEXT a INPUT x$ tratteggio: IF tipo2<>1 THEN fine REM tratteggio triangoli e istogramma rettangolare x1=1 FOR a=1 TO valori da=ys*y(a)-ys*y(a+1) IF da>=0 THEN dh=1 ELSE dh=2 ta=da/largo IF a/2=INT(a/2) THEN passo=2 ELSE passo=1 FOR l=largo TO 1 STEP -1*passo h=l*ta IF dh=1 THEN h=(da-h) IF dh=2 THEN LINE(x1,y1-ys*y(a+1)-h)-(x1,y1-ys*y(a)) IF dh=1 THEN LINE(x1,y1-ys*y(a)+h)-(x1,y1-ys*y(a+1)) IF dh=2 THEN LINE(x1,y1)-(x1,y1-ys*y(a)) IF dh=1 THEN LINE(x1,y1)-(x1,y1-ys*y(a+1)) x1=x1+passo NEXT l NEXT a fine: LOCATE 20,2:INPUT"premi return";x$ REM ultimo dato 0 DATA 50,140,60,120,20,80,50,100,80,80,20,130,60,150,30,0