Problema en programa fácil de pascal

hola, tengo este problema
"Ingrese 2 números enteros y deberá sumarlos, restarlos, multiplicarlos y dividirlos solo que su resultado debe ser real. Recuerde que no puede usar mas de 2 variables"
este fue el código que hice: pero no me corre
PROGRAM EJERCICIO2;
VAR a,b:INTEGER;
{suma, resta, multiplica y divide 2 números reales}
BEGIN
WRITELN ('Este programa suma, resta, multiplica y divide:');
WRITELN ('Escriba dos números ENTEROS');
WRITELN (' ');
Read(por);
Read(y);
WRITE ('SUMA:');
WRITELN (por+y:3:0);
WRITE ('RESTA:');
WRITELN (x-y:3:0);
WRITE ('MULTIPLICACIÓN:');
WRITELN (por*y:3:0);
WRITE ('DIVISIÓN:');
WRITE (por/y:5:2);
END.
el compilador me da error en la linea "WRITELN (por+y:3:0);"

Respuesta
1

Tanto la suma, como la resta y la multiplicación, no te devolverán un número real, puesto que la suma, resta o multiplicación de dos números enteros no te devolverá un número real, así que cuando le pasas parámetros a writeln sólo admite uno, que es el ancho que va a ocupar el número en su presentación en pantalla.

Respecto a la división, como usas "/" que es la división real (y no "div" que es división entera), sí puedes pasarle dos parámetros: el ancho que ocupará el número al presentarlo en pantalla, y el número de decimales que quieres obtener de dicho número.

Otra cosa que te aconsejo es que cuando vayas a leer algo desde teclado uses readLn, y no read, utilizando este último sólo para el tratamiento de ficheros. También puedes utilizar readln cuando trabajes con ficheros de texto para, por ejemplo, leer línea a línea el fichero.

Una última cosa: cuando veas mi respuesta, si te fue útil y ya no tienes ninguna otra duda, por favor, finaliza la pregunta dándole la valoración que creas conveniente. Si no es así y tienes dudas, vuelve a escribir y estaré encantado de poder ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas