
Calculadora en Pascal
Publicado por Sofia (1 intervención) el 17/08/2021 15:02:00
Buenas,
Estuve intentando hacer una calculadora en Pascal a la cual el usuario le ingresa una operación (con variables enteras) del estilo:
4-3*2/4=
la cual le devuelve el resultado sin importar la precedencia de las operaciones, o sea, hace las operaciones en el orden que están escritas. El problema es que estoy teniendo errores a la hora de que el programa lea las operaciones, pues lee el primero numero y luego no quiere leer el símbolo que le sigue, me da error. He probado de todo pero no se como arreglarlo.
Me imagino que la forma en la que me estoy expresando no es la mejor y posiblemente mi código tenga varios errores ya que es de los primeros programas que estoy intentando hacer y apenas llevo dos semanas empezando a programar en general, pero dejo el código por si alguien puede orientarme para ver que es lo que estoy haciendo mal.
Saludos y muchas gracias de antemano.
Estuve intentando hacer una calculadora en Pascal a la cual el usuario le ingresa una operación (con variables enteras) del estilo:
4-3*2/4=
la cual le devuelve el resultado sin importar la precedencia de las operaciones, o sea, hace las operaciones en el orden que están escritas. El problema es que estoy teniendo errores a la hora de que el programa lea las operaciones, pues lee el primero numero y luego no quiere leer el símbolo que le sigue, me da error. He probado de todo pero no se como arreglarlo.
Me imagino que la forma en la que me estoy expresando no es la mejor y posiblemente mi código tenga varios errores ya que es de los primeros programas que estoy intentando hacer y apenas llevo dos semanas empezando a programar en general, pero dejo el código por si alguien puede orientarme para ver que es lo que estoy haciendo mal.
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
PROGRAM Ejercicio10;
VAR simb: char;
n1,n2,resultado: Integer;
BEGIN
write('Ingrese la operacion que desea resolver: ');
read(n1);
resultado:=n1;
read(simb);
WHILE simb<>'=' DO
BEGIN
read(n2);
(*suma*)
IF simb='+' THEN
resultado:=resultado + n2;
(*resta*)
IF simb='-' THEN
resultado:=resultado - n2;
(*producto*)
IF simb='*' THEN
resultado:=resultado*n2;
(*division*)
IF simb='/' THEN
resultado:=resultado DIV n2;
read(simb);
END;
writeln('El resultado es ',resultado);
END.
Saludos y muchas gracias de antemano.
Valora esta pregunta


0