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.

1.2. Concepto de algoritmo 7<br />

Principio<br />

NO<br />

a b a = 0 a ←a-1<br />

1 2 3 4 5<br />

2. Determinismo<br />

6<br />

7<br />

b<br />

Fin<br />

Figura 1.2. Diagrama de flujo de la “suma l<strong>en</strong>ta”.<br />

S Í<br />

b ←b+1<br />

Todo algoritmo debe responder del mismo modo ante las mismas condiciones.<br />

Por lo tanto, la acción de barajar un mazo de cartas no es un algoritmo,<br />

ya que es y debe ser un proceso no determinista.<br />

3. Finitud<br />

La descripción de un algoritmo debe ser finita.<br />

Un primer ejemplo<br />

Consideremos el ejemplo que, expresado gráficam<strong>en</strong>te, 2 aparece <strong>en</strong> la figura<br />

1.2. El algoritmo descrito ti<strong>en</strong>e por objetivo sumar dos cantidades <strong>en</strong>teras.<br />

Si se anotan esas cantidades inicialm<strong>en</strong>te <strong>en</strong> s<strong>en</strong>das casillas (a las que llamaremos<br />

a y b para abreviar), este método consiste <strong>en</strong> ir pasando de a a b una unidad<br />

cada vez, de forma que, cuando a = 0, el resultado será el valor de b.<br />

Vemos un ejemplo de su funcionami<strong>en</strong>to con los datos 2 y 3 <strong>en</strong> la figura 1.3.<br />

(Los números se han incluido para seguir mejor la evolución de los cálculos.)<br />

Se observa que la descripción del algoritmo que se ha dado es, <strong>en</strong> efecto,<br />

precisa (cada paso está ex<strong>en</strong>to de ambigüedad, así como el ord<strong>en</strong> <strong>en</strong> que se debe<br />

efectuar) y determinista (el efecto de cada paso es siempre el mismo para unos<br />

datos concretos cualesquiera). Estas dos características son una consecu<strong>en</strong>cia<br />

del l<strong>en</strong>guaje escogido para expresar el algoritmo.<br />

2 El l<strong>en</strong>guaje empleado es el de los diagramas de flujo, que estudiaremos <strong>en</strong> el capítulo 7,<br />

apartado 7.2.1. Esperamos que, debido a su s<strong>en</strong>cillez, el funcionami<strong>en</strong>to de este ejemplo resulte<br />

compr<strong>en</strong>sible directam<strong>en</strong>te.

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

Saved successfully!

Ooh no, something went wrong!