Pascal/Turbo Pascal - Ayuda

 
Vista:

Ayuda

Publicado por sergio (1 intervención) el 02/12/2006 10:54:41
hola soy alumno de informatica de la urjc y me ha tocado para la asignatura de programacion un profesor principiante en esto y no me acabo de enterar de como va esto.
Me toca hacer un programa que introduces una cadena de caracteres y te tiene que devolver la primera vocal leida y si no hay vocales que diga que no hay vocales. ¿Alguien puede ayudarme?
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 Carlos Guimaraenz (265 intervenciones) el 02/12/2006 17:32:39
PROCEDURE MostrarVocal(cadena : string);
VAR
i : integer;
encontrada : boolean;
longitud : integer;
vocales : set of char;
BEGIN
vocales:=['a','A','e','E','i','I','o','O','u','U']; { inicializo un conjunto de vocales }
i:=1;
encontrada:=False;
longitud:=Length(cadena); { determino la cantidad de caracteres en la cadena }
{ mientras no termine la palabra y no encuentre una vocal, recorro }
while (i <= longitud) and not (encontrada) do
begin
if (cadena[i] in vocales) then { si encuentro la vocal, la muestro y finalizo el while }
begin
write(cadena[i]);
encontrada:=true;
end; { END IF }
end; { END WHILE }
if (i > longitud) then { si terminé de recorrer y no apareció, lo informo }
WRITE('NO SE HAN ENCONTRADO VOCALES');
END; { END PROCEDURE }

Un abrazo!
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 Diego Romero (996 intervenciones) el 03/12/2006 01:42:35
Una pequeña modificación al algoritmo de Carlos:

PROCEDURE MostrarVocal(cadena : string);
VAR
i : integer;
encontrada : boolean;
longitud : integer;
vocales : set of char;
BEGIN
vocales:=['a','A','e','E','i','I','o','O','u','U']; { inicializo un conjunto de vocales }
i:=1;
encontrada:=False;
longitud:=Length(cadena); { determino la cantidad de caracteres en la cadena }
{ mientras no termine la palabra y no encuentre una vocal, recorro }
while (i <= longitud) and not (encontrada) do
begin
if (cadena[i] in vocales) then { si encuentro la vocal, finalizo el while }
begin
encontrada:=true;
break;
end; { END IF }
end; { END WHILE }

if encontrada then WriteLn('La primer vocal está en la posicion: ',i,' y es esta: ',Cadena[i])
else WriteLn('No hay vocales en la cadena.');
END; { END PROCEDURE }
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