Você está na página 1de 39

UNIDAD 2: Algoritmos

Departamento de Sistemas
Universidad de la Frontera
Primer Semestre 2010

Algoritmos

Representacin de algoritmos

Programa Propio

Estructuras bsicas

Secuencial

Selectiva

Iterativa

Ejercicios

Representacin de algoritmos

Pseudocdigo

ALGORITMO nombre del algoritmo


ENTRADA descripcin de los datos de entrada al algoritmo
SALIDA descripcin de los datos de salida del algoritmo

VARIABLES lista de variables con sus tipos


INICIO
sentencias

FIN

Representacin de algoritmos
Existen Palabras o smbolos claves que se utilizan
dentro del cuerpo del algoritmo.
Operador asignacin:
Variable

Identificador
declarado
anteriormente

Expresin

Deben ser del


mismo tipo

Una variable,
constante, constante
literal o una frmula a
evaluar.

Programa Propio
DEFINICION:

Posee un solo punto de entrada y otro de salida para


control del programa.
Existen caminos desde la entrada hasta la salida que
se pueden y que pasan por todas las partes del
programa.

Todas las instrucciones son ejecutables y no existen


lazos o bucles infinitos.

Estructuras bsicas para la


construccin de Programas.
Un
programa
estructurado
puede
utilizando slo tres tipos de estructuras:

1. Secuencial
2. Selectiva

3. Iterativas

escribirse

1. Estructura Secuencial
BEGIN

INICIO

accin_1

accin_1

accin_1

accin_2

accin_2

accin_2

accin_3

accin_3

accin_3

.............

.............

.............

Accin_n

accin_n

accin_n

END

FIN

1. Estructura Secuencial
Nivel 0

Ej.: Calcular el rea


de un tringulo.

{
Leer info del tringulo
calcular rea
Mostrar area

Ej.: Calcular el rea de un tringulo


Nivel 1
Leer info del tringulo

Leer b, h
}

Calcular rea

{
area (b x h)/2
}

Mostrar rea

{
Escribir area
}

1. Estructura Secuencial
Algoritmo final
Ej.: Calcular el rea de
un tringulo.

{
Leer a, b
area (b x h)/2
Escribir area
}

2. Estructura Selectiva
Permite codificar alternativas:
2.1. Simple
2.2. Doble
2.3. Mltiple

2.1. Estructura Selectiva Simple (if)


Permite decidir si EJECUTAR o no un proceso

SI condicin ENTONCES

accin

FIN_SI
accin

2.1. Estructura Selectiva Simple (if)


{
LEER N
Ej. Mostrar si
un natural es
mltiplo de 11.

SI ( resto (N,11) == 0 ) ENTONCES

ESCRIBIR El natural es mltiplo de 11


FIN_SI
}

2.2. Estructura Selectiva Doble (if-else)


De dos procesos permite EJECUTAR solo uno de ellos

SI condicin ENTONCES
accin_1

?
V
accin_1

SINO
accin_2

accin_2

FIN_SI

2.2. Estructura Selectiva Doble (if-else)


{
LEER A,B
SI A > B ENTONCES
Si resto(A,B) == 0 ENTONCES

Ej.:
Dado dos
nmeros naturales
determinar si uno
de ellos es divisor
del otro.

ESCRIBIR B es divisor de A
FIN_SI
SINO
SI resto(B,A)=0 ENTONCES
ESCRIBIR A es divisor de B

FIN_SI
FIN_SI
}

2.3. Estructura Selectiva Mltiple


(switch, case)
De un conjunto de alternativas permite EJECUTAR slo
una de ellas
variable?
?

valor_1
accin_1

valor_2
accin_2

valor_n
accin_n

2.3. Estructura Selectiva Mltiple


(case)
CASE variable OF

CASE variable OF

lista_1: accin_1

lista_1: accin_1

lista_2: accin_2

lista_2: accin_2

............................

............................

lista_n: accin_n

lista_n: accin_n

END CASE

otro

: accin_n+1

END CASE

2.3. Estructura Selectiva Mltiple


(switch)
SWITCH variable

SWITCH variable

{
CASE valor_1: accin_1

CASE valor_1: accin_1

CASE valor_2: accin_2

CASE valor_2: accin_2

...............................

...............................

CASE valor_n: accin_n

CASE valor_n: accin_n

DAFAULT

: accin_n+1

2.3. Estructura Selectiva Mltiple


(switch)
{
Ej.: Una tienda ofrece
descuentos
para
los
productos de categora A,
B, C, D, E y F del 10, 25,
15, 30, 20 y 25 porciento
respectivamente.

LEER categora
CASE categora OF
A: tasa 10
B,F: tasa 25

C: tasa 15
D: tasa 30

Dada una categora vlida


determinar la tasa de
descuento.

E: tasa 20

ENDCASE
ESCRIBIR tasa
}

3. Estructuras Iterativas
Ejecutan en forma repetida un proceso con diferentes
valores para la(s) variable(s) que estn presentes en
las instrucciones del proceso. Existen tres tipos:

3.1. WHILE-DO

MIENTRAS-HACER

3.2. DO-WHILE

HACER-MIENTRAS

3.3. FOR-DO

DESDE-HASTA

3.1. Estructura Iterativa while-do

La estructura while ejecuta un grupo de


instrucciones mientras una condicin sea verdadera.
Primero evala la condicin, si es verdad, ejecuta el
proceso y vuelve a evaluar la condicin. Esto se
repite hasta que la condicin es falsa.
Exige que se inicialicen los elementos que
intervienen en la condicin y que se modifique en el
bucle al menos uno de estos elementos.

3.1. Estructura Iterativa while-do

inicializar
?
V
accin

WHILE condicin DO

accin
modificar
ENDWHILE

3.1. Estructura Iterativa while-do


{
i0

Ej.: Sumar los 10


primeros naturales
terminados en 5.

suma 0
n 5
MIENTRAS (i < 10) HACER
{
suma suma + n

ii+1
n n + 10
}
ESCRIBIR suma
}

3.2. Estructura Iterativa do-while

La estructura do-while ejecuta un grupo de


instrucciones mientras una condicin sea verdad.
Primero ejecuta el proceso y luego evala la
condicin, si es verdad vuelve a ejecutar el proceso.
Esto se repite hasta que la condicin es falsa.
No es necesario inicializar elementos que intervienen
en la condicin; pero si que se modifique en el bucle
al menos uno de los elementos que intervienen en
dicha condicin.

3.2. Estructura Iterativa do-while

DO
accin

accin
modificar

?
V

} WHILE condicin

3.2. Estructura Iterativa do-while


{
suma 0

Ej.:
Sumar todos los
mltiplos de 6 menores
o iguales a 100.

n 6
HACER
{
suma suma + n
n n+6
} MIENTRAS n 100
ESCRIBIR suma
}

3.3. Estructura Iterativa for-do

Esta instruccin ejecuta un nmero determinado de


veces el cuerpo del bucle.
Inicializa una variable de control, prueba s se ha
dejado de cumplir una condicin y de ser as
termina, de lo contrario ejecuta la accin, realiza la
actualizacin y repite la evaluacin de la condicin.

3.3. Estructura Iterativa for-do


expr_1

FOR (expr_1; expr_2; expr_3) DO


accin
END_FOR

expr_2
V

expr_1: Inicializacin

accion

expr_2: Condicin
expr_3: Actualizacin

expr_3

3.3. Estructura Iterativa for-do


Ej.:
Dada una
secuencia de 10
naturales
determinar
su
promedio.

{
suma 0
PARA ( i 1; i 10; i i +1) HACER
{
Leer natural

suma suma + natural


}
promedio suma / i

ESCRIBIR promedio
}

Ejercicios
Para los siguientes ejercicios cree el diagrama de
flujo y su correspondiente pseudocdigo.
1. Disear un programa que permita ingresar dos
notas, muestre el promedio y el comentario de si
este est aprobado o reprobado.

Ejercicios
2. Hacer un programa que muestre el mensaje de
acuerdo la una edad ingresada: si la edad es de 0 a
10 aos nio, si la edad es de 11 a 14 aos
pubertad, si la edad es de 15 a 18 aos
adolescente, si la edad es de 19 a 25 aos joven,
si la edad es de 26 a 65 aos adulto, si la edad es
mayor de 65 anciano.

Ejercicios
3. Desarrolle un algoritmo que permita determinar el
rea y volumen de un cilindro dado su radio (r) y
altura (h), considerando solo valores positivos.

Ejercicios
4. Una tienda comercial se encuentra de aniversario y ha
programado una serie de ofertas con la finalidad de brindar
facilidades a sus clientes y a la vez incrementar sus ventas.
Estas ofertas se basan especficamente en brindar un
porcentaje de descuento sobre el total de una compra, el cual
vara de acuerdo al monto:

Por un monto mayor o igual a $50.000 se har un descuento


del 30%.
Por un monto menor de $50.000 pero mayor o igual a
$20.000 se har un descuento del 20%.
Por un monto menor de $20.000 pero mayor o igual a
$10.000 se har un descuento del 10%
Considere 100 personas

Ejercicios
5. Desarrolle un algoritmo que permita leer dos
valores distintos, determinar cual de los dos
valores es el mayor y escribirlo.

Ejercicios
6. Desarrolle un algoritmo que permita leer tres
valores distintos y almacenarlos en las variables
a, b y c respectivamente. El algoritmo debe imprimir
cual es el mayor de los tres valores.

Ejercicios
7. Calcule el Factorial de un Nmero Entero.

Ejercicios
8. Escribir el algoritmo que permita emitir la factura
correspondiente a una compra de un artculo
determinado, del que se adquieren una o varias
unidades. El IVA es del 19% y si el precio bruto
(precio venta mas IVA) es mayor de $13000 se debe
realizar un descuento del 5%.

Ejercicios
9. Desarrolle un algoritmo que realice la sumatoria de
los nmeros enteros comprendidos entre el 1 y el
10.

Algoritmos

Representacin de algoritmos

Programa Propio

Estructuras bsicas

Secuencial

Selectiva

Iterativa

Ejercicios

Você também pode gostar