Sie sind auf Seite 1von 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

1 Conceptos bsicos

Contador
Acumulador

2 Tipos de estructuras repetitivas o iteraciones

Estructura Mientras_que...haga
Estructura Para...hasta...haga

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 repetidamente 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 acumulador 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: Definicin variables de entrada
Variables: Definicin de variables auxiliares
Salidas: Definicin 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 final 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
0
1
2
3
4
5
6
7

Num
30
10
2
7
15
100
50

SNum
30
40
42
49
64
164
214

Pantalla

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:

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:
c vt
vt+1 = vt + (g
)(ti+1 ti )
m
La velocidad utilizando la solucin analtica

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=coeficiente 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
Va =Velocidad aproximada
Et =Error verdadero absoluto
Er =Error verdadero relativo
Inicio
Lea m, c, t, h, g
Va = 0;
%Valor inicial de la velocidad
tt = 0 ;
%Valor inicial del tiempo
c
gm
t

V =
%Velocidad real
(1 e m ) ;
c
Mientras_que tt<=t haga
c Va
V a = Va + (g
) h ; %Aprox. al valor de la velocidad
m
tt = tt + h ;
%Incrementa el contador de tiempo
Fin mientras
Et = V Va
Et
Er =
V
Imprima La velocidad real es, V
Imprima La velocidad aproximada es, Va
Imprima El error verdadero absoluto es, Et
Imprima El error verdadero relativo es, Er
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.
Generar e imprimir la sumatoria de los primeros N nmeros
naturales.
Elaborar un algoritmo que calcule el factorial de un nmero
dado.ejerp3
Elaborar un algoritmo que determine el mximo comn divisor y el
mnimo comn multiplo de dos nmeros dados
Elaborar un algoritmo que calcule la raiz cuadrada de un nmero
positivo dado sin utilizar las funciones que suministra el programa.
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)
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

Elaborar un algoritmo que genere los N primeros trminos de la


sucesin de Fibonacci1 .

Elaborar un algoritmo que realice la conversin de decimal a


binario2 o viceversa3 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.

Sobre la sucesin de Fibonacci


Ejemplo conversin decimal a binario
3
Ejemplo conversin binario a decimal
2

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


clasificados dependiendo del sexo y la edad que tengan. Para ello se ha
grabado un archivo llamado inscritos4 , en el cual cada registro contiene
los siguientes datos: nombre, sexo y edad. El sexo est codificado as: 0
significa que es mujer y 1 significa que es hombre. Elabore un algoritmo
que procese dicho archivo y que imprima cuantas personas hay inscritas
en cada categoria. Las categorias definidas son:
Cat.
A
B
C
D

Descargar

Sexo
F
F
F
F

Edad
<=14
>14 y <=20
>21 y <=35
>35

Cat.
E
F
G
H

Sexo
M
M
M
M

Edad
<=15
>15 y <=25
>25 y <=40
>40

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: Definicin variables de entrada
Variables: Definicin de variables auxiliares
Salidas: Definicin de variables de salida
Inicio

Para Variable=Valor inicial 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 incremento es diferente a uno debe especificarse
as: Para Variable=Valor inicial Incrementos Valor hasta Valor final 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.

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 fin 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 definir 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
4

CA
1
2
3
4

COD
23
94
72
85

NOM
Mara
Sandra
Carlos
Andrs

N1
3
2
4
3

N2
2
5
4
1.2

N3
5
5
3.2
4

P
3.3
4
3.73
2.73

ACN
0
3.3
7.3
11.03
13.766

PT
3.44

Pantalla
Cod: 23, Nom: Maria, Prom=3.3
Cod: 94, Nom: Sandra, Prom=4
Cod: 72, Nom: Carlos, Prom=3.73
Cod: 85, Nom: Andrs, Prom=2.73
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:

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:
c vt
vt+1 = vt + (g
)(ti+1 ti )
m
La velocidad utilizando la solucin analtica

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=coeficiente 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
Va =Velocidad aproximada
Et =Error verdadero absoluto
Er =Error verdadero relativo
Inicio
Lea m, c, t, h, g
Va = 0 ;
%Valor inicial de la velocidad
tt = 0 ;
%Valor inicial del tiempo
gm
c t
V =
(1 e m )
c
t
Iter =
;
%Calcula el nmero de iteraciones
h
Para i=1 hasta Iter haga
c Va
V a = Va + (g
)h ;
%Aprox. a la velocidad
m
tt = tt + h ;
%Incrementa el contador de tiempo
Fin para
Et = V Va
Et
Er =
V
Imprima La velocidad real es, V
Imprima La velocidad aproximada es, Va
Imprima El error verdadero absoluto es, Et
Imprima El error verdadero relativo es, Er
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 estructura Mientras en vez de la estructura Para.
La estructura Para es recomendable utilizarla cuando las
instrucciones del ciclo se ejecuten un nmero fijo de veces, con una variacin predefinida.

Programacin estructurada y Mtodos Numricos Estructuras de repeticin


Tipos de estructuras repetitivas o iteraciones
Estructura Para...hasta...haga

Ejercicios propuestos
1
2
3
4

Los ejercicios 1, 2, 8, 10, 11y 12 propuestos anteriormente


Generar e imprimir la sumatoria de N nmeros ledos.
1 1 1
1
Calcular e imprimir la suma de: 1 + + + + +
2 3 4
N
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
X3 X5 X7 X9
serie: X
+

+

3
5
7
9
Escribir un algoritmo que permita ejecutar un conjunto de
instrucciones, preguntndole al finalizar si desea continuar y
cuando la respuesta sea n o N se detenga.
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.
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

Elaborar un algoritmo que imprima todos los nmeros impares


desde 1 hasta n

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


2n 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 mn utilizando unicamente la
operacin de suma.

Das könnte Ihnen auch gefallen