problema con programa de pascal
Publicado por alejandra (2 intervenciones) el 19/11/2011 13:48:06
Mira he hecho un programa que al introducir una frase acabada en punto te dice cuantas palabras tiene y cuantas letras tiene la palabra más larga. Me pone que no tiene nigún error pero al ejecutarlo una vez leída la frase me pone:
$0040154C
$00406810
y se me cierra. Si quito la parte de calcular la palabra más larga se me ejecuta sin ningún problema pero claro, luego me aparece que la palabra más larga está formada por 0 letras.
PROGRAM prueba;
uses crt;
var
pa:= char;
contp, contl, pl: integer;
BEGIN
clrscr;
conl:= 1;
conl:= 0;
pl:=0;
write('Escribe una frase acabada en punto: ');
read(pa);
while pa <> '.' DO
Begin
if pa= ' ' then
begin
contp:= contp+1;
if contl>pl then pl:= contl;
end
else
cont:= contl+1;
End;
writeln('La frase está formada por ',contp,' palabras.');
writeln('La palabra más larga está formada por ',pl,' letras.');
readln;
readln;
END.
$0040154C
$00406810
y se me cierra. Si quito la parte de calcular la palabra más larga se me ejecuta sin ningún problema pero claro, luego me aparece que la palabra más larga está formada por 0 letras.
PROGRAM prueba;
uses crt;
var
pa:= char;
contp, contl, pl: integer;
BEGIN
clrscr;
conl:= 1;
conl:= 0;
pl:=0;
write('Escribe una frase acabada en punto: ');
read(pa);
while pa <> '.' DO
Begin
if pa= ' ' then
begin
contp:= contp+1;
if contl>pl then pl:= contl;
end
else
cont:= contl+1;
End;
writeln('La frase está formada por ',contp,' palabras.');
writeln('La palabra más larga está formada por ',pl,' letras.');
readln;
readln;
END.
Valora esta pregunta
0