Pascal/Turbo Pascal - Problema Codigo [error 104: file not open for input]

   
Vista:

Problema Codigo [error 104: file not open for input]

Publicado por Sebastian (1 intervención) el 25/06/2015 21:25:53
Buenas , saben tengo un problema con el codigo en turbo pascal, al momento de hacer un readln me tira el siguiente error:
Error 104: File nor open for input , tengo un codigo similiar y eso no ocurre, solo con este :( , les adjunto el codigo
2cie93k


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
PROGRAM TAREA2; USES CRT;
VAR SCORE: INTEGER;
    I,J,X,Y,CONT: BYTE;
    A:ARRAY[1..6,1..20] OF BYTE;
 
PROCEDURE DIBUJARMATRIZ;
BEGIN
     FOR I:=1 TO 20 DO
     BEGIN
          WRITELN;
          FOR J:=1 TO 9 DO
          BEGIN
               IF A[I,J]=1 THEN
                  WRITE(CHR(A[I,J]));
               IF A[I,J]=2 THEN
                  WRITE(CHR(A[I,J]));
               IF A[I,J]=3 THEN
                  WRITE(CHR(A[I,J]));
               IF A[I,J]=4 THEN
                  WRITE(CHR(A[I,J]));
               IF A[I,J]=5 THEN
                  WRITE(CHR(A[I,J]));
               IF A[I,J]=6 THEN
                  WRITE(CHR(A[I,J]));
          END;
     END;
END;
 
{*************************************************************}
PROCEDURE CHECKMATRIZ;
BEGIN
     IF J>2 THEN
     BEGIN
          IF (A[I,J]=A[I,J-1]) AND (A[I,J-1]=A[I,J-2]) THEN
          BEGIN
               A[I,J-1]:=RANDOM(6)+1;
               A[I,J-2]:=RANDOM(6)+1;
               CHECKMATRIZ;
          END;
     END;
END;
 
{*************************************************************}
BEGIN
     CLRSCR;
     RANDOMIZE;
     FOR I:=1 TO 20 DO
     BEGIN
          FOR J:=1 TO 9 DO
          BEGIN
               A[I,J]:=RANDOM(6)+1;
               CHECKMATRIZ;
          END;
     END;
     DIBUJARMATRIZ;
     FOR CONT:=1 TO 20 DO
     BEGIN
          WRITELN('MOVIMIENTOS RESTANTES: ',20-CONT);
          WRITELN('INGRESE CORDENADA EJE X [1-9]: ');
         READLN(X);   <---- AQUI ES LA LINEA 104 donde ocurre el error
 
          WHILE (X<1) OR (X>9) DO
          BEGIN
               WRITELN('INGRESE CORDENADA EJE X [1-9]: ');
               READLN(X);
          END;
          WRITELN('INGRESE CORDENADA EJE Y [1-20] : ');
          WHILE (Y<1) OR (Y>20) DO
          BEGIN
               WRITELN('INGRESE CORDENADA EJE Y [1-20]: ');
               READLN(Y);
          END;
     END;
END.

Estoy usando TURBO PASCAL 7 (via dosbox) en Windows 7 x64 , alguna ayuda porfavor :( llevo 2 dias tratando de solucionarlo y nada
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema Codigo [error 104: file not open for input]

Publicado por David (144 intervenciones) el 26/06/2015 12:50:11
Probado en TP 7.0 bajo win XP no presenta errores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Codigo [error 104: file not open for input]

Publicado por ramon (2072 intervenciones) el 26/06/2015 12:55:38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{compara estas correcciones de tu programa }
 
PROGRAM TAREA2;
USES
  CRT;
  VAR
     SCORE: INTEGER;
     I,J,X,Y,CONT: integer;
     A:ARRAY[1..6,1..20] OF integer;
 
PROCEDURE DIBUJARMATRIZ;
BEGIN
FOR j:=1 TO 20 DO
BEGIN
WRITELN;
FOR i:=1 TO 6 DO
BEGIN
IF A[I,J]=1 THEN
WRITE(CHR(A[I,J]));
IF A[I,J]=2 THEN
WRITE(CHR(A[I,J]));
IF A[I,J]=3 THEN
WRITE(CHR(A[I,J]));
IF A[I,J]=4 THEN
WRITE(CHR(A[I,J]));
IF A[I,J]=5 THEN
WRITE(CHR(A[I,J]));
IF A[I,J]=6 THEN
WRITE(CHR(A[I,J]));
END;
END;
END;
 
{*************************************************************}
PROCEDURE CHECKMATRIZ;
BEGIN
IF i>2 THEN
BEGIN
IF (A[j,i]=A[j,i-1]) AND (A[j,i-1]=A[j,i-2]) THEN
BEGIN
A[j,i-1]:=RANDOM(6)+1;
A[j,i-2]:=RANDOM(6)+1;
CHECKMATRIZ;
END;
END;
END;
 
 
{*************************************************************}
BEGIN
CLRSCR;
RANDOMIZE;
FOR j:=1 TO 20 DO
BEGIN
FOR i:=1 TO 6 DO
BEGIN
A[I,J]:=RANDOM(6)+1;
CHECKMATRIZ;
END;
END;
DIBUJARMATRIZ;
FOR CONT:=1 TO 20 DO
BEGIN
WRITELN('MOVIMIENTOS RESTANTES: ',20-CONT);
WRITELN('INGRESE CORDENADA EJE X [1-9]: ');
READLN(X);
 
WHILE (X<1) OR (X>9) DO
BEGIN
WRITELN('INGRESE CORDENADA EJE X [1-9]: ');
READLN(X);
END;
WRITELN('INGRESE CORDENADA EJE Y [1-20] : ');
WHILE (Y<1) OR (Y>20) DO
BEGIN
WRITELN('INGRESE CORDENADA EJE Y [1-20]: ');
READLN(Y);
END;
END;
END.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar