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.

248 Capítulo 11. Tipos de datos simples y compuestos<br />

procedure LeerConjunto(var conj: tConjuntoLetras);<br />

{Efecto: conj conti<strong>en</strong>e las letras leídas del input}<br />

var<br />

car: char;<br />

begin<br />

conj:= [];<br />

WriteLn(’Escribe las letras que forman el conjunto: ’);<br />

while not EoLn do begin<br />

Read(car);<br />

if car in [’A’..’Z’]<br />

th<strong>en</strong> conj:= conj + [car]<br />

<strong>en</strong>d; {while}<br />

ReadLn<br />

<strong>en</strong>d; {LeerConjunto}<br />

El primer procedimi<strong>en</strong>to muestra <strong>en</strong> la pantalla todos los elem<strong>en</strong>tos de un<br />

conjunto formado por letras mayúsculas. Para ello recorre los valores del<br />

tipo base y comprueba la pert<strong>en</strong><strong>en</strong>cia de cada uno de ellos al conjunto,<br />

escribiéndolo <strong>en</strong> su caso.<br />

El segundo procedimi<strong>en</strong>to lee del input los elem<strong>en</strong>tos de un conjunto de<br />

letras mayúsculas. Para ello recorre los caracteres de una línea (hasta<br />

la marca ← ), incluy<strong>en</strong>do <strong>en</strong> el conjunto los del tipo base (’A’..’Z’) e<br />

ignorando los demás.<br />

11.3.3 Un ejemplo de aplicación<br />

Es conv<strong>en</strong>i<strong>en</strong>te concretar todas estas ideas mediante un ejemplo. En este<br />

caso vamos a utilizar el tipo de datos conjunto para implem<strong>en</strong>tar un programa<br />

que escriba los números primos m<strong>en</strong>ores que 256 (esta cota vi<strong>en</strong>e dada por la<br />

limitación del cardinal de un conjunto <strong>en</strong> <strong>Pascal</strong>) usando el conocido método<br />

de la criba de Eratóst<strong>en</strong>es. 4 La idea de esta implem<strong>en</strong>tación es disponer de un<br />

conjunto inicial con todos los <strong>en</strong>teros positivos m<strong>en</strong>ores que 256 e ir eliminando<br />

del conjunto aquellos números que se vaya sabi<strong>en</strong>do que no son primos (por ser<br />

múltiplos de otros m<strong>en</strong>ores). De acuerdo con esta descripción, una primera etapa<br />

de diseño del programa podría ser:<br />

Calcular los números primos m<strong>en</strong>ores que 256<br />

Escribir los números primos m<strong>en</strong>ores que 256<br />

4 Eratóst<strong>en</strong>es, conocido astrónomo y geógrafo griego (siglo iii a. C.), es reconocido por haber<br />

ideado este método para elaborar una tabla de números primos. El nombre de criba se debe a<br />

que el algoritmo va eliminando los números que son múltiplos de otros m<strong>en</strong>ores, si<strong>en</strong>do los primos<br />

aquellos que quedan tras realizar esta criba.

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

Saved successfully!

Ooh no, something went wrong!