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.

18.3. Reglas prácticas para hallar el coste de un programa 411<br />

Así, para n > 1,<br />

TFac(n) = 1 + TFac(n − 1)<br />

= 1 + 1 + TFac(n − 2)<br />

= . . .<br />

= n + TFac(0)<br />

= n + 1<br />

y, por lo tanto, el coste es lineal, o sea, TFac(n) ∈ Ω(n).<br />

18.3.2 Ejemplos<br />

Una vez descrito cómo calcular la complejidad <strong>en</strong> tiempo de los programas<br />

<strong>en</strong> <strong>Pascal</strong>, se pres<strong>en</strong>tan algunos algoritmos a modo de ejemplo.<br />

Producto de dos números <strong>en</strong>teros<br />

Supóngase que se pret<strong>en</strong>de calcular el producto de dos números naturales n<br />

y m sin utilizar la operación de multiplicación. Un primer nivel de diseño de un<br />

algoritmo para este problema es:<br />

prod:= 0<br />

repetir n veces<br />

repetir m veces<br />

prod:= prod + 1<br />

Este diseño se implem<strong>en</strong>ta directam<strong>en</strong>te <strong>en</strong> <strong>Pascal</strong> mediante la sigui<strong>en</strong>te<br />

función:<br />

function Producto(n, m: integer): integer;<br />

{PreC.: n,m ≥ 0}<br />

{Dev. n×m}<br />

var<br />

i,j,prod: integer;<br />

begin<br />

prod:= 0;<br />

for i:= 1 to n do<br />

for j:= 1 to m do<br />

prod:= prod + 1;<br />

Producto:= prod<br />

<strong>en</strong>d; {Producto}

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

Saved successfully!

Ooh no, something went wrong!