Está en la página 1de 34

MÉTODOS NUMÉRICOS

ESTRUCTURAS REPETITIVAS

CONTADOR, ACUMULADOR

ESTRUCTURA WHILE

ESTRUCTURA FOR

GUIA LABORATORIO
ESTRUCTURAS REPETITIVAS

• Las estructuras repetitivas cuyas instrucciones


se repiten un número determinado de veces
mientras se cumpla una determinada condición
o en todo caso se le ha dado un límite de veces
a ejecutar.
En todo programa se debe establecer cual es la
variable(s) que llevan el control de las
sentencias que formaran las estructuras
repetitivas.

• Python soporta dos estructuras de control:


• Bucle while
• Bucle for
ESTRUCTURAS REPETITIVAS

Una estructura de repetición, llamada también iteración, ciclo, bucle, ejecuta un bloque de
instrucciones de código una cierta cantidad de veces. Esto va a depender de una condición la cual
debemos controlar para poder detener en algún momento el ciclo, de lo contrario, enteraríamos
a un ciclo infinito y tendríamos que detener la ejecución del programa.
El bloque de código que se repite se le llama cuerpo del bucle.
Elementos del bucle
Variable de control.- Son variable ordinarias que se utilizan para regular la iteración, esta variable
de control va formar la expresión_lógica, que nos va indicar cuando detener la iteración. Estas
variable va cambiando sus valores dentro del cuerpo del bucle que nos va permitir salir de la
iteración. Esta variable puede ser un contador o otra variable que va cambando y nos permita
salir del bucle
Inicialización de la variable de control.- es el valor inicial que toma la variable
ESTRUCTURAS REPETITIVAS

La condición de control.- es el valor que puede tomar la variable de control como valor final, es
decir hasta donde va llegar la variable de control , una vez que llega a ese valor el bucle deja de
repetirse
Cuerpo del bucle.- es el bloque de código que se repite en cada iteración.
CONTADOR

• Es aquel que se va aumentando o disminuyendo una cantidad


constante.
c=ck

Donde:
k es una constante que puede ser positiva o negativa
c es una variable
Ejemplo: 2 4 6 8 10
En este ejemplo la constante es 2 ( k 2)
c = c +2
ACUMULADOR O SUMADOR

• Es aquel que se va incrementando en una cantidad variable


acu = acu +v
Donde
acu, v son variables

Ejemplo
sumar la serie 2 4 6 8 10
Contador: c = c+2
Acumulador: sc = sc +c
WHILE (MIENTRAS-FIN_MIENTRAS)

El bucle while repite una o un grupo de sentencias mientras el resultado de


una expresión lógica es verdadero, si el resultado de la expresión lógica es
falso el bucle while termina.
Si el bucle while ejecuta un grupo de sentencias, deben de estar identadas
dentro del while
llevan dos
puntos

Pseudocódigo Python
Mientras (Expresion_logica) hacer while (Expresion_logica):
sentencia(s) sentencia(s)
Fin_mientras

Valor tipo Si es un
boolean grupo deben
de estar
identadas
FUNCIONAMIENTO DE LA ESTRUCTURA WHILE

Cuando el bucle while inicia su ejecución sucede los siguientes pasos:


a) Se evalúa la expresión_lógica obteniendo un resultado booleano
b) Si este resultado es verdadero (True) se ejecuta la sentencia(s) y se retorna al paso
a)
c) Si el resultado de la expresión_lógica es falso (False), se termina el bucle while y la
ejecución del programa proseguirá con la sentencia que sigue a esta estructura.
EJEMPLO DE FUNCIONAMIENTO DEL BUCLE WHILE

 Se inicializa i=1, luego se evalúa la expresión lógica (i<=5), mientras


i=1 el contenido de la variable i es menor o igual a 5 se ejecutan las
sentencias que están en el cuerpo del bucle
while (i<=5):  Cuando la variable i toma el valor de 6, la expresión_lógica (i<=5) se
fact=fact*i hace falsa, terminando el bucle while, luego se ejecuta la sentencia
print(“El factorial es :”,fact)
i=i+1
print(“El factorial es: “,fact)
ESTRUCTURAS REPETITIVAS

La variable de control es i, su valor inicial es 1, la condición de control es 12


El cuerpo del bucle es el proceso,

1
2 i = 1 (valor inicial) (valor final)
3
4
5 Mientras (i<=12)
6 Mientras ( i<= 12 ) Hacer
7
8 (proceso)
9 proceso
10
11
12 i= i+1 (contador)
Fin_mientras

Siempre colocamos el contador (i=i+1) debe ir antes del


Fin_mientras
ESTRUCTURAS REPETITIVAS

La variable de control es n, su valor inicial es 18, la condición de control es 1


El cuerpo del bucle es el proceso,

18
9 n=18 (valor inicial) (valor final)
4 Mientras (n>1)
2
1
Mientras ( n>= 1 ) Hacer
proceso (proceso)

n= n/2 (variable)
Fin_mientras

La variable (n=n/2) debe ir antes del Fin_mientras


ESTRUCTURAS REPETITIVAS

IMPORTANTE

En el proceso se puede colocar:

estructura selectiva simple


estructura selectiva doble
estructura selectiva múltiple

según la complejidad del algoritmo


FOR

la sentencia for de Python itera sobre los ítems de cualquier secuencia (una lista o una cadena de
caracteres), en el orden que aparecen en la secuencia.
La sintaxis de la función range
range ([valor inicial], valor final, [incremento])
Los argumentos que va entre corchetes son opcionales que define el inicio y el incremento de la
progresión. En el caso que solo se defina el valor final, se asume valor inicial en 0 y el incremento en
1, cabe mencionar el valor final en la progresión siempre es un valor menos es decir (valor final -1)
for variable de control range([v.i],v.f,[incremento]):
sentencia
FOR (Desde- Fin_desde)

El bucle for, repite una sentencia o un grupo de sentencias un número


determinado de veces. Es utilizado cuando se conoce por anticipado el
número de veces que se van a repetir las sentencias .

Pseudocódigo
Desde i=valor inicial hasta (expresion_logica) con incremento N Hacer
sentencia(s)
Fin_desde
Python
for variable de control range([v.i],v.f,[incremento]):
sentencia
FUNCIONAMIENTO DEL BUCLE FOR

Cuando el bucle for inicia su ejecución sucede los siguientes pasos:

a) Se inicializa la variable de control;con v.i especificado en range


b) Se evalúa la expresión_lógica obteniendo un resultado booleano
c) Si este resultado es verdadero (True) se ejecuta la sentencia(s), luego se realiza el
incremento y se retorna al paso b)
d) Si el resultado de la expresión_lógica es falso (False), se termina el bucle for y la
ejecución del programa proseguirá con la sentencia que sigue a esta estructura.
EJEMPLO DE FUNCIONAMIENTO DEL BUCLE FOR

 Al ejecutar el for se inicializa i=1, luego se evalúa la expresión lógica


for i in range (1,6,1):
(i<6), como es verdadero se ejecuta la sentencia fact=fact*i, luego la
fact=fact*i ejecución retorna al for incrementándose el valor de i (i=2) y se
evalúa nuevamente la expresión_logica (i<6). Y así sucesivamente
print(“El factorial es: “,fact)  Cuando la variable i toma el valor de 6, la expresión_lógica (i<6) se
hace falsa, terminando el bucle for, luego se ejecuta la sentencia
print(“El factorial es :”,fact)
EJERCICIO

Escribir un programa para imprimir la siguiente serie:

1 2 3 4 5 6 7 8 9 10

Implementarlo usando estructuras repetitivas, while y for


UTILIZANDO DESDE

Resolviendo con pseudocódigo

Desde i=1 hasta (i<=10) con incremento 1 Hacer


Escribir ( i )
Fin_desde
PROGRAMA COMPLETO UTILIZANDO FOR

for i in range (1,11,1):


print(i, end=" ")

Al ejecutar el programa:

1 2 3 4 5 6 7 8 9 10

el incremento es opcional, solo cuando va de 1 en 1


for i in range (1,11):
print(i, end=" ")

Al ejecutar el programa:
1 2 3 4 5 6 7 8 9 10
UTILIZANDO MIENTRAS

ESTRUCUTRAS WHILE

Resolviendo con pseudocódigo

i=1
Mientras (i<=10) Hacer
Escribir ( i )
i  i+ 1
Fin_mientras
UTILIZANDO MIENTRAS

i=1
while (i<=10):
print(i,end=" ")
i=i+1

El ejecutar el programa:
1 2 3 4 5 6 7 8 9 10

Explicacion:
Cada vez que se ejecute una vez este ciclo while , el contador se incrementa en uno y cuando llegue a 10, la
condición va a pasar de verdadero a falso y se va a detener la ejecución del ciclo while
ESTRUCTURAS REPETITIVAS

Realizar un programa que muestre la tabla de multiplicar de un


número.
Por ejemplo: la tabla de multiplicar del 4
4*1= 4
4*2= 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
………..
4 *12 = 48
PSEUDOCÓDIGO

Inicio
Entero: i, tabla, m
Escribir (“Ingrese tabla ")
Leer (tabla )
i 1
Mientras (i<=12) Hacer
m  tabla * i
Escribir (tabla, “ * ", i , " = ", m)
i  i+ 1
Fin_mientras
Fin
CODIFICACION SOLO PROCESO

i 1 i =1
Mientras (i<=12) Hacer while (i<=12):
m  tabla * i m = tabla * i
print(tabla, " * ", i , " = ", m)
Escribir (tabla, “ * ", i , " = ", m) i = i+ 1
i  i+ 1
Fin_mientras
PROGRAMA COMPLETO UTILIZANDO FOR

tabla= int (input("Ingrese tabla: "))


i =1
while (i<=12):
m = tabla * i
print(tabla, " * ", i , " = ", m)
i = i+ 1

Al ejecutar el programa:
MULTIPLICACIÓN RUSA

El método de multiplicación rusa consiste en multiplicar


sucesivamente por 2 el multiplicando y dividir por 2 el
multiplicador hasta que el multiplicador tome el valor 1. Luego,
se suman todos los multiplicandos correspondientes a los
multiplicadores impares. Dicha suma es el producto de los dos
números.
EJEMPLOS DE MULTIPLICACIÓN RUSA

12*12=144

12 12
6 24
3 48
1 96

producto 48+96=144
EJEMPLOS DE MULTIPLICACIÓN RUSA

9*7=63

9 7
4 14
2 28
1 56

producto 7 +56 = 63
EJEMPLOS DE MULTIPLICACIÓN RUSA

7*9=63 (la multiplicación rusa es conmutativo)

7 9
3 18
1 36

producto 9+18+36 = 63
PSEUDOCÓDIGO MULTIPLICACIÓN RUSA

Inicio
Entero: a, b, sb=0
Escribir («Ingrese primer valor:”)
Leer(a)
Escribir («Ingrese segundo valor:”)
Leer(b)
Mientras(a>=1) Hacer
Escribir(a, b)
Si (a mod 2==1) entonces
sb=sb+b
Fin_si
b=b*2
a=a/2
Fin-mientras
Escribir(«el producto es «,sb)
Fin
CODIGO FUENTE

PSEUDOCÓDIGO PYTHON
Inicio a =int (input("Ingrese primer numero: "))
Entero: a, b, sb=0 b =int (input("Ingrese segundo numero: "))
Escribir («Ingrese primer valor:”) sb=0
Leer(a)
Escribir («Ingrese segundo valor:”) while(a>=1):
Leer(b) print(a , "\t", b)
Mientras(a>=1) Hacer if (a % 2==1):
Escribir(a, b) sb=sb+b
Si (a mod 2==1) entonces a=a//2
sb=sb+b b=b*2
Fin_si print("El producto es :",sb)
b=b*2
a=a/2
Fin-mientras
Escribir(«el producto es «,sb) AL EJECUTAR:
Fin Ingrese primer numero: 12
Ingrese segundo numero: 12
12 12
6 24
3 48
1 96
El producto es : 144
SE
ACABO!!!!!

También podría gustarte