Sunteți pe pagina 1din 30

Programacin estructurada y Mtodos Numricos Estructuras de repeticin

Programacin estructurada y Mtodos Numricos


Estructuras de repeticin
Msc. Felipe Andrs Obando Vega
Ingeniero de Control
Universidad de Antioquia
Facultad de Ingeniera
Departamento de Ingeniera Mecnica
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Conceptos bsicos
Conceptos bsicos
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Conceptos bsicos
Conceptos bsicos
Las estructuras de repeticin o iteraciones sirven para ejecutar repeti-
damente una o varias instrucciones hasta que se cumple una o varias
condiciones relacionadas por medio de operadores lgicos (AND, OR,
NEG).
Es necesario conocer adecuadamente el concepto de contador y acumu-
lador los cuales se utilizan frecuentemente en estas instrucciones.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Conceptos bsicos
Contador
Contador
Es una variable que sirve para contar las ocurrencias de algn evento,
bien sea forma de incrementos o decrementos constantes.
Sintaxis
contador=contadorconstante
Ejemplo
Ciclos=Ciclos+1
Marcador=Marcador+1
Sillas=Sillas-1
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Conceptos bsicos
Acumulador
Acumulador
Un acumulador o sumador es una variable destinada a contener un valor
que se incrementa o decrementa de forma constante o no constante
cada vez que se realiza un ciclo.
Sintaxis
sumador=sumadorvariable
Ejemplo
saldo=saldo+deposito
saldo=saldo-retiro
error=error+error_actual
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Estructura Mientras_que...haga
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Estructura Mientras_que...haga
Psudocdigo estructura Mientras que ... haga
Entradas: Denicin variables de entrada
Variables: Denicin de variables auxiliares
Salidas: Denicin de variables de salida
Inicio


Mientras_que Condicion haga
Instruccin 1
Instruccin 2

Instruccin n
Fin mientras


Fin
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Ejemplo
Calcular e imprimir la suma de 7 nmeros ledos.
Anlisis de la solucin
Se deben leer uno a uno los nmeros, guardarlos y acumularlos, para esto se
requiere una variable que acumule la suma de cada numro y otra variable que
determine el nmero de numero sumados para que cuando sea igual a 7
termine el proceso de lectura.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Ejemplo
Algoritmo que imprime la suma de 7 nmeros ledos
Entradas:
Num: Sirve para leer los numeros
Variables:
CNum: Sirve para contar los nmeros que se van leyendo
Salidas:
SNum: Sirve para acumular el valor de cada uno de los nmeros
leidos y al nal imprimir el total acumulado
Inicio
CNum=0 ; %Inicializa el contador
SNum=0 ; %Inicializa el acumulador
Mientras_que CNum<7 haga
Lea Num
CNum=CNum+1 ; %Incrementa el contador
SNum=SNum+Num ; %Acumula el nmero actual
Fin mientras
Imprima SNum
Fin
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Prueba de escritorio
CNum Num SNum Pantalla
0 30 30
1 10 40
2 2 42
3 7 49
4 15 64
5 100 164
6 50 214
7 214
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Ejemplo
Ejemplo
Aplicando el mtodo de Euler, calcular:
1 La velocidad del paracaidista despues de haber transcurrido un
periodo de tiempo para un tamao de paso dado.
La velocidad del paracaidista esta dado por:
v
t+1
= v
t
+ (g
c v
t
m
)(t
i+1
t
i
)
2 La velocidad utilizando la solucin analtica
3 El error verdadero absoluto y relativo.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Aproximacin a la solucin del problema mediante el mtodo de Euler
Entradas:
m=masa del paracaidista
c=coeciente de arrastre del paracaidista
t=tiempo de caida del paracaidista
h=Tamao de paso
g=Aceleracin de la gravedad
Variables
tt: Sirve para almacenar el valor del tiempo actual
Salidas:
V =Velocidad real
V
a
=Velocidad aproximada
E
t
=Error verdadero absoluto
E
r
=Error verdadero relativo
Inicio
Lea m, c, t, h, g
V
a
= 0; %Valor inicial de la velocidad
tt = 0 ; %Valor inicial del tiempo
V =
gm
c
(1 e

c
m
t
) ; %Velocidad real
Mientras_que tt<=t haga
V a = V
a
+(g
c V
a
m
) h ; %Aprox. al valor de la velocidad
tt = tt + h ; %Incrementa el contador de tiempo
Fin mientras
E
t
= V V
a
E
r
=
E
t
V
Imprima La velocidad real es, V
Imprima La velocidad aproximada es, V
a
Imprima El error verdadero absoluto es, E
t
Imprima El error verdadero relativo es, E
r
Fin
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Ejercicios propuestos
1 Calcular el valor de N reas de tringulos, adems imprimir la
sumatoria y el promedio de las reas calculadas.
2 Generar e imprimir la sumatoria de los primeros N nmeros
naturales.
3 Elaborar un algoritmo que calcule el factorial de un nmero
dado.ejerp3
4 Elaborar un algoritmo que determine el mximo comn divisor y el
mnimo comn multiplo de dos nmeros dados
5 Elaborar un algoritmo que calcule la raiz cuadrada de un nmero
positivo dado sin utilizar las funciones que suministra el programa.
6 Elaborar un algoritmo que lea un entero y que determine e imprima
si es un nmero perfecto n(aquel cuya suma de sus divisores desde
1 hasta n-1 es n, por ejemplo 6=1+2+3)
7 Elaborar un algoritmo que determine si un nmero dado es primo
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Ejercicios propuestos
8 Elaborar un algoritmo que genere los N primeros trminos de la
sucesin de Fibonacci
1
.
9 Elaborar un algoritmo que realice la conversin de decimal a
binario
2
o viceversa
3
segn el tipo de nmero ingresado. Se le debe
indicar al algoritmo el tipo de conversin a realizar.
10 Elaborar un algoritmo que determine el nmero mayor y menor de
un conjunto de nmeros dados.
11 Elaborar un algoritmo que lea un nmero n e imprima todos los
divisores de l.
1
Sobre la sucesin de Fibonacci
2
Ejemplo conversin decimal a binario
3
Ejemplo conversin binario a decimal
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Mientras_que...haga
Ejercicios propuestos
12 Se tiene una competencia ciclistica en la cual los competidores son
clasicados dependiendo del sexo y la edad que tengan. Para ello se ha
grabado un archivo llamado inscritos
4
, en el cual cada registro contiene
los siguientes datos: nombre, sexo y edad. El sexo est codicado as: 0
signica que es mujer y 1 signica que es hombre. Elabore un algoritmo
que procese dicho archivo y que imprima cuantas personas hay inscritas
en cada categoria. Las categorias denidas son:
Cat. Sexo Edad Cat. Sexo Edad
A F <=14 E M <=15
B F >14 y <=20 F M >15 y <=25
C F >21 y <=35 G M >25 y <=40
D F >35 H M >40
4
Descargar
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Estructura Para...hasta...haga
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Estructura Para...hasta...haga
Psudocdigo estructura Para...hasta...haga con
incrementos de la variable unitarios
Entradas: Denicin variables de entrada
Variables: Denicin de variables auxiliares
Salidas: Denicin de variables de salida
Inicio


Para Variable=Valor inicial Incremento=Valor hasta
Valor Final haga
Instruccin 1
Instruccin 2

Instruccin n
Fin para


Fin
Variable se incrementa automticamente en
una unidad en cada iteracin, si el incre-
mento es diferente a uno debe especicarse
as: Para Variable=Valor inicial Incremen-
tos Valor hasta Valor nal haga
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejemplo
Enunciado
Un curso esta compuesto por N alumnos y a cada uno de ellos se le
practicaron 3 pruebas. Se pide imprimir o escribir el promedio de las 3
notas para cada uno de ellos con sus datos bsicos (Cdigo y nombre),
y la sumatoria y el promedio de las notas de todo el curso.
Anlisis de la solucin
Se debe leer los datos bsicos de cada estudiante adems de las 3
notas; los datos bsicos son el cdigo y el nombre; tambien se necesita
conocer el valor de N, lo mismo que calcular el promedio de las 3 notas
por cada estudiante y para terminar el proceso se deben acumular los
promedios de cada alumno, con el n de obtener la sumatoria y el
promedio del curso.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejemplo
Enunciado
Un curso esta compuesto por N alumnos y a cada uno de ellos se le
practicaron 3 pruebas. Se pide imprimir o escribir el promedio de las 3
notas para cada uno de ellos con sus datos bsicos (Cdigo y nombre),
y la sumatoria y el promedio de las notas de todo el curso.
Anlisis de la solucin
Se debe leer los datos bsicos de cada estudiante adems de las 3
notas; los datos bsicos son el cdigo y el nombre; tambien se necesita
conocer el valor de N, lo mismo que calcular el promedio de las 3 notas
por cada estudiante y para terminar el proceso se deben acumular los
promedios de cada alumno, con el n de obtener la sumatoria y el
promedio del curso.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Algoritmo que determina el promedio de las notas de los estudiantes y del curso
Entradas:
N: Sirve para leer y denir el nmero de estudiantes para el cual se van a efectuar los clculos
COD: Sirve para leer cada uno de los cdigos de los N estudiantes.
NOM: Sirve para leer el nombre de cada uno de los N estudiantes
Variables:
N1: Sirve para leer la primera nota de cada estudiante
N2: Sirve para leer la segunda nota de cada estudiante
N3: Sirve para leer la tercera nota de cada estudiante
CA: Sirve para contar los estudiantes con sus datos
Salidas:
P: Sirve para calcular e imprimir el promedio de las notas de cada uno de los estudiantes
ACN: Sirve para calcular e imprimir la sumatoria o acumulado de los promedios de los estudiantes del curso.
PT: Sirve para calcular e imprimir el promedio total del curso
Inicio
ACN=0 ; %Inicializa el acumulador de promedios
Lea N
Para CA=1 hasta N haga
Lea COD, NOM
Lea N1, N2, N3
P=(N1, N2, N3)/3
ACN=ACN+P ; %Acumula el valor del promedio del estudiante
Imprima Cod: , COD, Nom: , NOM, Prom:, P
Fin para
Imprima La sumatoria de las notas del curso es , ACN
PT=ACN/CA
Imprima El promedio de las notas del curso es ,PT
Fin
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Diagrama de Flujo
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Prueba de escritorio
N CA COD NOM N1 N2 N3 P ACN PT Pantalla
4 1 23 Mara 3 2 5 3.3 0 3.44 Cod: 23, Nom: Maria, Prom=3.3
2 94 Sandra 2 5 5 4 3.3 Cod: 94, Nom: Sandra, Prom=4
3 72 Carlos 4 4 3.2 3.73 7.3 Cod: 72, Nom: Carlos, Prom=3.73
4 85 Andrs 3 1.2 4 2.73 11.03 Cod: 85, Nom: Andrs, Prom=2.73
13.766 La sumatoria de las notas del curso
es: 13.766
El promedio de las notas del curso es:
3.44
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejemplo
Ejemplo
Aplicando el mtodo de Euler, calcular:
1 La velocidad del paracaidista despues de haber transcurrido un
periodo de tiempo para un tamao de paso dado.
La velocidad del paracaidista esta dado por:
v
t+1
= v
t
+ (g
c v
t
m
)(t
i+1
t
i
)
2 La velocidad utilizando la solucin analtica
3 El error verdadero absoluto y relativo.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Aproximacin a la solucin del problema mediante el mtodo de Euler
Entradas: m=masa del paracaidista
c=coeciente de arrastre del paracaidista
t=tiempo de caida del paracaidista
h=Tamao de paso
g= Aceleracin de la gravedad
Variables: Iter: Sirve para calcular el nmero de iteraciones
tt: Sirve para almacenar el valor del tiempo actual
Salidas: V =Velocidad real
V
a
=Velocidad aproximada
E
t
=Error verdadero absoluto
E
r
=Error verdadero relativo
Inicio
Lea m, c, t, h, g
V
a
= 0 ; %Valor inicial de la velocidad
tt = 0 ; %Valor inicial del tiempo
V =
gm
c
(1 e

c
m
t
)
Iter =
t
h
; %Calcula el nmero de iteraciones
Para i=1 hasta Iter haga
V a = V
a
+ (g
c V
a
m
)h ; %Aprox. a la velocidad
tt = tt + h ; %Incrementa el contador de tiempo
Fin para
E
t
= V V
a
E
r
=
E
t
V
Imprima La velocidad real es, V
Imprima La velocidad aproximada es, V
a
Imprima El error verdadero absoluto es, E
t
Imprima El error verdadero relativo es, E
r
Fin
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Estructura Para...hasta...haga vs estructura Mientras que...haga
Cuando la terminacin del ciclo est controlada por el
resultado de una operacin es necesario utilizar la estruc-
tura Mientras en vez de la estructura Para.
La estructura Para es recomendable utilizarla cuando las
instrucciones del ciclo se ejecuten un nmero jo de ve-
ces, con una variacin predenida.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejercicios propuestos
1 Los ejercicios 1, 2, 8, 10, 11y 12 propuestos anteriormente
2 Generar e imprimir la sumatoria de N nmeros ledos.
3 Calcular e imprimir la suma de: 1 +
1
2
+
1
3
+
1
4
+ +
1
N
4 Elaborar un algoritmo que lea un entero n y un valor X y que
calcule e imprima el valor de los primeros trminos de la siguiente
serie: X
X
3
3
+
X
5
5

X
7
7
+
X
9
9

5 Escribir un algoritmo que permita ejecutar un conjunto de
instrucciones, preguntndole al nalizar si desea continuar y
cuando la respuesta sea n o N se detenga.
6 Elaborar un algoritmo que lea dos nmeros enteros positivos m y
n, y que calcule e imprima el resultado de multiplicar m por n
utilizando unicamente la operacin suma.
7 Elaborar un algoritmo que imprima todos los nmeros pares desde
1 hasta n
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejercicios propuestos
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejercicios propuestos
8 Elaborar un algoritmo que imprima todos los nmeros impares
desde 1 hasta n
9 Elaborar un algoritmo que imprima todos los nmeros enteros
desde n hasta 1
10 Imprimir todos los nmeros enteros comprendidos entre m y n y
que tengan un incremento dado, por ejemplo, imprimir los nmeros
enteros comprendidos entre 5 y 30 con un incremento de 3:
5, 8, 11, 14, 17, 20, 23, 26, 29.
Programacin estructurada y Mtodos Numricos Estructuras de repeticin
Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga
Ejercicios propuestos
11 Elaborar un algoritmo que lea un entero n y que genere e imprima
todos los nmeros primos desde 1 hasta n Elaborar un algoritmo
que imprima los enteros desde 1 hasta n de la siguiente manera:
1 22 333 4444 55555
12 Elaborar un algoritmo que lea un entero n y que calcule e imprima
2
n
utilizando solo la operacin de suma.
13 Elaborar un algoritmo que lea dos enteros positivos m y n y que
calcule e imprima el resultado de m
n
utilizando unicamente la
operacin de suma.

S-ar putea să vă placă și