09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

330 Capítulo 15. <strong>Algoritmos</strong> de búsqueda y ord<strong>en</strong>ación<br />

(b) Escriba un programa que repita el proceso anterior hasta obt<strong>en</strong>er un archivo<br />

formado tan sólo por líneas unitarias, copiándolas <strong>en</strong>tonces <strong>en</strong> una sola línea.<br />

(c) Establezca las semejanzas que <strong>en</strong>cu<strong>en</strong>tre <strong>en</strong>tre este algoritmo y uno de ord<strong>en</strong>ación<br />

de vectores.<br />

7. Ord<strong>en</strong>ación por mezcla<br />

Sea un archivo de texto compuesto por una línea de <strong>en</strong>teros separados por espacios.<br />

(a) Escriba un subprograma que construye otro archivo, a partir del original, de<br />

la sigui<strong>en</strong>te forma:<br />

• Primero se separan los <strong>en</strong>teros, situando uno <strong>en</strong> cada línea.<br />

• Luego se intercalan las líneas de dos <strong>en</strong> dos (véase el ejercicio 5). Este<br />

paso se repetirá hasta llegar a un archivo con una sola línea.<br />

(b) Establezca las semejanzas que <strong>en</strong>cu<strong>en</strong>tre <strong>en</strong>tre este algoritmo y uno de ord<strong>en</strong>ación<br />

de vectores.<br />

8. Complete el programa del ejercicio 6 con las sigui<strong>en</strong>tes opciones:<br />

(a) Ord<strong>en</strong>ar Inv<strong>en</strong>tario: que ord<strong>en</strong>e el vector donde se almac<strong>en</strong>an los productos,<br />

utilizando alguno de los métodos de ord<strong>en</strong>ación pres<strong>en</strong>tados <strong>en</strong> el capítulo,<br />

de las sigui<strong>en</strong>tes formas:<br />

• De forma asc<strong>en</strong>d<strong>en</strong>te por su nombre, y <strong>en</strong> caso de que el nombre coincida,<br />

por su marca, y <strong>en</strong> caso de que ésta también coincidiera, de forma<br />

desc<strong>en</strong>d<strong>en</strong>te por su tamaño.<br />

• De forma desc<strong>en</strong>d<strong>en</strong>te por el valor obt<strong>en</strong>ido al multiplicar su precio por<br />

el número de unidades inv<strong>en</strong>tariadas.<br />

(b) Ord<strong>en</strong>ar Archivo: que ord<strong>en</strong>e un archivo dado, donde se almac<strong>en</strong>an los productos,<br />

utilizando el método de División y Mezcla, <strong>en</strong> las formas señaladas<br />

<strong>en</strong> el apartado primero<br />

15.6 Refer<strong>en</strong>cias bibliográficas<br />

Con relación al cont<strong>en</strong>ido de esta parte del libro, <strong>en</strong> [Aho88] <strong>en</strong>contramos un tratami<strong>en</strong>to<br />

a un nivel elevado del tipo compuesto conjunto y de los algoritmos de búsqueda<br />

y ord<strong>en</strong>ación; <strong>en</strong> particular, se recomi<strong>en</strong>da la lectura del capítulo 8 donde se abordan<br />

los principales esquemas de clasificación interna, y el capítulo 11 donde se recog<strong>en</strong> los<br />

de clasificación externa.<br />

Otro texto interesante es [Coll87], con una clara ori<strong>en</strong>tación a <strong>Pascal</strong>. Los capítulos<br />

de mayor interés son el 4 dedicado a los conjuntos, el 5 dedicado a la estructura vectorial,<br />

el 12 sobre ord<strong>en</strong>ación de vectores y el 14 que trata sobre archivos. El texto pres<strong>en</strong>ta<br />

un <strong>en</strong>foque moderno y utiliza especificaciones formales.<br />

En esta bibliografía no podemos dejar de citar el texto clásico [Wir86], y <strong>en</strong> particular<br />

sus dos primeros temas sobre estructuras fundam<strong>en</strong>tales de datos y ord<strong>en</strong>ación de<br />

vectores y archivos. Utiliza técnicas de refinami<strong>en</strong>tos progresivos, pero no las especificaciones<br />

formales.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!