[ Foro de Pascal ]

duda sobre el ejercicio 6.5a

22-Feb-2012 19:44
Antonio de la flor
2 Respuestas

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.


22-Feb-2012 20:05
Antonio de la flor

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.)


23-Feb-2012 17:18
Nacho Cabanes (+83)

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.)