[ Foro de BASIC ]

Duda específica de programación

24-Apr-2016 02:25
Invitado (Raven)
1 Respuestas

Hola.
Tengo un archivo de datos numéricos de los cuales la mitad son números asignados como etiquetas arbitrarias (1=Evento X, 2 = Evento Y) y la segunda parte es una cuenta en mili segundos apareada con la etiqueta.
De esos datos lo que necesito sacar es cuanto tiempo promedio que pasa entre los eventos uno y dos.
Para ello tengo el siguiente programa:
10  CLS: PRINT "**** ****"
20  PRINT "InterRefTime"
30  INPUT "Nombre" ,  A$: INPUT "Sesion", B$: C$= "NAME"+A$+"."+B$: D$=A$+"."B$
40  OPEN C$ FOR INPUT AS #1 : FOR I = 1 TO 44 : INPUT #1, A: NEXT I [comentario estas lineas no las necesito por eso las descarto]
50  WHILE NOT EOF (1): INPUT #1, A: B=B+1: WEND
60  C=B/2 : DIM E(C), D(C): CLOSE #1: OPEN C$ FOR INPUT AS #2
70  FOR I =1 TO 44: INPUT #2, A:  NEXT I
80  FOR G=1 TO C: INPUT #2,  D(G): NEXT G
90  FOR G=1 TO C: INPUT #2,  E(G): NEXT G
100  FOR G= 1 TO C
110      IF D(G) = 1 OR  D(G)=2 THEN U=E(G)
120      IF D(G) = 1 OR  D(G)=2 THEN U=E(G):K=K+1: GOTO 130 : ELSE 140
130  W=(U-U)/10: L=L+W: U=0: GOTO 140
140  NEXT G: CLOSE #2: OPEN D$ FOR APPEND AS #1
150  M= L/K: PRINT #1, USING "####.##";M : CLOS #1
160 END

Yo me supongo que mi error radica en las líneas 110 y 120 con los IF´s pero el punto es que no sé como debo programar la comparación puesto que aleatoriamente en mi lista de datos aparecen 1 o 2, entonces lo que necesito saber, independientemente de la etiqueta, es cuanto tiempo pasa entre esos dos posibles eventos.

Si me logran decifrar mi error y hacer funcionar esto habrán salvado mi Tesis, gracias n_n


30-Apr-2016 17:14
Nacho Cabanes (+84)

El programa no tiene comentarios y tiene nombres de variable tan cortos que es muy difícil seguir la lógica. ¿Cual es el cometido de las variables E, G, U? ¿Y W, L?

Desde luego, las líneas 110 y 120 son idénticas en su parte inicial, lo que parece indicar que la 110 sobre o que exista algún error de diseño, y el GOTO 130 que pasa a la línea siguiente también es un tanto desconcertante... pero sin entender la lógica no puedo decirte más.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)