Vous êtes sur la page 1sur 12

UNIDAD II Algoritmos

2.1 Anlisis de problemas.


2.2 Representacin de algoritmos: grfica y pseudocdigo.
2.3 Diseo de algoritmos aplicados a problemas.
2.4 Diseo algortmico de funciones.

2.1 Anlisis de problemas


Definicin del problema: Esta fase est dada por el enunciado del problema, el
cual requiere una definicin clara y precisa. Es importante que se conozca lo que
se desea que realice la computadora; mientras esto no se conozca del todo no
tiene mucho caso continuar con la siguiente etapa.

Anlisis del problema: Una vez que se ha comprendido lo que se desea de la
computadora, es necesario definir:
Los datos de entrada.
Cul es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para procesar los datos.

Una recomendacin muy practica es el que nos pongamos en el lugar de la
computadora y analicemos que es lo que necesitamos que nos ordenen y en que
secuencia para producir los resultados esperados.


2.2 Representacin de algoritmos: grfica y pseudocdigo.


Lenguajes Algortmicos

Es una serie de smbolos y reglas que se utilizan para describir de manera
explcita un proceso.
Tipos de Lenguajes Algortmicos
Grficos: Es la representacin grfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
No Grficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).







Las caractersticas de un buen algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayora de las variantes que se
puedan presentar en la definicin del problema.
Debe ser finito en tamao y tiempo de ejecucin.


Las dos herramientas utilizadas comnmente para disear algoritmos son:
Diagrama de Flujo
Pseuducodigo

Diagrama de Flujo

Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin
se puede decir que es la representacin detallada en forma grfica de cmo deben
realizarse los pasos en la computadora para producir resultados.
Esta representacin grfica se da cuando varios smbolos (que indican
diferentes procesos en la computadora), se relacionan entre s mediante lneas
que indican el orden en que se deben ejecutar los procesos.
Los smbolos utilizados han sido normalizados por el instituto
norteamericano de normalizacin (ANSI).


SMBOLO DESCRIPCIN

Indica el inicio y el final de nuestro
Diagrama de flujo.

Indica la entrada y salida de datos.

Smbolo de proceso y nos indica la
Asignacin de un valor en la memoria y/o
la ejecucin de una operacin aritmtica.



Smbolo de decisin indica la realizacin
de una comparacin de valores.


Se utiliza para representar los
Subprogramas.



Conector dentro de pgina. Representa la
continuidad del diagrama dentro de la
Misma pgina.



Conector fuera de pgina. Representa la
continuidad del diagrama en otra pgina.


Indica la salida de informacin por
impresora.




Indica la salida de informacin en la
pantalla o monitor.


Lneas de flujo o direccin. Indican la
secuencia en que se realizan las
operaciones.




Recomendaciones para el diseo de Diagramas de Flujo
Se deben se usar solamente lneas de flujo horizontales y/o verticales.
Se debe evitar el cruce de lneas utilizando los conectores.
Se deben usar conectores solo cuando sea necesario.
No deben quedar lneas de flujo son conectar.
Se deben trazar los smbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha.
Todo texto escrito dentro de un smbolo deber ser escrito claramente,
evitando el uso de muchas palabras.


Pseudocodigo

Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro
idioma) que se emplea, dentro de la programacin estructurada, para realizar el
diseo de un programa. En esencial, el pseudocodigo se puede definir como un
lenguaje de especificaciones de algoritmos.
Es la representacin narrativa de los pasos que debe seguir un algoritmo
para dar solucin a un problema determinado. El pseudocdigo utiliza palabras
que indican el proceso a realizar.

Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo
Ocupa menos espacio en una hoja de papel
Permite representar en forma fcil operaciones repetitivas complejas
Es muy fcil pasar de pseudocdigo a un programa en algn lenguaje de
programacin.
Si se siguen las reglas se puede observar claramente los niveles que tiene
cada operacin.


2.3 Diseo de algoritmos aplicados a problemas.


Problemas Secuenciales

1) Suponga que un individuo desea invertir su capital en un banco y desea saber
cunto dinero ganara despus de un mes si el banco paga a razn de 2%
mensual.
Inicio
Leer cap_inv
gan = cap_inv * 0.02
Imprimir gan
Fin

2) Un vendedor recibe un sueldo base ms un 10% extra por comisin de sus
ventas, el vendedor desea saber cunto dinero obtendr por concepto de
comisiones por las tres ventas que realiza en el mes y el total que recibir en el
mes tomando en cuenta su sueldo base y comisiones.
Inicio
Leer sb, v1, v2, v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
Imprimir tpag, com
Fin

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuanto deber pagar finalmente por su compra.
Inicio
Leer tc
d = tc * 0.15
tp = tc - d
Imprimir tp
Fin
4) Un alumno desea saber cul ser su calificacin final en la materia de
Algoritmos. Dicha calificacin se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificacin del examen final.
15% de la calificacin de un trabajo final.
Inicio
Leer c1, c2, c3, ef, tf
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = ef * 0.30
ptf = tf * 0.15
cf = ppar + pef + ptf
Imprimir cf
Fin


5) Un maestro desea saber qu porcentaje de hombres y que porcentaje de
mujeres hay en un grupo de estudiantes.
Inicio
Leer nh, nm
ta = nh + nm
ph = nh * 100 / ta
pm = nm * 100 / ta
Imprimir ph, pm
Fin

6) Realizar un algoritmo que calcule la edad de una persona.
Inicio
Leer fnac, fact
edad = fact - fnac
Imprimir edad
Fin.














Problemas Propuestos
1) Dada una cantidad en pesos, obtener la equivalencia en dlares, asumiendo
que la unidad cambiara es un dato desconocido.

2) Leer un numero y escribir el valor absoluto del mismo.

3) La presin, el volumen y la temperatura de una masa de aire se relacionan por
la formula:
Masa = (presin * volumen)/(0.37 * (temperatura + 460))

4) Calcular el nmero de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la formula es:
num. pulsaciones = (220 - edad)/10

5) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre
su salario anterior.

6) En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologa. El
presupuesto anual del hospital se reparte conforme a la sig. tabla:

rea Porcentaje del presupuesto
Ginecologa 40%
Traumatologa 30%
Pediatra 30%
Obtener la cantidad de dinero que recibir cada rea, para cualquier monto
presupuestal.

7) El dueo de una tienda compra un artculo a un precio determinado. Obtener el
precio en que lo debe vender para tener una ganancia del 30%.

8) Todos los lunes, mircoles y viernes, una persona corre la misma ruta y
cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona
tarda en recorrer la ruta en una semana cualquiera.

9) Tres personas deciden invertir su dinero para fundar una empresa. Cada una de
ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte
con respecto a la cantidad total invertida.

10) Un alumno desea saber cul ser su promedio general en las tres materias
ms difciles que cursa y cul ser el promedio que obtendr en cada una de ellas.
Estas materias se evalan como se muestra a continuacin:

ALGORITMOS SECUENCIALES

La calificacin de Matemticas se obtiene de la sig. manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidi un total de tres tareas.

La calificacin de Fsica se obtiene de la sig. manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidi un total de dos tareas.

La calificacin de Qumica se obtiene de la sig. manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidi un promedio de tres tareas.

11) Hacer un programa que muestre el promedio de 3 notas.

12) Hacer un programa que lea dos nmeros y sume sus elementos.

13) Elabore un programa que lea 2 nmeros enteros positivos y que muestre la suma
y la multiplicacin de estos.

14) Una persona recibe un prstamo de $100.00 de un banco y desea saber cunto
pagar de inters, si el banco le cobra una tasa del 2% mensual.

15) Calcula el precio de un boleto de viaje, tomando en cuenta el nmero de
kilmetros que se van a recorrer, siendo el precio S/.10.00 por Km.

16) Calcular el monto a pagar en una cabina de Internet si el costo por hora es de
S/.1.00 y por cada 5 horas te dan una hora de promocin gratis.

17) Calcular el cambio de monedas en dlares y euros al ingresar cierta cantidad en
soles. (tipo de cambio soles: 3.20, Euros: 4.10).

18) Calcular el descuento y el monto a pagar por un medicamento cualquiera en una
farmacia si todos los medicamentos tienen un descuento del 35%.

19) Calcular el nuevo salario de un empleado si obtuvo un incremento del 8% sobre
su salario actual.






20) En un hospital existen 3 reas: Urgencias, Pediatra y Traumatologa. El
presupuesto anual del hospital se reparte de la siguiente manera:


rea Presupuesto
Urgencias 37%
Pediatra 42%
Traumatologa 21%

Obtener la cantidad de dinero que recibir cada rea para cualquier monto
presupuestal.

21) Escriba un algoritmo que dada la cantidad de monedas de 1, 5, 10 soles, diga la
cantidad de dinero que se tiene en total.

22) Escriba un algoritmo que dado el nmero de horas trabajadas por un empleado y
el sueldo por hora, calcule el sueldo total de ese empleado. Tenga en cuenta que
las horas extras se pagan el doble.

23) Un constructor sabe que necesita 0,5 metros cbicos de arena por metro
cuadrado de revoque a realizar. Hacer un programa donde ingrese las medidas de
una pared (largo y alto) expresada en metros y obtenga la cantidad de arena
necesaria para revocarla.


24) Escriba un programa donde se ingrese el tiempo necesario para un cierto proceso
en horas, minutos y segundos. Se calcule el costo total del proceso sabiendo que
el costo por segundo es $0,25.


25) Calcular el nuevo salario de un empleado si se le descuenta el 20% de su salario
actual.

26) Leer dos nmeros y encontrar: La suma del doble del primero mas el cuadrado
del segundo. El promedio de sus cubos

27) Leer tres nmeros enteros de un Digito y almacenarlos en una sola variable que
contenga a esos tres dgitos Por ejemplo si A=5 y B=6 y C=2 entonces X=562.

28) Obtener la edad de una persona en meses, si se ingresa su edad en aos y
meses. Ejemplo: Ingresado 3 aos 4 meses debe mostrar 40 meses.

29) Suponga que un individuo desea invertir su capital en un banco y desea saber
cunto dinero ganar despus de un ao si el banco paga a razn de 5%
mensual.

30) Un vendedor recibe un sueldo base ms un 10% extra por comisin de sus
ventas, el vendedor desea saber cunto dinero obtendr por concepto de
comisiones por las tres ventas que realiza en el mes y el total que recibir en el
mes tomando en cuenta su sueldo base y comisiones.

31) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cunto deber pagar finalmente por su compra.

32) Un alumno desea saber cul ser su calificacin final en la materia de
Algoritmos. Dicha calificacin se compone de tres exmenes parciales.

33) Un maestro desea saber qu porcentaje de hombres y que porcentaje de mujeres
hay en un grupo de estudiantes.

34) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su
salario anterior.

35) Convertir una distancia en metros a pies y pulgadas.

36) Elevar al cubo un nmero.

37) Desplegar el peso dado en kilos de una persona en gramos, libras y toneladas.

38) Elabore un programa que lea 2 nmeros enteros positivos y que muestre la suma
y la multiplicacin de estos.

39) Elabore un programa que lea 3 nmeros enteros positivos y que muestre la suma,
la resta y la multiplicacin de todos. El resultado debe ser siempre positivo.

40) Elabore un programa que calcule la edad exacta de una persona.

41) Elabore un programa que permita ingresar le precio y la cantidad de un articulo a
comprar. Calcular el total a pagar. (Considerar el IGV 9%).

42) Calcular el promedio de 3 notas, si el promedio mayor que 10.5 mostrar
aprobado, caso contrario desaprobado. Pero si la nota es mayor que 16 redondear
su promedio final a 20.

43) Hacer un programa me permita calcular el salario de un trabajador, teniendo en
cuenta lo siguiente. AFP(S/.50), seguro social(S/.60).

44) Hacer un programa que me muestre la raz cuadrada de cualquier nmero
ingresado.

45) Hacer un programa que halle el rea de un crculo.



2.4 Diseo algortmico de funciones


Un problema complejo se puede dividir en pequeos subproblemas ms sencillos.
Estos subproblemas se conocen como Mdulos y su implementacin en un
lenguaje se llama subprograma (procedimientos y funciones).

Un subprograma realiza las mismas acciones que un programa, sin
embargo, un subprograma lo utiliza solamente un programa para un propsito
especifico.

Un subprograma recibe datos de un programa y le devuelve resultados (el
programa llama o invoca al subprograma, este ejecuta una tarea especfica y
devuelve el control al programa que lo llamo).


Funciones
Tipos de
Mdulos
Procedimientos


Funcin: Una funcin en matemticas, es una operacin que toma un o mas
valores (argumentos) y devuelve un resultado (valor de la funcin para los
argumentos dados). Por ejemplo:

F(X) = X / (1+X
2
)

Donde:
F .. Nombre de la funcin
X . Es el argumento (tambin conocido como parmetro formal)


Definicin de funciones: Una definicin de funcin se presenta de la siguiente
manera:

Funcin nombre_funcion (p1, p2, , pn)
Inicio
Bloque de instrucciones
Fin

Donde:
Funcin Es la palabra clave que nos indica una definicin de funcin.
Nombre_funcion .. Es el identificador con el cual se reconoce a la funcin
en el cuerpo del
algoritmo principal.
P1,p2,,pn ... Es el grupo de parmetros que define a la funcin.
Llamado a una funcin
Cuando definimos una funcin solo le indicamos al algoritmo que esta
funcin existe, pero una definicin de funcin no implica la realizacin de las
instrucciones que la constituyen. Para hacer uso de una funcin, el algoritmo
principal la debe llamar. Por ejemplo:

Funcin F(X)
Inicio
F = X /(1 + X^2)
Fin
Inicio
Imprimir Este es el algoritmo principal
Leer X
R = F(X) llamado de la funcin
Imprimir El resultado de la funcin es:,R
Fin


Un constructor sabe que necesita 0,5 metros cbicos de arena por metro cuadrado
de revoque a realizar. Hacer un programa donde ingrese las medidas de una
pared (largo y alto) expresada en metros y obtenga la cantidad de arena necesaria
para revocarla.

Funcin revoque(largo, alto)
Inicio
Arena=largo*alto
Retorna Arena
Fin

Funcion Imp_arena(Arena)
Inicio
Imprimir Arena
fin


Inicio
Leer largo, alto
Arena=revoque(largo, alto)
Imp_arena(Arena)
fin

Vous aimerez peut-être aussi