Está en la página 1de 8

CENTRO DE ESTUDIOS EMSSANAR

CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO

GUIA DE AULA No. 6 INSTRUCCIONES DE REPETICIÓN Y INSTRUCCIÓN PARA

PROGRAMA: Sistemas y computación I.H.S 4 T.H 64

MATERIA: Lógica Matemática y Algoritmos

SEMESTRE: I

RESPONSABLE: Juan Alexander Agreda Delgado

RECUPERACION DE SABERES Y EXPERIENCIAS PREVIAS

En un almacén de camisas se tiene la siguiente promoción: si se compran 10 camisas o mas


se aplica un descuento del 20% sobre el total de la compra, si son menos de 10 y al menos
5 camisas un descuento del 10% y en cantidades menores a 5 no hay descuento.

Definición del problema

Calcular el descuento y el valor a pagar por una compra.

Análisis del problema

Para solucionar este problema, lo mas importante es determinar que porcentaje se


aplicara para calcular el valor del descuento, este puede ser:

Porcentaje descuento = 0% para cantidad < 5

Porcentaje descuento = 10% para 5 <= cantidad < 10

Porcentaje descuento = 20% para cantidad >=10

Datos de entrada: valor unitario, cantidad

Datos de salida: valor total, valor descuento, valor a pagar

Proceso:

Valor total=valor unitario * cantidad

Valor descuento=valor total * porcentaje descuento/100

Valor a pagar= valor total – valor descuento

Pseudocódigo

1
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
INICIO

Entero: can

Real: valUnit, valtot, pordes, valdes, valpag

Escribir(“Ingrese la cantidad:”)

Leer(can)

Escribir(“ingrese valor unitario:”)

Leer(valUnit)

Si (can < 5) entonces

pordes=0

Sino

Si (can<10) entonces

pordes=10

Sino

pordes=20

fin si

fin si

valtot = can * valUnit

valdes=valtot * pordes/100

valpag=valtot-valdes

escribir(“Valor total:”,valtot)

escribir(“Descuento:”,valdes)

escribir(“valor a pagar:”,valpag)

FIN

2
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
INCORPORACIÓN DE NUEVA INFORMACIÓN

INSTRUCCIONES DE REPETICIÓN

En la solución de algunos problemas es necesario ejecutar repetidas veces una instrucción o un


conjunto de instrucciones. En algunos casos, el número de repeticiones se conoce con
anterioridad, mientras que en otras depende de cálculos o estados de variables que se dan dentro
de la solución del problema.

Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las que se conocen como
estructuras de repetición, bucles o ciclos.

Un ciclo consiste en un grupo de acciones que se ejecutan repetidas veces dependiendo del
cumplimiento de una condición.

1.1 CICLO PARA

Este ciclo al igual que los demás, permite ejecutar repetidas veces una instrucción o un grupo
de ellas, pero a diferencia de otras instrucciones de repetición, esta maneja el valor inicial, el
valor de incremento o decremento y el valor final de la variable de control como parte de la
instrucción.

Cuando al ejecutar un algoritmo se encuentra una instrucción para la variable de control


(contador) toma el valor inicial, se verifica que el valor inicial no sobrepase al valor final y
luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción fin para, se produce el
incremento y se vuelve a verificar que la variable de control no haya superado el limite
admitido, y se vuelven a ejecutar las instrucciones que están dentro del ciclo, y así
sucesivamente tantas veces como sea necesario hasta que supere el valor final establecido.

El ciclo para termina en el momento en que la variable de control (Contador) sobrepasa el


valor final; es decir, que la igualdad esta permitida y las instrucciones se ejecutan cuando el
contador es igual al valor final.

Este ciclo puede presentarse de tres maneras: la primera es la mas común cuando se produce
un incremento de 1 en cada iteración, en cuyo caso no es necesario escribir explícitamente.

En Pseudocódigo

Para variable= valor_inicial hasta valor_final hacer

Bloque de instrucciones

Fin para

3
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Ejemplos

 Imprimir los números del 1 al 10

Definición del problema

Imprimir números del 1 al 10

Análisis del problema

Datos de entrada: ninguno

Datos de salida: números (1…. 10)

Proceso: ninguno

Diseño de la solución

En pseudocódigo:

INICIO

Entero: con

Para con=1 hasta 10 hacer

Escribir con

Fin para

FIN

4
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
En DFD:

 Imprimir los números del 5 al 50 con intervalos de 5.

Definición del problema

Imprimir números de cinco en cinco

Análisis del problema

Datos de entrada: ninguno

Datos de salida: números (5… 50 )

Proceso: ninguno

Diseño de la solución

Pseudocódigo

5
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
INICIO

Entero: num

para(num=5; num<=50; num=num+5)

escribir(num)

fin para

FIN

En DFD

 Dado un numero cualquiera determinar si es numero primo

Definición del problema

Determinar si un número es primo

Análisis del problema

6
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Se dice que un número es primo si solo es divisible enteramente para la unida (1) y
para si mismo. Con base en este criterio, se trata de demostrar que el número en
cuestión no es divisible para ningún número menor a este y mayor a 1, en caso de
encontrarse un caso de división exacta, la posibilidad de que sea numero primo queda
descartada.

Datos de entrada: numero

Datos de salida: mensaje “numero primo” o “numero no primo”

Proceso: r=numero mod i (i: 2…. -1)

INICIO

Entero: num, i, r

Logico: sw=1

Escribir(“Ingrese numero”)

Leer(num)

Para(i=2; i<=num-1 ; i++)

r= num mod i

Si r=0 entonces

Sw= 0

Fin si

Fin para

Si (sw=1) entonces

Escribir(“El numero es primo:”)

Si no

Escribir(“El numero no es primo”)

Fin si

FIN

7
CENTRO DE ESTUDIOS EMSSANAR
CETEM
Resolución 0136 de 2007, 26 enero de 2007
Secretara de Educación Municipal
FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
EJERCICIOS

Realizar los siguientes problemas, mediante pseudocódigo o DFD. Para entregarlos en clase.

1. Dado un grupo de 20 estudiantes que cursaron la materia Algoritmos, se desea saber cual
es el promedio del grupo, cual fue la nota mas alta y cual la mas baja.

2. Un algoritmo que lea un número entero y sume los números comprendidos entre 1 y el
número leído inclusive.

3. Visitar la siguiente pagina y explorar los ejemplos que se presentan en esta:

http://ayura.udea.edu.co/~jlsanche/repeticion/para/para.htm