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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8 Capítulo 1. Problemas, algoritmos y programas<br />

Posición Datos p<strong>en</strong>di<strong>en</strong>tes Resultados emitidos Var a Var b<br />

1 [2, 3] [ ] ? ?<br />

2 [3] [ ] 2 ?<br />

3 [ ] [ ] 2 3<br />

4 [ ] [ ] 2 3<br />

5 [ ] [ ] 1 3<br />

3 [ ] [ ] 1 4<br />

4 [ ] [ ] 1 4<br />

5 [ ] [ ] 0 4<br />

3 [ ] [ ] 0 5<br />

6 [ ] [ ] 0 5<br />

7 [ ] [5] 0 5<br />

Figura 1.3. Ejecución de la suma l<strong>en</strong>ta con los datos 2 y 3.<br />

En cambio, si bi<strong>en</strong> es cierto que, con los datos del ejemplo, se ha obt<strong>en</strong>ido<br />

una solución, si se examina con det<strong>en</strong>imi<strong>en</strong>to se verá que ese “algoritmo” no<br />

siempre termina para dos cantidades <strong>en</strong>teras cualesquiera (v. g. − 3 y − 1).<br />

De hecho, la terminación es una característica escurridiza de la que hablaremos<br />

más tarde (véase el apartado 1.3.1).<br />

1.2.2 Una definición formal de algoritmo<br />

La caracterización hecha hasta ahora de los algoritmos es satisfactoria a efectos<br />

prácticos. Más concreta aún resulta a la vista de un l<strong>en</strong>guaje algorítmico<br />

como el de los diagramas de flujo, que deja <strong>en</strong>trever dos aspectos:<br />

• El mant<strong>en</strong>imi<strong>en</strong>to de unas variables (a y b) y de unas posiciones (1, . . . , 7),<br />

a lo que llamamos estado. Por ejemplo, cada fila de la tabla de la figura 1.3<br />

repres<strong>en</strong>ta un estado <strong>en</strong> la evolución del algoritmo 1.2.<br />

• La descripción de transiciones <strong>en</strong>tre estados, que vi<strong>en</strong><strong>en</strong> dadas por el propio<br />

diagrama.<br />

Estos aspectos de los algoritmos están aus<strong>en</strong>tes de la primera definición,<br />

por lo que puede resultar aún algo incompleta; surge pues la necesidad de una<br />

definición más formal:<br />

Definición: Un algoritmo es una cuádrupla que compr<strong>en</strong>de los sigui<strong>en</strong>tes elem<strong>en</strong>tos:<br />

1. El conjunto de los estados (llamémosle E) que pued<strong>en</strong> pres<strong>en</strong>tarse <strong>en</strong> todo<br />

mom<strong>en</strong>to durante el cálculo.

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

Saved successfully!

Ooh no, something went wrong!