Pascal/Turbo Pascal - Ayuda

 
Vista:

Ayuda

Publicado por Lovers (5 intervenciones) el 15/02/2006 05:47:31
De que manera puedo hacer un progtrama que determine cuantas palabras inician con una vocal y cuantas palabras inician con consonante de una frase X introduciada por el usuario..

Alguna ayuda o sugerencia?
estare muy agradecido
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda

Publicado por M@rceloL (152 intervenciones) el 18/02/2006 22:26:16
Bueno, supongo que la frase la cargás en un string:

var Frase: string
Vocales,Consonantes,Ind: integer;
Princ: boolean;

write('Ingrese la frase:'); readln(Frase);

Vocales:= 0; Consonantes:= 0;
Princ:= true;
for Ind:= 1 to length(Frase) do //Vamos desde la primera letra hasta la última
begin
if Princ then
if Frase[Ind] in ['a','e','i','o','u'] then
inc(Vocales)
else
inc(Consonantes);
Princ:= Frase[Ind]=' '; //Si es un espacio, entones la próxima letra es la primera.
end;

Explicación: recorremos la cadena desde la primera posición hasta la última (length devuelve la longitud), si estamos al principio de una palabra (variable princ es TRUE) entonces nos preguntamos si la letra es una vocal (if Frase[Ind] in...) e incrementamos el contador de vocales o consonantes acorde. Después actualizamos la variable Princ para que no se procese la próxima letra.

Lo que ahora no recuerdo es si era in ['a','e'... o era [a,e,... es decir, sin comillas.

Un problema que existe con este enfoque son los signos de puntuación que pueden no ser ni vocales ni consontanes. Para solucionarlo se podría poner en el else del if, algo como if Frase[Ind] in ['b','c','d'....

En fin, espero que te sirva. Saludos y felices compiladas.

PD: OJO en Princ:= Frase[Ind]=' ', hay un espacio entre las comillas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda

Publicado por Lovers (1 intervención) el 20/02/2006 01:13:03
muchas gracias amigo.. tuve que hacerle unas cuantas modificaciones pero resuelve el problema!

GRACIAS!!
si quieres mi email para compartir conocimientos..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar