Pascal/Turbo Pascal - no me anda este programa

 
Vista:

no me anda este programa

Publicado por vanesasoledad (4 intervenciones) el 30/05/2010 08:10:27
Hola amigos, ando buscando alguna persona que me pudiera dar una mano en ejercicio de programacion que tengo.

El prolema es el siguiente..

************--------------*********
Hacer un programa, el cual abra un archivo de texto y me extraiga de el todas las palabras que congan la letra a con acento (á) (letra a minuscula).
Las palabras a extraerse podran contener los carateres que te damos mas bajo,
Debera ir imprimiendo en pantalla cada palabra y al final de cada renglon mostrara todas las palabras unidas por asterisco ( ** ).
Tener en cuenta que las cadenas (renglones) del archivo de texto podran tener 200, 500 o 1000 carateres inclusive.
Emplear conjuntos
************--------------*********

Bueno, el programa ya lo tengo casi hecho, pero me di cuenta tras varios dias de romperme la cabeza, dando vueltas y vueltas en el simple codigo que tengo, que no anda y no me extrae las palabras que ay en el archivo.
Siempre me salta un renglon, o no me extrae la ultima palabra buscada, o cosas asi.. resumiendo NO ANDA...

El archivo a procesar tiene estas palabras:

//////////////////////////////////////////////////////////////////
s.txt
L-Lá1 ************** ----- 2á54+45 nán v
3á_3 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4á4 final@2
5á5---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------6á6 finalá3
gg 7/á7 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------8á8 finalá4

//////////////////////////////////////////////////////////////////


este es el codigo de mi programita

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Program principal;
type
tipoConjunto= set of char;
var
C : char;
archivo : text;
I : integer;
v1, v2, v3 : tipoConjunto;
cola, cadena1 : string;
begin
assign(archivo,'s.txt');
reset(archivo);
read(archivo,c);
cadena1 := '';
While not(eof(archivo)) do begin
v1:=['a','b','c','d','e','f','g','h','i', 'j','k','l','m','n','o','p','r','s','t','u','v','w','x','y','z'];
v2:=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
v3:=['.','_','+','/','0','1','2','3','4','5','6','7','8','9'];

While not(eoln(archivo)) do begin

While (c in v1) or (c in v2) or(c in v3) do
Begin
Cola := cola + c;
Read(Archivo, C);
End;

if pos('á',cola) <> 0 then {si c cumple, entonces en cola ay un a con acento }
Begin
writeln(' palabra ',cola);
cadena1 := cadena1 + ' ** ' + cola;
{ guardar valor de variable cola en archivo}
{ bloke k almacdenara contenido }
{ de la variable COLA, en el archivo }
{ ACA IRA EL BLOQUE QUE ALMACENARA EN ARCHIVO LO QUE EXTRAIGA }
end;
{ Si POS es cero, entonces no ay un a con acento en COLA }
{ y ce repite el ciclo }
{ leer caracter y comparar k este en conjunto }
cola := '';

read(archivo,C);

end;
readln(archivo,c);

end;
writeln(' cadena concatenada ',cadena1); { ACA ME IMPRIME TODO LO QUE EXTRAE }
read(i);
end.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

y lo que me extra es
L-Lá1 ** 2á54+45 ** nán ** 5á5 ** 6á6 ** finalá3 -- 7/á7 ** 8á8 ** finalá4

salteando el segundo renglon 3á_3 4á4 final@2 que no me procesa, no entiendo por que, pero creo que debe ser por que, no entiendo.

EL TEMA DE IMPRIMIR TODO CONCATENADO NO ACE FALTA KS EA ASI, POR QUE ESA PARTE LO REMPLAZARE CON UN BLOQUE QUE ALMACENE LO QUE EXTRAIGA EN UN ARCHIVO
Desaria que alguien me poudiera dar una mano en este ejercicio.
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:no me anda este programa

Publicado por vane (4 intervenciones) el 03/06/2010 07:25:06
hey amigos, sera que mo ay ningunprogramador que pueda mirar mis codigos y corregirme??
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