Vous êtes sur la page 1sur 50

Algoritmos (IN220)

Introduccin
Prof. Bethy De la Cerna G.
Copyright 2016

Agenda Semana 1
Presentacin del curso
Algoritmo, definicin y caractersticas
Ejemplos de diagramas de flujo
Ejemplos de pseudocdigo
Ejercicios

20/03/2016

Copyright 2016 BDC

Logros del curso


Al finalizar el curso, el estudiante desarrolla el razonamiento
lgico para la solucin de los diversos problemas planteados en
ingeniera aplicando herramientas de software para describir,
construir y evaluar algoritmos.
El estudiante de Ingeniera Industrial debe ser capaz de
identificar, explicar, analizar, evaluar y crear algoritmos para la
solucin de los problemas planteados en muchos cursos
generales y de especialidad, tales como Clculo, Estadstica
Aplicada, Investigacin de Operaciones, Simulacin de Sistemas,
Tecnologa y Automatizacin Industrial, etc., as como en su
carrera profesional.
20/03/2016

Copyright 2016 BDC

Unidades de aprendizaje
Unidad 1: Introduccin a los algoritmos (3 semanas)
o
o
o

Definicin y caractersticas de los algoritmos. Ejemplos.


Representacin de algoritmos con diagramas de flujo y seudocdigos.
Uso bsico de MS Excel para la solucin de problemas de ingeniera.

Unidad 2: Estructuras bsicas de programacin (4 semanas)


o
o
o
o
o

Introduccin a la programacin en VBA: Declaracin de variables y


constantes, asignacin de valores, operadores, funciones incorporadas.
Entrada y salida simple de datos con celdas de Excel e instrucciones VBA.
Programacin de secuencias simples.
Instrucciones selectivas simples, dobles y mltiples.
Instrucciones repetitivas de entrada controlada, salida controlada y contador
implcito.

20/03/2016

Copyright 2016 BDC

Unidades de aprendizaje
Unidad 3: Estructuras de datos (3 semanas)
o

Almacenamiento y manejo de datos en estructuras unidimensionales


(vectores) y multidimensionales (matrices).

Unidad 4: Estructuras avanzadas de programacin (4 semanas)


o
o

Programacin estructurada. Subprogramas tipo procedimiento y tipo funcin.


Funciones definidas por el usuario en Excel.

Unidad 5: Aplicaciones en ciencias e ingeniera (1 semana)


o

Exposiciones de trabajos de investigacin

20/03/2016

Copyright 2016 BDC

Metodologa
Metodologa activa, con exposicin de los objetivos y aplicacin
de los conceptos y aprendizaje interactivo con ejemplos y casos
prcticos.
Prcticas de laboratorio con MS Excel y Visual Basic para
aplicaciones (aula de cmputo).
Trabajo de investigacin.
Examen parcial y final (aula convencional).

20/03/2016

Copyright 2016 BDC

Cronograma de evaluaciones
Evaluacin
LB1
LB2

Semana
3
6

Tipo
Individual
Individual

Unidades
1
1, 2

%
7.5
7.5

Recuperable
No
No

EA
LB3
LB4

8
11
14

Individual
Individual
Individual

1, 2
13
14

20
7.5
7.5

S
No
No

TF
EB

15
16

Grupal
Individual

15
15

20
30

No
S

20/03/2016

Copyright 2016 BDC

Bonificacin!
El estudiante tendr la oportunidad de ganar hasta 3 puntos extra
para cada uno de los laboratorios calificados.
Los puntos extra solo se asignan por trabajo en el aula, no con
tareas para la casa.
La nica tarea para la casa es el trabajo de investigacin grupal.
Los puntos extra no son transferibles.
Si el estudiante tiene 20 o no di la prctica correspondiente, los
puntos extra sern cancelados.

20/03/2016

Copyright 2016 BDC

Normas y recomendaciones
Las clases comienzan y terminan puntualmente.
La asistencia se tomar en cualquier momento a partir de
los 10 primeros minutos iniciales.
El alumno que abandone la clase injustificadamente ser
registrado como ausente, aunque haya estado desde el
inicio de la clase.
No se elimina, ni duplica ninguna nota.

Evite distracciones, haga los ejercicios y practique


constantemente.
Cualquier tipo de ayuda al alumno, se brinda a lo largo del
ciclo, no durante la entrega de notas.
20/03/2016

Copyright 2016 BDC

Frase del da

Aprender es como remar contra corriente:


en cuanto se deja de remar, se retrocede
Edward Benjamin Britten,
compositor y pianista britnico
(1913 1996)

20/03/2016

Copyright 2016 BDC

10

Por qu usar computadoras?


Caractersticas

Resultados

o Alta velocidad
o Confiables
o Verstiles
o Capacidad de
almacenamiento

Facilita la
toma de
desiciones

Permite la
reduccin
de costos

Incrementa la
productividad

20/03/2016

Copyright 2016 BDC

11

Cunto han progresado las computadoras?

Evolucin de la velocidad de clculo y nmero de transistores en los microprocesadores


20/03/2016

Copyright 2016 BDC

12

Dnde encontramos computadoras?


Negocios
Oficinas
Bibliotecas
Bancos
Instituciones privadas
Instituciones pblicas
Instituciones educativas
Lugares de ocio y esparcimiento
Vida cotidiana
20/03/2016

Copyright 2016 BDC

13

Relacin entre la informtica y los negocios

Objetivos y
Estrategia

Social

Datos e
informacin

Sistemas
de
Informacin

Poltico

Laboral

Directivos y
Empleados

Econmico

Procesos de
Negocio

20/03/2016

Ecolgico

Copyright 2016 BDC

Tecnolgico

14

Soporte en procesos de negocios


ERP, BPM
Automatizacin de procesos
e-CRM
e-Supply
e-Procurement
e-Business
e-Banking
Teletrabajo
Intranet
20/03/2016

Copyright 2016 BDC

15

Acciones estratgicas para lograr ventaja


competitiva mediante las TIC
Reducir costos
Crear barreras de
ingreso

Comprometer a
proveedores y
compradores

Establecer
alianzas
20/03/2016

Empresa

Innovar el
producto o
servicio

Diferenciar el
producto o servicio
Copyright 2016 BDC

16

Recursos

Datos
20/03/2016

Proceso

Proceso
Copyright 2016 BDC

Producto

OUTPUT

INPUT

Procesamiento de datos

Informacin
17

Algoritmos
Un algoritmo es un mtodo usado para resolver un
problema usando una secuencia finita de
instrucciones.
En el ao 825, el matemtico, astrnomo y gegrafo
persa Al-Khwrizm escribi un tratado en rabe
Sobre los clculos con el sistema de numeracin
indo-arbigo. Posteriormente (S. XII), la obra fue
traducida al latn como Algoritmi, de donde se deriv
la palabra algoritmo.
Se pueden representar mediante:

Muhammad ibn
Ms al-Khwrizm

Diagramas de flujo o
Pseudocdigos.
20/03/2016

Copyright 2016 BDC

18

Algoritmos
En matemticas, lgica, ciencias de la computacin, ingeniera y
disciplinas relacionadas, un algoritmo se refiere a un conjunto
prescrito de instrucciones bien definidas, ordenadas y finitas que
permite realizar una actividad mediante pasos sucesivos que no
generen dudas a quienes tienen que realizar dicha actividad.
Existen algoritmos que realizan clculos, procesamiento de datos, y
razonamiento automatizado.
En informtica y automtica, los algoritmos representan la parte
pensante del computador y se emplean actualmente en diversas de
tareas como la encriptacin de datos, bsqueda de informacin,
control y supervisin de procesos industriales, y muchas otras.
20/03/2016

Copyright 2016 BDC

19

Caractersticas de un algoritmo
Debe ser preciso. Se debe indicar la
secuencia de realizacin de las
instrucciones.
Debe ser definido. Cada vez que se sigue
un algoritmo, se debe obtener el mismo
resultado.
Debe ser finito. Si se sigue un algoritmo,
se debe terminar en algn momento, es
decir, debe tener un nmero finito de
pasos.
20/03/2016

Copyright 2016 BDC

20

Esquema de un algoritmo
1. Se identifican los datos requeridos para resolver el problema. Estos
pueden ser: nmeros, textos, fechas, etc. y pueden ser
mencionados de manera explcita o implcita en el enunciado del
problema a resolver.
2. Se identifica en forma clara de la respuesta solicitada, pudiendo ser
ms de una (independientes o relacionadas).
3. Se determina la operacin o instrucciones que permitirn resolver
el problema.
4. Se muestra la respuesta o respuestas solicitada.

20/03/2016

Copyright 2016 BDC

21

Ejemplo 1

Datos
requeridos
Respuesta
solicitada
Instrucciones

Elabore un algoritmo que permita evaluar cul


de dos personas tiene la mayor edad, si se
conocen las edades de stas.
1. Los datos son mencionados de manera
explcita en el problema: Edad1 y Edad2
2. Hallar la mayor edad.
3. Instrucciones:
1.
2.

Mostrar
respuesta
20/03/2016

Si Edad1 >= Edad2 Entonces Mayor = Edad1


Si Edad2 >= Edad1 Entonces Mayor = Edad2

4. Mostrar: Mayor
Copyright 2016 BDC

22

Ejemplo 2

Datos
requeridos
Respuesta
solicitada
Instrucciones
Mostrar
respuesta

20/03/2016

Elabore un algoritmo que permita resolver una ecuacin


cuadrtica ( 2 + + = 0).
1. Se deducen que los datos son los coeficientes de la
ecuacin cuadrtica: , y .
2. Determinar las dos races de la ecuacin: 1, 2
3. Si las races son reales, aplicar la frmula:
2 4
1, 2 =
2
4. Mostrar: 1, 2

Copyright 2016 BDC

23

Representacin de un algoritmo
Antes de disear un algoritmo es importante
entender primero cul es el problema.
Los algoritmos pueden disearse de diversas
maneras:
o
o

Diagrama de flujo. Sirve para representar en


forma grfica el algoritmo.
Pseudocdigo. Sirve para representar el
algoritmo en forma textual, para lectura
humana (a diferencia de un lenguaje de
programacin o cdigo de mquina).
Diagrama NS (Nassi-Shneiderman). Combina la
representacin grfica con el pseudocdigo.

20/03/2016

Copyright 2016 BDC

24

Diagrama de flujo
Smbolos bsicos:

Decisin (condicin lgica)

Salida de informacin

Conectores

Flujo de informacin

Inicio/Fin

Ingreso de datos

Proceso
(actividad/instruccin)

20/03/2016

Copyright 2016 BDC

25

Pseudocdigo
Es la descripcin de un algoritmo diseado para la lectura
humana (en lenguaje comn), no para el computador
(lenguaje de programacin o cdigo de mquina).
El pseudocdigo es independiente del lenguaje de
programacin en el que se programar (p.ej. Visual Basic,
C++, Java).
Omite detalles particulares del lenguaje de programacin
tales como: sintaxis rgida, declaracin estricta de variables y
constantes, operadores expecficos, etc.
20/03/2016

Copyright 2016 BDC

26

Diagramas Nassi-Shneiderman (NS)


El diagrama NS es una representacin
grfica que muestra el diseo de un
programa estructurado.
Fue desarrollado en 1972 por Isaac
Nassi y Ben Shneiderman. Este
diagrama tambin es conocido como
estructograma, ya que sirve para
representar la estructura de los
programas. Combina la descripcin
textual del pseudocdigo con la
representacin grfica del diagrama de
flujo.
20/03/2016

Copyright 2016 BDC

27

Ejemplo 1
Elabore el algoritmo permita calcular el rea de un tringulo.
Represente el diagrama de flujo y pseudocdigo del algoritmo.

Altura (H)
rea (A)

Base (B)

20/03/2016

Copyright 2016 BDC

28

Solucin
Debe identificarse primero los datos de entrada del problema,
luego el proceso a seguir y el resultado a mostrar.

20/03/2016

Datos de entrada

Proceso

Informacin de salida

Dimensiones (B, H)

=
2

rea (A)

Copyright 2016 BDC

29

Inicio

Diagrama de flujo
La condicin sirve
para validar los
datos ingresados

B, H

B >0
y
H>0

A (B * H) / 2

No
Datos
errados

Fin
20/03/2016

Copyright 2016 BDC

30

Pseudocdigo
Inicio
Ingresar B, H
Si (B > 0 y H > 0) Entonces
A (B * H) / 2
Mostrar A
De otro modo
Mostrar Datos errados
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

La flecha indica el
sentido de
asignacin de
valores

Para mostrar un
texto se emplean
comillas

31

Ejemplo 2
Desarrolle un algoritmo que calcule el rea total de un cilindro.

Radio (R)
rea (A)

20/03/2016

Copyright 2016 BDC

32

Solucin
Se identifica como nico dato de entrada el radio del crculo.
Para el proceso debe definirse la constante Pi ()

Datos de entrada

Radio (R)

20/03/2016

Proceso

= 3.14159265
= 2
= 2

Copyright 2016 BDC

Informacin de salida

rea (A)
Longitud (L)

33

Inicio

Diagrama de flujo

R>0

Pi 3.14159265
A Pi * R^2
L 2 * Pi * R

No

Dato errado

A, L

Fin

20/03/2016

Copyright 2016 BDC

34

Pseudocdigo
Inicio
Ingresar R
Si R > 0 Entonces
Pi 3.14159265
A Pi * R^2
L 2 * Pi * R
Mostrar A, L
De otro modo
Mostrar Dato errado
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

Note los
operadores
matemticos

35

Ejemplo 3
Desarrolle un algoritmo que calcule el rea total de un cilindro.

20/03/2016

Copyright 2016 BDC

36

Solucin
Se identifica como datos de entrada el radio y altura del
cilindro. El rea total se calcula como la suma del rea lateral y
dos veces el rea de la base.

Datos de entrada

Radio (R)
Altura (H)

20/03/2016

Proceso

= 3.14159265
= 2
= 2
= + 2
Copyright 2016 BDC

Informacin de salida

rea total (AT)

37

Pseudocdigo
Inicio
Leer H, R
Pi 3.14159265
Si H > 0 y R > 0 Entonces
A_Base Pi * R^2
A_Lat 2 * Pi * R * H
A_Tot 2 * A_Base + A_Lat
Mostrar A_Tot
De otro modo
Mostrar Datos errados
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

Los nombres de
variables no
pueden contener
espacios

38

Ejemplo 4
Elabore un algoritmo que permita calcular el
promedio de notas de un alumno.
Los pesos de las notas son:
Evaluacin continua (50%)
Examen Parcial (20%)
Examen Final (30%)

20/03/2016

Copyright 2016 BDC

39

Pseudocdigo
Inicio
Ingresar EC, EP, EF
Si (EC >= 0 y EC <=20) y (EP >= 0 y EP<=20) y
(EF >= 0 y EF <=20) Entonces
Prom EC * 0.5 + EP * 0.2 + EF * 0.3
Mostrar Prom
De otro modo
Mostrar Datos errados
Fin de Si
Fin

20/03/2016

Copyright 2016 BDC

Se validan las notas


ingresadas

40

Ejemplo 5
Elabore un algoritmo que intercambie los valores de
dos variables (A debe tomar el valor de B y B debe
tomar el valor de A).

20/03/2016

Copyright 2016 BDC

41

Pseudocdigo
Inicio

Ingresar A, B

Se ingresan las dos variables

Temp A

Se guarda una de ellas en


una variable temporal

AB

La primera variable recibe


el valor de la segunda

B Temp

La segunda variable recupera


el valor almacenado en la
variable temporal

Mostrar A, B

Se muestran los nuevos


valores de las variables

1
Temp

Fin
20/03/2016

Copyright 2016 BDC

42

Ejemplo 6
Desarrolle un algoritmo que permita calcular el
monto a cobrar por la venta de un artculo.

20/03/2016

Copyright 2016 BDC

43

Pseudocdigo
Inicio
Ingresar Pu, Cant
Si Pu > 0 y Cant > 0 Entonces
Total Pu * Cant
Mostrar Total
Sino
Mostrar Datos errados
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

Se ingresa el precio unitario y la


cantidad
Se validan los datos ingresados
Se calcula y muestra
el total a pagar

En caso de error se muestra el


mensaje correspondiente

44

Ejemplo 7
Desarrolle un algoritmo que permita calcular cul es
el mayor de dos datos ingresados.

20/03/2016

Copyright 2016 BDC

45

Pseudocdigo
Inicio
Ingresar X, Y
Si X >= Y Entonces
Mayor = X
De otro modo
Mayor = Y
Fin de Si
Mostrar Mayor
Fin
20/03/2016

Otra solucin:
Si X>= Y entonces Mayor = X
Si Y>= X entonces Mayor = Y

Copyright 2016 BDC

46

Ejercicio 1: Notas
Ingrese dos notas de un alumno, calcule su promedio y
mustrelo
Si el promedio es aprobado, muestre el mensaje
Felicitaciones, en caso contrario muestre Estudie ms.
No olvide validar los datos ingresados.

20/03/2016

Copyright 2016 BDC

47

Ejercicio 2: Sueldo
Ingrese el sueldo bruto y los aos de servicio de un
empleado.
Calcule el sueldo neto a pagarle considerando que si tiene
hasta 8 aos se le otorga una bonificacin de 12% sobre el
sueldo bruto, y 15% en caso contrario.

20/03/2016

Copyright 2016 BDC

48

Ejercicio 3: Tringulo
Dados 3 nmeros determine lo siguente:
Si son o no los lados de un tringulo. Es decir, verificar para
los 3 nmeros, que cualquiera de ellos debe ser menor que
la suma de los otros 2, pero mayor que su diferencia.
Si se trata de un tringulo, identificar si:
o Es

equiltero (3 lados iguales),


o Es issceles (2 lados iguales) o
o Es escaleno (3 lados diferentes)
20/03/2016

Copyright 2016 BDC

49

Ejercicio 4: Billetes y monedas


Ingrese una cifra cualquiera en soles e indique la menor
cantidad de billetes y monedas para dicha suma.
Ejemplo: S/. 3,178 =
15 billetes de S/. 200
o 1 billete de S/. 100
o 1 billete de S/. 50
o 1 billete de S/. 20
o 0 billetes de S/. 10
o 1 moneda de S/. 5
o 0 monedas de S/. 2
o 1 moneda de S/. 1
o

20/03/2016

Copyright 2016 BDC

50

Vous aimerez peut-être aussi