10 MODE 1
20 GOSUB 500 
30 GOSUB 800 
40 END
499 REM dibujar los ejes
500 ox=100:oy=50
505 ORIGIN ox,oy
510 ypunto=399-oy
515 xpunto=639-ox
520 MOVE 0,ypunto
530 DRAW 0,0,1 
540 DRAW xpunto,0
550 minx=200 
560 maxx=4000
570 difx=maxx-minx
580 miny=100 
590 maxy=1000
600 dify=maxy-miny
610 puntox=difx/xpunto
620 puntoy=dify/ypunto
690 RETURN
799 REM leer puntos del data y dibujarlos
800 READ numdepuntos
805 DIM x(numdepuntos),y(numdepuntos)
806 READ tinta0,tinta1
807 INK 0,tinta0
808 INK 1,tinta1
809 PAPER 0:PEN 1
810 cruzx=10
811 cruzy=10
812 unir=1
814 FOR con=1 TO numdepuntos
815   READ x(con):xdib=(x(con)-minx)/puntox
816   x(con)=xdib
820   READ y(con):ydib=(y(con)-miny)/puntoy
821   y(con)=ydib
825 NEXT
829 REM ordenar la matriz x
830 FOR con= 2 TO numdepuntos
840   FOR valor=con TO 2 STEP -1
850     IF x(valor)<x(valor-1) THEN GOSUB 1500 ELSE valor=2
860   NEXT 
870 NEXT
880 FOR con=1 TO numdepuntos
890   PLOT x(con),y(con)
900   MOVER -cruzx,cruzy
910   DRAWR 2*cruzx,-2*cruzy
920   MOVER -2*cruzx,0
930   DRAWR 2*cruzx,2*cruzy
940   MOVER -cruzx,-cruzy
950   REM si unir esta a 1 los puntos se van uniendo
960   IF unir=1 AND con>1 THEN DRAW x(con-1),y(con-1)
970   NEXT 
990 RETURN
999 REM los datos estan ahora desordenados
1000 DATA 5,0,24,1000,200,4000,1000,200,100,2500,600,1500,300
1499 REM cambio en las matrices para que la coordenada x mas baja vaya primero
1500 tempx=x(valor):tempy=y(valor)
1510 x(valor)=x(valor-1):y(valor)=y(valor-1) 
1520 x(valor-1)=tempx:y(valor-1)=tempy
1530 RETURN
