Pascal/Turbo Pascal - NECESITO AYUDA ES UN PROGRAMA SENCILLO PERO NO ME SALE.

   
Vista:

NECESITO AYUDA ES UN PROGRAMA SENCILLO PERO NO ME SALE.

Publicado por ESTEBAN (12 intervenciones) el 04/11/2013 17:58:58
HICE ESTE CODIGO

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
PROGRAM OPERACIONES;
USES CRT;
VAR
	AUX_M,AUX_D,AUX_S,AUX_R:INTEGER;
	N1,N2:INTEGER;
 
FUNCTION MULTIPLICACION (NUM1:INTEGER;NUM2:INTEGER):INTEGER;
VAR
AUX_MULTIPLICACION:INTEGER;
BEGIN
	AUX_MULTIPLICACION:=  NUM1*NUM2;
	MULTIPLICACION:=AUX_MULTIPLICACION;
END;
 
FUNCTION DIVIDIR (NUM1:INTEGER;NUM2:INTEGER): INTEGER;
VAR
AUX_DIVICION:INTEGER;
BEGIN
	AUX_DIVICION:= NUM1 DIV NUM2;
	DIVIDIR:=AUX_DIVICION;
END;
 
FUNCTION SUMA (NUM1:INTEGER;NUM2:INTEGER): INTEGER;
VAR
AUX_SUMA:INTEGER;
BEGIN
	AUX_SUMA:= NUM1 + NUM2;
	SUMA:=AUX_SUMA;
END;
 
FUNCTION RESTA (NUM1:INTEGER;NUM2:INTEGER): INTEGER;
VAR
AUX_RESTA:INTEGER;
BEGIN
	AUX_RESTA:= NUM1 + NUM2;
	RESTA:=AUX_RESTA;
END;
 
BEGIN
	WRITELN('QUE OPERACION DECEA HACER? (MULTIPLICAR, DIVIDIR, SUMAR, RESTAR) ');
	READKEY;
	WRITELN('INGRESAR UN NUMERO ');
	READ(N1);
	WRITELN('INGRESAR OTRO NUMERO ');
	READ(N2);
 
	IF READKEY='M'
		THEN
			AUX_M:=MULTIPLICACION(N1,N2)
			WRITELN('EL RESULTADO DE LA MULTIPLICACION ES ',AUX_M)
	ELSE
		IF READKEY='D'
			THEN
				AUX_D:=DIVIDIR(N1,N2)
				WRITELN('EL RESULTADO DE LA DIVICION ES ',AUX_D)
		ELSE
			IF READKEY='S'
				THEN
					AUX_S:=SUMA(N1,N2)
					WRITELN('EL RESULTADO DE LA SUMA ES ',AUX_S)
			ELSE
				IF READKEY='R'
					THEN
						AUX_R:=RESTA(N1,N2);
						WRITELN('EL RESULTADO DE LA RESTA ES ',AUX_R);
END.


ME SALE ESTE ERROR.
Trabajo complementario 2.pas(50,4) Fatal: Syntax error, ";" expected but "identifier WRITELN" found
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

NECESITO AYUDA ES UN PROGRAMA SENCILLO PERO NO ME SALE.

Publicado por diego (98 intervenciones) el 04/11/2013 20:23:24
revisa esta parte, no se que hace la unidad crt, pero en cuanto al error, es de sintaxis, revisa la parte
1
2
3
IF (READKEY='M') THEN
                AUX_M:=MULTIPLICACION(N1,N2);{ aca faltaba un punto y coma para indicar que finaliza la accion que quieres realizar}
                 WRITELN('EL RESULTADO DE LA MULTIPLICACION ES ',AUX_M); {aca lo mismo}

Nose con que pascal estes trabajando, pero puede que necesites un begin end para los las sentencias if then, para indicar que esas acciones estan dentro del caso que se cunpla la condicion.
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

NECESITO AYUDA ES UN PROGRAMA SENCILLO PERO NO ME SALE.

Publicado por Franco Sanguedolce (32 intervenciones) el 06/11/2013 08:18:58
yo te recomendaria usar una sentencia case y una variable de tipo char para leer la accion a realizar...

por si no sabes el uso de la sentencia case aqui te dejo un ejemplo:

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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Program Calculadora;
uses crt;
 
var
   n1,n2,resultado:real;
   tec:char;
 
 
{Funciones para cada operacion matematica}
{suma}
function suma(n1:real; n2:real):real;
begin
    suma:=n1+n2;
end;
 
{resta}
function resta(n1:real; n2:real):real;
begin
    resta:=n1-n2;
end;
 
{multiplicacion}
function multiplicacion(n1:real; n2:real):real;
begin
    multiplicacion:=n1*n2;
end;
 
{division}
function division(n1:real; n2:real):real;
begin
    division:=n1/n2;
end;
 
 
procedure menu;
begin
    clrscr;
    gotoxy(40-(length('(----- Calculadora -----)') div 2),2);
    write('(----- Calculadora -----)');
    gotoxy(5,5); write('Que Operacion Desea Realizar?');
    gotoxy(5,7); write('S: Suma');
    gotoxy(5,8); write('R: Resta');
    gotoxy(5,9); write('D: Division');
    gotoxy(5,10); write('M: Multiplicacion');
    gotoxy(5,11); write('E: Salir del Programa');
    gotoxy(5,12); write('Ingrese Operacion: ');
    tec:=readkey;  { aqui el programa va a esperar a que se pulse una tecla}
                   { y una vez presionada va a devolver el tec el valor de esa tecla}
 
 
    case upcase(tec) of
 
 
      'S': begin
            clrscr;
            gotoxy(34,2); write('(---SUMA---)');
            gotoxy(5,5); write('Ingrese Primer Numero: '); readln(n1);
            gotoxy(5,6); write('Ingrese Segundo Numero: '); readln(n2);
            resultado:= suma(n1,n2);
            gotoxy(5,8); write('El resultado es : ',resultado:0:0);
            readkey;
            menu;
           end;
 
      'R': begin
            clrscr;
            gotoxy(34,2); write('(---RESTA---)');
            gotoxy(5,5); write('Ingrese Primer Numero: '); readln(n1);
            gotoxy(5,6); write('Ingrese Segundo Numero: '); readln(n2);
            resultado:= resta(n1,n2);
            gotoxy(5,8); write('El resultado es : ',resultado:0:0);
            readkey;
            menu;
           end;
 
      'D': begin
            clrscr;
            gotoxy(32,2); write('(---DIVISION---)');
            gotoxy(5,5); write('Ingrese Primer Numero: '); readln(n1);
            gotoxy(5,6); write('Ingrese Segundo Numero: '); readln(n2);
            resultado:= division(n1,n2);
            gotoxy(5,8); write('El resultado es : ',resultado:0:2);
            readkey;
            menu;
           end;
 
      'M': begin
            clrscr;
            gotoxy(29,2); write('(---MULTIPLICACION---)');
            gotoxy(5,5); write('Ingrese Primer Numero: '); readln(n1);
            gotoxy(5,6); write('Ingrese Segundo Numero: '); readln(n2);
            resultado:= multiplicacion(n1,n2);
            gotoxy(5,8); write('El resultado es : ',resultado:0:0);
            readkey;
            menu;
           end;
 
      'E': begin
            exit;
           end;
      else
           begin
             menu;
           end;
      end; {end del case}
end;
 
 
begin
    menu;
end.

ademas de cumplir con las operaciones el programa vuelve automaticamente al menu principal hasta que eliges la opcion para salir del programa, espero esto te ayude :D
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