1.14 Ciclos con contador y con valor centinela

Veamos el siguiente programa que calcula el valor del número de Euler a partir de la serie 1/n!
En él el usuario ingresa la cantidad de términos a calcular y se calcula el valor de e al cabo de cada término. 

def euler():
    n=int(input("Ingrese cantidad de términos:"))
    e=0
    for i in range(1,n):
        f=1
        for j in range(1,i):
            f=f*j
        e=e+1/f
        print(i,"    ",e)

euler()



Para resolverlo, hay un ciclo que lleva la variable i desde 0 hasta n (los términos de la serie). Para cada término, se debe calcular un factorial. Esto se hace con el segundo ciclo for, que lleva a la variable j desde 1 hasta i (para multiplicar todos los factores que forman el factorial). En ambos ciclos, se sabe al iniciarlos cuántas veces se ejecutarán (n, i) y hay una variable que va contando la cantidad de veces que se ejecutan (i, j).
Este tipo de ciclos que se ejecutan una cantidad definida de veces, se denominan ciclos con contador. Para estos ciclos es recomendable utilizar siempre la instrucción for

Veamos el siguiente ejemplo:



En este caso, se realizan las operaciones hasta que se acaba el saldo. No es posible saber de antemano cuántas veces se ejecutará el ciclo. El ciclo terminará cuando la variable saldoalcance un valor menor que cero. Este tipo de ciclos que terminan cuando una variable (llamada variable de señal) alcanza un valor determinado, se denominan ciclos con valor señal o centinela. Por sus características, son más fácilmente programables con la instruccion while.




No hay comentarios:

Publicar un comentario