program palabras(FE,output);
var
FE: text;
linea: integer;
palabra: integer;
c: char;
contpalabras: integer;
contlineas: integer;
contvocal: integer;
posicion: integer;
function alfabetico(c:char): boolean;
begin
read(FE,c);
if ((c>='a') and (c<='z') or (c>='A') and (c<='Z')) then
alfabetico:= true
else
alfabetico:= false;
end;
function vocal(c:char): boolean;
begin
read(FE,c);
case c of
'a': vocal:= true;
'A': vocal:= true;
'e': vocal:= true;
'E': vocal:= true;
'i': vocal:= true;
'I': vocal:= true;
'o': vocal:= true;
'O': vocal:= true;
'u': vocal:= true;
'U': vocal:= true;
else
vocal:=false
end;
begin
assign(FE,'a:\datosp1.txt');
reset(FE);
contpalabras:= 1;
contlineas:= 1;
while not eof(FE) do
begin
contpalabras:=1;
contlineas:=1;
contvocal:= 0;
posicion:= 0;
read(FE,c);
while not eoln(FE) do
begin
read(FE,c);
if alfabetico(c) then
begin
posicion:= posicion + 1;
if vocal(c) then
begin
if posicion<=2 then
begin
contvocal:= contvocal + 1;
if contvocal= 2 then
begin
contpalabras:= palabra;
contlineas:= linea;
end
end
else
contvocal:= 0;
end
else
contvocal:= 0;
end
else
if (c=' ') then
begin
contvocal:=0;
posicion:=0;
contpalabras:= contpalabras + 1
end
else
writeln('datos de entrada incorrectos');
read(FE,c);
end;
readln(FE,c)
end;
if (palabra = 0) and (linea = 0) then
writeln('palabra no encontrada')
else
writeln('la posicion de la palabra es', palabra,' en la fila', linea)
end.
en FE hay grabadas palabras formadas por caracteres alfabeticos, separadas por espacios en blanco. la marca de fin de linea tb separa palabras. el fichero contiene al menos una linea con al menos una palabra
codificar programa pascal para determinar la posicion ocupada por la ultima de las palabras que comience por dos vocales juntas. la posicion se define especificando linea y numero de palabra.
si en el fichero no exist la palabra se pondra un mensaje: "palabra no encontrada"
si aparecen en el ficheros caracteres no alfabeticos se pondra: "datos de entrada incorrectos")
-se usara un Fichero de texto para la entrada de datos llamado datosp1.txt
-no hay espacios en blanco que procedan ala 1º palabra en linea ni ala marca de fin de linea
-la marca de finde linea ace de separador entre la ultima palabra de linea y la 1º palabra de la siguiente linea
- fichero de salida output
- tiene que tener al menos 2 funciones, una que compruebe si el caracter es alfabetico y otra que compruebe si es vocal
-entre los caracteres alfabeticos no estan ni la ñ ni las vocales acentuadas
th3_fa1l3n_an63l@hotmail.com