Pascal/Turbo Pascal - Problema de compilación en PASCAL

 
Vista:

Problema de compilación en PASCAL

Publicado por Ahmed (11 intervenciones) el 01/11/2013 10:05:53
Hola, buenas, escribo porque a la hora de compilar, pascal me da un error del tipo Illegal Expression y no se cómo solucionarlo... El error se marca junto a la palabra reservada FUNCTION. Copio y pego la parte del código en la que me da error, espero que puedan ayudarme. Muchas gracias por adelantado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PROCEDURE RangoNumeros (numeroa,numerob:integer; VAR parcercanoA,parcercanoB:integer);
VAR
	impares:integer;
BEGIN
	impares:=0;
	write('Los numeros comprendidos entre ',numeroa,' y ',numerob,' son, exceptuando los impares: ');
	FOR impares:=numeroa TO numerob DO
		IF (impares MOD 2<>0) THEN
			write(impares,', ');
	FUNCTION ParesCercanos (numa,numb:integer):integer;
	IF ((numa+1) MOD 2=0) THEN
		parcercanoA:=numa+1
	ELSE
		parcercanoA:=numa+2;
	IF ((numb+1) MOD 2=0) THEN
		parcercanoB:=numb+1
	ELSE
		parcercanoB:=numb+2;
	END;
END;
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 de compilación en PASCAL

Publicado por ramon (2158 intervenciones) el 02/11/2013 21:29:46
Mira esto no puede estar aquí

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
PROCEDURE RangoNumeros (numeroa,numerob:integer; VAR parcercanoA,parcercanoB:integer);
VAR
	impares:integer;
BEGIN
	impares:=0;
	write('Los numeros comprendidos entre ',numeroa,' y ',numerob,' son, exceptuando los impares: ');
	FOR impares:=numeroa TO numerob DO
		IF (impares MOD 2<>0) THEN
			write(impares,', ');
	{ FUNCTION ParesCercanos (numa,numb:integer):integer;}  Esto da error
	IF ((numa+1) MOD 2=0) THEN
		parcercanoA:=numa+1
	ELSE
		parcercanoA:=numa+2;
	IF ((numb+1) MOD 2=0) THEN
		parcercanoB:=numb+1
	ELSE
		parcercanoB:=numb+2;
	END;
END;
 
  se supone que esa función de vuelve un numero entero en eso seria
   var
      num : integer;
 
     num :=  ParesCercanos(numa, nimb);

y la función estará creada por encima del procedimiento llamador.
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
Imágen de perfil de Juan Manuel

Problema de compilación en PASCAL

Publicado por Juan Manuel (1 intervención) el 05/04/2016 01:39:45
tengo problemas al copilar un programita siempre me da las siguiente expresion can't find unit fpcylix used by suma3 y no he podido resolver ese problema y soy muy bueno en programacion en pascal. el programita de prueba es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program Suma3;
 
Uses
 Crt;
Var
 n1,n2,n3,n4:Integer;
 pausa:char;
 
Begin
 Writeln('Bienvenido a mi programa para sumar 3 numeros ');
 Writenl('Escribe tus 3 numeros separados por enter ');
 Readln(n1,n2,n3);
 n4:=n1+n2+n3;
 Writeln('El resultado de tu suma es ',n4,'Gracias');
 Writeln('Teclea enter para continuar');
 Readln(pausa);
 
 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

Problema de compilación en PASCAL

Publicado por ramon (2158 intervenciones) el 05/04/2016 12:25:52
{tu programa funciona bien probado en pascal 7 sobre windows 7 32 bit
espero me comentes que ordenador tienes y que sistema operativo en el el fallo que
comentas no se da suerte }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program Suma3;
 
Uses
 Crt;
Var
 n1,n2,n3,n4:Integer;
 
 
Begin
 Writeln('Bienvenido a mi programa para sumar 3 numeros ');
 Writeln('Escribe tus 3 numeros separados por enter ');
 Readln(n1,n2,n3);
 n4 := (n1 + n2 + n3);
 Writeln('El resultado de tu suma es = ',n4,' Gracias');
 Writeln('Teclea enter para continuar');
 Readln;
 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