[ Foro de Pascal ]

Corrección de algoritmo

30-Aug-2022 23:04
Invitado (Luis)
1 Respuestas

holaa todos...
Quisiera que alguien me ayude a corregir este algoritmo estoy empezando a aprender a programar y he querido empezar con un pequeño programa de operaciones básicas pero me da un error, si alguien me ayuda a decifrar cual es mi error se lo agradecia mucho

program Proyecto51;


var
 num1,num2: Integer;
 signo: char;
 total1,total2,total3,total4: real;


begin

   Write('Ingrese primer numero');
   ReadLn(num1);
   Write('Ingrese segundo numero');
   readln(num2);

   begin
   if signo ='+' then
     total1:=num1+num2;
     WriteLn('la suma es de: ',total1);
   end
   else
   begin
     if signo='-'  then
     begin
       total2=num1-num2;
       WriteLn('la resta es: ',total2);
     end
     else
     begin
     if signo='*'  then
     begin
       total3=num1*num2;
       WriteLn('el producto es: ',total3);
     end
     else
     begin
        if signo='/'  then
     begin
       total4=num1/num2;
       WriteLn('el cociente es: ',total2);
     end
     else
       WriteLn('no existe esa operacion');
     end
   end

 Write('Fin del programa');
 ReadLn;
end.


23-Sep-2022 01:08
Invitado (Agustin)

Buenas, te conviene usar una estructura de control 'case' para tener mejor legibilidad y no tener un codigo tan extenso.

te paso una solucion posible:

program proyecto51;
var
 num1,num2: integer;
 signo:char;
 total:real;
begin

 write('Ingrese primer numero: '); readln(num1);
 write('Ingrese signo: '); readln(signo);
 write('ingrese segundo numero: ');readln(num2);
 
 case signo of
 '+': total:=num1+num2;
 '-': total:=num1-num2;
 '*': total:=num1*num2;
 '/': total:=num1/num2;
 else  
   writeln('Digito incorrecto');
 end;
 writeln('el total es: ',total:2:0);
end.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)