Duda sobre repeat
Publicado por Diego (2 intervenciones) el 14/09/2009 23:12:27
Buenas comunidad, ando con el siguiente problema.
En este codigo:
program CuentaPalabras(input,output);
const { declaracion de constantes}
centinela = '.'; { caracter de fin de texto }
espacio = ' '; { espacio }
var { declaracion de variables }
caracter : char; { variable para leer caracter }
contador : integer; { contador de las palabras }
maximo_palabra, { largo maximo de palabra }
largo_palabra : integer; { largo de palabra }
begin { programa principal }
{ inicializacion }
contador:= 0;
maximo_palabra:= 0;
{ saltear espacios }
repeat
Read(caracter)
until caracter <> espacio;
{ Ciclo principal
en cada iteracion se trata completamente una palabra
}
while caracter <> centinela do begin
{ cuando ingresa aqui tiene cargado en caracter
el primer caracter de la palabra
}
{ leer palabra }
largo_palabra:= 0;
repeat
largo_palabra:= largo_palabra + 1;
Read(caracter)
until caracter = espacio;
{ actualizar contador y maximo }
contador:= contador + 1;
if largo_palabra > maximo_palabra then
maximo_palabra:= largo_palabra;
{ avanzar al primer caracter de la siguiente palabra }
repeat
Read(caracter)
until caracter <> espacio;
end; {while}
{ mostrar resultados }
WriteLn;
WriteLn('La cantidad de palabras es: ', contador);
WriteLn('El maximo largo de palabra es: ', maximo_palabra);
WriteLn
end. {CuentaPalabras}
Tengo esta parte como podran darse cuenta :
{ saltear espacios }
repeat
Read(caracter)
until caracter <> espacio;
Y no sabria cual es funcion, alguien que me pueda explicar ??
En este codigo:
program CuentaPalabras(input,output);
const { declaracion de constantes}
centinela = '.'; { caracter de fin de texto }
espacio = ' '; { espacio }
var { declaracion de variables }
caracter : char; { variable para leer caracter }
contador : integer; { contador de las palabras }
maximo_palabra, { largo maximo de palabra }
largo_palabra : integer; { largo de palabra }
begin { programa principal }
{ inicializacion }
contador:= 0;
maximo_palabra:= 0;
{ saltear espacios }
repeat
Read(caracter)
until caracter <> espacio;
{ Ciclo principal
en cada iteracion se trata completamente una palabra
}
while caracter <> centinela do begin
{ cuando ingresa aqui tiene cargado en caracter
el primer caracter de la palabra
}
{ leer palabra }
largo_palabra:= 0;
repeat
largo_palabra:= largo_palabra + 1;
Read(caracter)
until caracter = espacio;
{ actualizar contador y maximo }
contador:= contador + 1;
if largo_palabra > maximo_palabra then
maximo_palabra:= largo_palabra;
{ avanzar al primer caracter de la siguiente palabra }
repeat
Read(caracter)
until caracter <> espacio;
end; {while}
{ mostrar resultados }
WriteLn;
WriteLn('La cantidad de palabras es: ', contador);
WriteLn('El maximo largo de palabra es: ', maximo_palabra);
WriteLn
end. {CuentaPalabras}
Tengo esta parte como podran darse cuenta :
{ saltear espacios }
repeat
Read(caracter)
until caracter <> espacio;
Y no sabria cual es funcion, alguien que me pueda explicar ??
Valora esta pregunta


0