Pascal/Turbo Pascal - Servicio de buscador en pascal

 
Vista:

Servicio de buscador en pascal

Publicado por futbolero (1 intervención) el 25/05/2012 12:35:29
Buenos días,
me han pedido que realice un trabajo en pascal y no se muy bien como cogerlo. Si alguien me lo pudiese pasar para leerlo completo y entenderlo me ayudaria y se lo agradeceria gratamente. El trabajo en cuestion es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
3. Objetivo del proyecto
 
Se dispone de un conjunto de ficheros HTML con diversos textos (biografías obtenidas de la Wikipedia).
El objetivo del proyecto es realizar un programa que permita buscar una palabra introducida por
el usuario en todos los ficheros de HTML adjuntos. Después, el programa debe generar una página html con los resultados. Los resultados estarán ordenados según nuestro criterio de relevancia: el número de apariciones de la palabra buscada en cada fichero.
 
 
1. Los identificadores y el sangrado deberán facilitar la comprensión del programa.
 
2. El programa deberá tener, como mínimo, módulos para: leer ficheros, calcular la relevancia de una página, ordenar los resultados y generar el fichero final . . .
 
3. Se deberá realizar el diseño de datos (declaración de tipos de datos) adecuado al propósito del
programa.
 
4. Al iniciarse la aplicación, se deberá solicitar al usuario la palabra a buscar.
 
5. Al finalizar la aplicación, se generará el fichero HTML con los resultados ordenados de la búsqueda.
 
6. Se modificarán los ficheros que generan el html resultante para modificar la apariencia de la página de resultados. Por ejemplo, la página http://www.w3schools.com/ ofrece diversos tutoriales y ejemplos sobre html.
 
7. La búsqueda deberá hacerse sólo del texto de la página web, ignorando el texto dentro de etiquetas.
 
8. En el caso de que dos o más ficheros tengan el mismo número de apariciones, se deberán ordenar alfabéticamente entre sí.


Es necesario que cumpla con esos 8 puntos. Muchas gracias por la ayuda.
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

Servicio de buscador en pascal

Publicado por ramon (2158 intervenciones) el 30/05/2012 22:06:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{Este programa lee un archivo html y presenta su contenido es algo de esto para empezar
los archivos deven de estar en un directorio c:\html\  y ser extension html}
 
program leerhtml;
uses
crt, dos;
type
linea = array[1..1024] of char;
const
camino = 'C:\html\';
 
var
f : text;
dato : linea;
texto : string;
cargados, i, u, y, x, cont : integer;
archivos : array[1..50] of string;
arh, palabra : string;
car : char;
ficheros : searchrec;
 
 
procedure marcador_archivos(cam : string);
var
ii : integer;
begin
ii := 1;
findfirst(cam + '*.html', archive, ficheros);
while doserror = 0 do
begin
archivos[ii] := ficheros.name;
ii := ii + 1;
if ii > 50 then
ii := 50;
findnext(ficheros);
end;
cargados := ii - 1;
end;
 
procedure leearchivo(archi : string);
var
ps : integer;
begin
clrscr;
assign(f,archi);
{$I-} reset(f); {$I+}
if ioresult <> 0 then
halt(1);
i := 1;
ps := 1;
while not Eof(f) do
begin
while not eoln(f) do
begin
read(f,car);
dato[i] := car;
i := i + 1;
if i > 1024 then
i := 1024;
end;
for x := 1 to i - 1 do
begin
if (dato[x] = '<') or (dato[x] = '/') or (dato[x] = '>') or
(dato[x] = chr(09)) then
begin
end
else
write(dato[x]);
end;
writeln;
i := 1;
ps := ps + 1;
if ps > 22 then
begin
writeln;
writeln('Pulse una tecla');
readkey;
ps := 1;
clrscr;
end;
readln(f);
end;
close(f);
end;
 
 
 
begin
clrscr;
marcador_archivos(camino);
for y := 1 to cargados do
writeln(' ',y,' ',archivos[y]);
readln(u);
leearchivo(camino + archivos[u]);
writeln;
writeln('Pulse [Enter]');
readln;
end.
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