[ Foro de Pascal ]
Hola profesor mi duda es sobre este ejercicio:
Apartado 6.5a: Crea un programa vaya sumando los números que el usuario introduzca, y mostrando dicha suma, hasta que introduzca el número 0, usando "while".
Pues creo el programa y funciona bien, pero cuando introduzco el 1 y el 2 como numero, el programa sale. Cuando aveces pongo 1 y otro numero de varios digitos me sale negativo, haber si tengo algo mal, gracias.
program sumanumero;
var
A,B: integer;
begin
write('introduzca primer numero: ');
readln(A);
write('introduzca segundo numero: ');
readln(B);
while (A and B) <> 0 do
begin
writeln('La suma de los numeros es: ', A+B);
write('primer numero: ');
readln(A);
write('segundo numero: ');
readln(B)
end
end.
Hola me respondo yo mismo porque ya lo he solucionado era que tenia puesto (A and B) y tendría que haber puesto (A or B.)
No entiendo lo de "while (A and B) 0 do "
Supongo que habrás escogido el "formato HTML", de modo que lo que está entre < y > te lo toma como un formato y no aparece.
Aun así, la pinta no es buena del todo: para comprobar si dos variables no son cero, no puedes hacer textualmente "a o b distinto de cero", sino "a distinto de cero o b distinto de cero": no
while (A or B) <> 0
sino
while (A<>0 or B<>0)
Y en el caso de este ejercicio no necesitas dos variables A y B, porque no se trata de sumar dos números sino "múltiples números". Por ejemplo, si el usuario introduce 3, 4, 5, 6, la suma total sería 18, mientras que tu programa escribiría 7 (para 3+4) y 11 (para 5+6).
(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.)