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.

7.3. Aspectos metodológicos 145<br />

{Hallar d<strong>en</strong>ominador, d<strong>en</strong>om = i!}<br />

d<strong>en</strong>om:= 1;<br />

para j:= 1 hasta i hacer<br />

d<strong>en</strong>om:= d<strong>en</strong>om * j<br />

Agrupando todos los refinami<strong>en</strong>tos finalm<strong>en</strong>te t<strong>en</strong>dríamos el sigui<strong>en</strong>te programa<br />

<strong>en</strong> <strong>Pascal</strong>:<br />

Program Sumatorio (input, output);<br />

var<br />

d<strong>en</strong>om, n, i, j: integer;<br />

suma, term: real;<br />

begin<br />

{Entrada de datos:}<br />

Write(’Escriba el valor de n y pulse intro: ’);<br />

ReadLn(n);<br />

{Cálculo de la suma:}<br />

suma:= 0;<br />

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

{Cálculo del término i-ésimo: (i + 1)/i!}<br />

d<strong>en</strong>om:= 1;<br />

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

d<strong>en</strong>om:= d<strong>en</strong>om * j;<br />

term:= (i + 1)/d<strong>en</strong>om;<br />

{Acumularlo:}<br />

suma:= suma + term<br />

<strong>en</strong>d; {for i:= 1}<br />

{Salida de resultados:}<br />

WriteLn(’Suma = ’,suma:12:10)<br />

<strong>en</strong>d. {Sumatorio}<br />

Mejora de repeticiones innecesarias<br />

El ejemplo anterior es correcto, aunque s<strong>en</strong>siblem<strong>en</strong>te mejorable. En efecto,<br />

se observa que los factoriales hallados <strong>en</strong> cada vuelta,<br />

1!, 2!, . . . , (i − 1)!, i!, . . . , n!<br />

pued<strong>en</strong> hallarse más rápidam<strong>en</strong>te simplem<strong>en</strong>te actualizando el preced<strong>en</strong>te. Así<br />

pues, <strong>en</strong> vez de<br />

{Hallar d<strong>en</strong>om = i!}<br />

d<strong>en</strong>om:= 1;<br />

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

d<strong>en</strong>om:= d<strong>en</strong>om * j

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

Saved successfully!

Ooh no, something went wrong!