Está en la página 1de 109

FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA Y COMPUTACIÓN

Algoritmia y Programación
ALGORITMIA Y PROGRAMACIÓN

Luis Yovany Romo Portilla


Lunes :
2:00 P.M – 5:00 P.M – Ed. 331 Sala 2 – Grupo 12
CAMPUS VIRTUAL

EISC
Universidad del Valle - Algoritmia y Programación Slide 3
AGENDA

 Presentación del curso.


 Conceptos Preliminares.
 Metodología para resolver problemas.
 Planteamiento del problema.
 Análisis del problema.
• Definición de Datos de Entrada
• Definición de datos de Salida
• Definición del Proceso
 Diseño de Algoritmo y Escritura en Pseudocódigo
 Pruebas de escritorio
 Codificación del algoritmo en un lenguaje de programación.
 Realizar pruebas al algoritmo implementado.

EISC
Universidad del Valle - Algoritmia y Programación Slide 4
ALGORITMIA Y PROGRAMACIÓN
 INFORMACION GENERAL

Código: 750001M

Créditos: 3

Intensidad Horaria : 3 horas teórica-Practicas

Habilitable : No

Validable : Si

Prerrequisitos : ITI

EISC
Universidad del Valle - Algoritmia y Programación Slide 5
ALGORITMIA Y PROGRAMACIÓN
 OBJETIVO GENERAL

Capacitar al estudiante en la solución de


problemas mediante su análisis,
desarrollo y diseño de algoritmos
estructurados y su implementación en el
computador mediante un lenguaje de
programación.

EISC
Universidad del Valle - Algoritmia y Programación Slide 6
ALGORITMIA Y PROGRAMACIÓN
CONTENIDO

1. Metodología para resolver problemas usando algoritmos


2. Introducción al lenguaje de programación
3. Estructuras de decisión
4. Funciones y métodos
5. Estructuras iterativas.
6. Diseño de interfaces gráficas
7. Arreglos
8. Matrices

EISC
Universidad del Valle - Algoritmia y Programación Slide 7
ALGORITMIA Y PROGRAMACIÓN
METODOLOGÍA

 Clases teórico - practicas


 Laboratorios (5)
 Mini proyecto
 Material Guía

EISC
Universidad del Valle - Algoritmia y Programación Slide 8
ALGORITMIA Y PROGRAMACIÓN
EVALUACIÓN
 Examen Parcial 1 25%
• Lunes 9 de Abril
 Examen Parcial 2 25%
• Lunes 28 de Mayo.
 Laboratorios (5) 30%
 Miniproyecto 20%
• Planteamiento del problema
• GUI y Pseudocódigo
• Versión final y sustentación
 Opcionales
• 1 – Sábado 21 de Abril (2:00 P.M)
• 2 – Sábado 9 de Junio (2:00 P.M)

EISC
Universidad del Valle - Algoritmia y Programación Slide 9
ALGORITMIA Y PROGRAMACIÓN
PLANEACIÓN
SEM. FECHA TEMA
Metodología para resolver problemas usando
1 5 Febrero
Algoritmos

2 12 Febrero Introducción al lenguaje de programación – Lab 1

3 19 Febrero Estructuras de decisión

4 26 Febrero Funciones - Lab 2

5 5 Marzo Estructuras de Repetición - I

6 12 Marzo Estructuras de Repetición – II – Lab 3

7 19 Marzo Festivo
8 26 Marzo Semana Santa
EISC
Universidad del Valle - Algoritmia y Programación Slide 10
ALGORITMIA Y PROGRAMACIÓN
PLANEACIÓN
SEMANA FECHA TEMA
9 2 Abril Repaso – Preparación para Parcial 1

10 9 Abril Parcial 1

11 16 Abril Arreglos – Vectores

11 21 Abril – Sábado Opcional No. 1 – Sábado

12 23 Abril Arreglos – Matrices – Lab 4

13 30 Abril GUI

14 7 Mayo GUI – Lab 5

15 14 Mayo Festivo

16 21 Mayo Repaso – Preparación para examen

17 28 Mayo Parcial No. 2

18 4 Junio Festivo

18 9 Junio Opcional No. 2

EISC
Universidad del Valle - Algoritmia y Programación Slide 11
ALGORITMIA Y PROGRAMACIÓN
BIBLIOGRAFÍA
 [DD98]H.M.DeitelyP.J.Deitel.CómoprogramarenJava.PearsonEducación,
1998.
 [DD00]Deitel,HM.,Deitel,P.J.HowtoProgramJava.3aEdición.PrenticeHall,
2000.
 [Jav01]JavaWorld.http://www.javaworld.com.2001
 [HS01]HerbertSchildt,Java2–Manualdereferencia,4a.Edición,Osborne-
McGrawHill,2002.
 [Sun03]SunMicrosystems.DocumentacióndeJava1.4http://java.sun.com/j
2se/1.4/download.htm
 [Sun03]SunMicrosystems.TutorialdeJava.
 [FA00]Froufe,Agustin.Java2ManualdeusuarioyTutorial,2a.Edición,de.Alfa
Omega2000
 [CF00]Ceballos,Francisco,Java2CursodeProgramación.AlfaOmegaRam
a,2000.

EISC
Universidad del Valle - Algoritmia y Programación Slide 12
CONCEPTOS PRELIMINARES

¿Qué es un algoritmo?
CONCEPTOS PRELIMINARES
 Algoritmo

Según la Real Academia de la Lengua Española:

“Conjunto ordenado y finito de operaciones que permite


hallar la solución de un problema”

Se puede definir un algoritmo como una secuencia de


pasos lógicos y ordenados con las cuales se puede dar
solución a un problema determinado.

EISC
Universidad del Valle - Algoritmia y Programación Slide 14
CONCEPTOS PRELIMINARES
 Un problema es una cuestión que hay que aclarar.

EISC
Universidad del Valle - Algoritmia y Programación Slide 15
CONCEPTOS PRELIMINARES
 Un problema es una cuestión que hay que aclarar.

 Para solucionar un problema se debe identificar como tal,


debemos realizar una serie de acciones para encontrarle
una solución y describir dicha solución de la forma más
clara posible para que los otros la entiendan.

EISC
Universidad del Valle - Algoritmia y Programación Slide 16
CONCEPTOS PRELIMINARES
 Un problema es una cuestión que hay que aclarar.

 Para solucionar un problema este se debe identificar como


tal, debemos realizar una serie de acciones para
encontrarle una solución y describir dicha solución de la
forma más clara posible para que los otros la entiendan.

 Para un problema pueden existir diferentes maneras de


expresar una solución y por lo tanto diferentes
algoritmos.

EISC
Universidad del Valle - Algoritmia y Programación Slide 17
CONCEPTOS PRELIMINARES
 Ejercicio: ¿Que procedimiento seguiría para solucionar el
laberinto?

EISC
Universidad del Valle - Algoritmia y Programación Slide 18
CONCEPTOS PRELIMINARES
 Ejercicio: ¿Que procedimiento seguiría para solucionar el
laberinto?

EISC
Universidad del Valle - Algoritmia y Programación Slide 19
CONCEPTOS PRELIMINARES
 Ejercicio: En un estante de una biblioteca se han colocado
en forma ordenada los tres tomos de la Divina Comedia,
cada uno de los cuales tiene 100 hojas. Una polilla empezó
por taladrar la primera hoja del primer tomo y prosiguió
horizontalmente en el mismo sentido, terminó su tarea con
la última hoja del último tomo.
¿Cuántas hojas taladró la polilla?

I II III

EISC
Universidad del Valle - Algoritmia y Programación Slide 20
CONCEPTOS PRELIMINARES
 Ejercicio: Dos profesores pasean charlando de sus
respectivas familias.

A: Por cierto – Pregunta A a B- “¿que edad tienen tus tres


hijas?”.

B: El colega responde: “el producto de sus edades es 36 y su


suma casualmente , es igual al número de tu casa”. … Tras
pensar un rato,

A: dice: “me falta un dato”.

B: Así que el colega responde “ … humm es verdad, se me


había olvidado aclararte que la mayor toca el piano”.

¿Cuáles son las edades de las tres hijas?

EISC
Universidad del Valle - Algoritmia y Programación Slide 21
SOLUCIÓN DE PROBLEMAS
 Por ejemplo: Observemos el siguiente problema a resolver:

Vamos a visitar a una amiga que vive en un conjunto


residencial. En este conjunto hay un sistema de citofonía
que permite abrir la puerta principal de los apartamentos,
no hay portería y hemos olvidado en que bloque y piso
vive.

¿Cómo encontramos el apartamento de nuestra amiga?


¿Qué solución plantean ustedes?

101 102 103


201 202 203
301 302 303

EISC
Universidad del Valle - Algoritmia y Programación Slide 22
SOLUCIÓN DE PROBLEMAS
Existen distintas estrategias para la Solución de
problemas:

o La búsqueda de Solución al Azar es la más sencilla,


básicamente corresponde a ensayar una solución al
azar(aleatoriamente) y probar si ésta es correcta. El
proceso se realiza hasta que se encuentra una respuesta
correcta.

EISC
Universidad del Valle - Algoritmia y Programación Slide 23
SOLUCIÓN DE PROBLEMAS
Existen distintas estrategias para la Solución de
problemas:

o La búsqueda de Solución al Azar es la más sencilla,


básicamente corresponde a ensayar una solución al
azar(aleatoriamente) y probar si ésta es correcta. El
proceso se realiza hasta que se encuentra una respuesta
correcta.

o La búsqueda de Solución Heurística consiste en aplicar


experiencias y conocimientos previos sobre el problema,
para encontrar una solución.

EISC
Universidad del Valle - Algoritmia y Programación Slide 24
SOLUCIÓN DE PROBLEMAS
Existen distintas estrategias para la Solución de
problemas:

o La búsqueda de Solución al Azar es la más sencilla,


básicamente corresponde a ensayar una solución al
azar(aleatoriamente) y probar si ésta es correcta. El
proceso se realiza hasta que se encuentra una respuesta
correcta.

o La búsqueda de Solución Heurística consiste en aplicar


experiencias y conocimientos previos sobre el problema,
para encontrar una solución.

o La búsqueda de Solución Algorítmica define una serie de


pasos ordenados que nos permitirán llegar a la solución.

EISC
Universidad del Valle - Algoritmia y Programación Slide 25
CONCEPTOS PRELIMINARES
 Conclusiones:

o No siempre la primera solución en la que se piensa es la


correcta o la más acertada.

EISC
Universidad del Valle - Algoritmia y Programación Slide 26
CONCEPTOS PRELIMINARES
 Conclusiones:

o No siempre la primera solución en la que se piensa es la


correcta o la más acertada.

o Cuando se plantea un problema es posible que algunas


consideraciones necesarias para platear la solución no
estén suficientemente claras. Por ello una de las tareas
iniciales en la solución de un problema, es añadir supuestos
que delimiten y contextualicen claramente el problema a
resolver.

EISC
Universidad del Valle - Algoritmia y Programación Slide 27
CONCEPTOS PRELIMINARES
 Conclusiones:

o No siempre la primera solución en la que se piensa es la


correcta o la más acertada.

o Cuando se plantea un problema es posible que algunas


consideraciones necesarias para platear la solución no
estén suficientemente claras. Por ello una de las tareas
iniciales en la solución de un problema, es añadir supuestos
que delimiten y contextualicen claramente el problema a
resolver.

o Se debe tener muy claro el problema que se va a resolver y


esto tal vez involucre hacer una pequeña investigación
relacionada con el problema.

EISC
Universidad del Valle - Algoritmia y Programación Slide 28
CONCEPTOS PRELIMINARES

 Ejercicios:

¿Cuál es el algoritmo para cambiar un bombillo que ya no enciende?

¿Cuál es el algoritmo para cambiar una llanta que se ha pinchado?

EISC
Universidad del Valle - Algoritmia y Programación Slide 29
CONCEPTOS PRELIMINARES
 Características de los algoritmos:

1. Un algoritmo debe ser preciso e indicar el orden de


realización de cada paso.

2. Un algoritmo debe estar bien definido. Si se sigue el


algoritmo dos veces, con los mismos datos de entrada, se
debe obtener el mismo resultado cada vez.

3. Un algoritmo debe ser finito. Si se sigue el algoritmo, se


debe terminar en algún momento, o sea debe tener un
número finito de pasos.

EISC
Universidad del Valle - Algoritmia y Programación Slide 30
CONCEPTOS PRELIMINARES
 Características de los algoritmos:

1. Un algoritmo debe ser preciso e indicar el orden de


realización de cada paso.

2. Un algoritmo debe estar bien definido. Si se sigue el


algoritmo dos veces, con los mismos datos de entrada, se
debe obtener el mismo resultado cada vez.

3. Un algoritmo debe ser finito. Si se sigue el algoritmo, se


debe terminar en algún momento, o sea debe tener un
número finito de pasos.

EISC
Universidad del Valle - Algoritmia y Programación Slide 31
CONCEPTOS PRELIMINARES
 Características de los algoritmos:

1. Un algoritmo debe ser preciso e indicar el orden de


realización de cada paso.

2. Un algoritmo debe estar bien definido. Si se sigue el


algoritmo dos veces, con los mismos datos de entrada, se
debe obtener el mismo resultado cada vez.

3. Un algoritmo debe ser finito. Si se sigue el algoritmo, se


debe terminar en algún momento, o sea debe tener un
número finito de pasos.

EISC
Universidad del Valle - Algoritmia y Programación Slide 32
CONCEPTOS PRELIMINARES
 Componentes de un algoritmo

Entrada Proceso Salida

EISC
Universidad del Valle - Algoritmia y Programación Slide 33
CONCEPTOS PRELIMINARES
 Componentes de un algoritmo

Entrada Proceso Salida

Siempre que se diseña un algoritmo se deben verificar


estos componentes

EISC
Universidad del Valle - Algoritmia y Programación Slide 34
METODOLOGÍA
 Pasos que debemos seguir para resolver cualquier
problema usando algoritmos

1. Análisis del problema

EISC
Universidad del Valle - Algoritmia y Programación Slide 35
METODOLOGÍA
 Pasos que debemos seguir para resolver cualquier
problema usando algoritmos

1. Análisis del problema


2. Diseñar el algoritmo y escribirlo en pseudocódigo

EISC
Universidad del Valle - Algoritmia y Programación Slide 36
METODOLOGÍA
 Pasos que debemos seguir para resolver cualquier
problema usando algoritmos

1. Análisis del problema


2. Diseñar el algoritmo y escribirlo en pseudocódigo
3. Realizar una prueba de escritorio para el algoritmo

EISC
Universidad del Valle - Algoritmia y Programación Slide 37
METODOLOGÍA
 Pasos que debemos seguir para resolver cualquier
problema usando algoritmos

1. Análisis del problema


2. Diseñar el algoritmo y escribirlo en pseudocódigo
3. Realizar una prueba de escritorio para el algoritmo
4. Codificar el algoritmo usando algún lenguaje de
programación

EISC
Universidad del Valle - Algoritmia y Programación Slide 38
METODOLOGÍA
 Pasos que debemos seguir para resolver cualquier
problema usando algoritmos

1. Análisis del problema


2. Diseñar el algoritmo y escribirlo en pseudocódigo
3. Realizar una prueba de escritorio para el algoritmo
4. Codificar el algoritmo usando algún lenguaje de
programación
5. Probar el algoritmo implementado

EISC
Universidad del Valle - Algoritmia y Programación Slide 39
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura.

EISC
Universidad del Valle - Algoritmia y Programación Slide 40
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura.

1. Análisis del problema


 Definir el problema con precisión

EISC
Universidad del Valle - Algoritmia y Programación Slide 41
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema


 Definir el problema con precisión
 Identificar los datos de entrada

Entrada
?

EISC
Universidad del Valle - Algoritmia y Programación Slide 42
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema


 Definir el problema con precisión
 Identificar los datos de entrada
 Identificar los datos de salida

Entrada Salida
? ?

EISC
Universidad del Valle - Algoritmia y Programación Slide 43
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema


 Definir el problema con precisión
 Identificar los datos de entrada
 Identificar los datos de salida
 Identificar como transformar los datos de entrada en la
salida

Entrada Proceso Salida


? ? ?

EISC
Universidad del Valle - Algoritmia y Programación Slide 44
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

 Entradas: La base y la altura

b
EISC
Universidad del Valle - Algoritmia y Programación Slide 45
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

 Salidas: El área del triángulo

area

EISC
Universidad del Valle - Algoritmia y Programación Slide 46
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

 Proceso: Formula para transformar la entrada(s) en la


salida(s)

area = (base * altura ) / 2


h

b
EISC
Universidad del Valle - Algoritmia y Programación Slide 47
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

Al conjunto de entradas y salidas se les conoce como las


variables del algoritmo

 Variables
base, altura
area

EISC
Universidad del Valle - Algoritmia y Programación Slide 48
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

Las variables pueden ser numéricas (entero, real) o


también pueden contener texto

 Variables
base, altura: ?
area: ?

EISC
Universidad del Valle - Algoritmia y Programación Slide 49
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

Las variables pueden ser numéricas (entero, real) o


también pueden contener texto

 Variables
base, altura: real
area: ?

EISC
Universidad del Valle - Algoritmia y Programación Slide 50
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

1. Análisis del problema

Las variables pueden ser numéricas (entero, real) o


también pueden contener texto

 Variables
base, altura: real
area: real

EISC
Universidad del Valle - Algoritmia y Programación Slide 51
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo

El pseudocódigo es utilizado para describir algoritmos en


un lenguaje humano simplificado que no es dependiente
de ningún lenguaje de programación

EISC
Universidad del Valle - Algoritmia y Programación Slide 52
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio

Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 53
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio
Real : base, altura
Real : area

Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 54
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio
Real : base, altura
Real : area

Escribir “Base del Triángulo :”


leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

EISC Fin
Universidad del Valle - Algoritmia y Programación Slide 55
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :”
leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

area = (base*altura)/2

Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 56
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :”
leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 57
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :”
leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 58
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo

La prueba de escritorio es una herramienta para entender


que hace un determinado algoritmo, o para verificar que la
solución al problema es la correcta

EISC
Universidad del Valle - Algoritmia y Programación Slide 59
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo

En esta prueba, se hace una ejecución manual del


algoritmo y se hace antes de implementarlo en la
computadora. Se dan valores iniciales a las variables de
entrada, se continúa con el proceso hasta verificar si el
algoritmo cumple con los criterios de salida esperados

EISC
Universidad del Valle - Algoritmia y Programación Slide 60
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :”
leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 61
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura
leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 62
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base)
Escribir “Altura del Triángulo :”
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 63
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base)
Escribir “Altura del Triángulo :”
Base del Triángulo :
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 64
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base)
Escribir “Altura del Triángulo :”
Base del Triángulo : │
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 65
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base)
Escribir “Altura del Triángulo :”
Base del Triángulo : 2
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 66
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 67
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo :

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 68
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo : │

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 69
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo : 4.0

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 70
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0 4.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo : 4.0

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 71
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0 4.0 4.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo : 4.0

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 72
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0 4.0 4.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo : 4.0

area = (base*altura)/2 El área es : 4.0

Escribir “El área es :” , area


Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 73
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0 4.0 4.0
Escribir “Altura del Triángulo :”
Base del Triángulo : 2.0
leer (altura)
Altura del Triángulo : 4.0

area = (base*altura)/2 El área es : 4.0

Escribir “El área es :” , area


Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 74
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0 4.0 4.0
Escribir “Altura del Triángulo :” 3.0 1.0 1.5
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 75
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

3. Realizar una prueba de escritorio para el algoritmo


Inicio
Real : base, altura
Real : area
Escribir “Base del Triángulo :” base altura área
leer (base) 2.0 4.0 4.0
Escribir “Altura del Triángulo :” 3.0 1.0 1.5
leer (altura)

area = (base*altura)/2
Escribir “El área es :” , area
Fin

EISC
Universidad del Valle - Algoritmia y Programación Slide 76
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

4. Codificar el algoritmo usando algún lenguaje de


programación

Para codificar/implementar los algoritmos se usan los


lenguajes de programación. Un lenguaje de programación
permite escribir instrucciones que pueden ser interpretadas
por una computadora.

EISC
Universidad del Valle - Algoritmia y Programación Slide 77
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

4. Codificar el algoritmo usando algún lenguaje de


programación

Los algoritmos escritos en pseudocódigo se deben traducir


a un lenguaje de programación.

EISC
Universidad del Valle - Algoritmia y Programación Slide 78
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triángulo a partir de su base y su altura

4. Codificar el algoritmo usando algún lenguaje de


programación

Los algoritmos escritos en pseudocódigo se deben traducir


a un lenguaje de programación

NOTA: Se recomienda realizar el pseudocódigo antes de


codificar un algoritmo y realizar la prueba de escritorio

EISC
Universidad del Valle - Algoritmia y Programación Slide 79
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triangulo a partir de su base y su altura

4. Codificar el algoritmo usando algún lenguaje de


programación

En nuestro caso usaremos un lenguaje de programación


llamado Python, pero existen muchos otros como:

C
C++
Ruby
C#
PHP
Java
EISC
Universidad del Valle - Algoritmia y Programación Slide 80
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
área de un triangulo a partir de su base y su altura

4. Codificar el algoritmo usando algún lenguaje de


programación

Durante las siguientes clases veremos el proceso para


codificar los algoritmos en el lenguaje de programación
Python

EISC
Universidad del Valle - Algoritmia y Programación Slide 81
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

EISC
Universidad del Valle - Algoritmia y Programación Slide 82
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema


 Definir el problema con precisión
 Identificar los datos de entrada
 Identificar los datos de salida
 Identificar como transformar los datos de entrada en la
salida

Entrada Proceso Salida


? ? ?

EISC
Universidad del Valle - Algoritmia y Programación Slide 83
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

 Entradas: Los coeficientes a, b y el término


independiente c.

 Nota: a, b, c son números reales y a es un número


diferente de cero

EISC
Universidad del Valle - Algoritmia y Programación Slide 84
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

 Salidas: El valor de x, correspondiente a las raíz de la


ecuación ax2 + bx + c = 0.

EISC
Universidad del Valle - Algoritmia y Programación Slide 85
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

 Proceso: Formula para transformar la entrada(s) en la


salida(s)

EISC
Universidad del Valle - Algoritmia y Programación Slide 86
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

 Proceso: Formula para transformar la entrada(s) en la


salida(s)

EISC
Universidad del Valle - Algoritmia y Programación Slide 87
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

Al conjunto de entradas y salidas se les conoce como las


variables del algoritmo

 Variables
a, b, c
x1, x2

EISC
Universidad del Valle - Algoritmia y Programación Slide 88
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

¿De qué tipo de dato (entero, real, texto) son las


variables a utilizar en este caso?

 Variables
a, b, c:?
x1, x2:?

EISC
Universidad del Valle - Algoritmia y Programación Slide 89
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

1. Análisis del problema

¿De qué tipo de dato (entero, real, texto) son las


variables a utilizar en este caso?

 Variables
a, b, c: real
x1, x2: real

EISC
Universidad del Valle - Algoritmia y Programación Slide 90
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio

Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 91
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio
Real: a, b, c
Real: x1, x2

Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 92
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

2. Diseñar el algoritmo y escribirlo en pseudocódigo


Inicio
Real: a, b, c
Real: x1, x2
Escribir ”Coeficiente a :”
leer (a)
Escribir ”Coeficiente b :”
leer (b)
Escribir ”Termino independiente :”
leer (c)

Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 93
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

2. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio
Real: a, b, c
Real: x1, x2
Escribir ”Coeficiente a :”
leer (a)
Escribir ”Coeficiente b :”
leer (b)
Escribir ”Termino independiente :”
leer (c)
x1 = (-b + ((b*b)-(4*a*c))/2*a
x2 = (-b - ((b*b)-(4*a*c))/2*a
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 94
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

2. Diseñar el algoritmo y escribirlo en pseudocódigo


Inicio
Real: a, b, c

Real: x1, x2
Escribir ”Coeficiente a :”
leer (a)
Escribir ”Coeficiente b :”
leer (b)
Escribir ”Termino independiente :”
leer (c)
x1 = (-b + ((b*b)-(4*a*c))/2*a
x2 = (-b - ((b*b)-(4*a*c))/2*a
Escribir ”Solución 1 :” , x1
Escribir ”Solución 2 : ”, x2
Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 95
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

3. Realizar una prueba de escritorio para el algoritmo

Inicio
Real: a, b, c a b c x1 x2
Real: x1, x2 1.0 5.0 6.0
Escribir ”Coeficiente a :”
leer (a)
-3.5 4.0 0.0
Escribir ”Coeficiente b :”
leer (b)
Escribir ”Termino independiente :”
leer (c)
x1 = (-b + ((b*b)-(4*a*c))/2*a
x2 = (-b - ((b*b)-(4*a*c))/2*a
Escribir ”Solución 1 :” , x1
Escribir ”Solución 2 : ”, x2

Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 96
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

3. Realizar una prueba de escritorio para el algoritmo

Inicio
Real: a, b, c a b c x1 x2
Real: x1, x2 1.0 5.0 6.0 -2.0 -3.0
Escribir ”Coeficiente a :”
leer (a)
-3.5 4.0 0.0 0.0 1.14
Escribir ”Coeficiente b :”
leer (b)
Escribir ”Termino independiente :”
leer (c)
x1 = (-b + ((b*b)-(4*a*c))/2*a
x2 = (-b - ((b*b)-(4*a*c))/2*a
Escribir ”Solución 1 :” , x1
Escribir ”Solución 2 : ”, x2

Fin
EISC
Universidad del Valle - Algoritmia y Programación Slide 97
EJEMPLO
 Problema: Desarrollar un algoritmo que permita calcular el
valor de x, que da solución a la ecuación cuadrática
ax2 + bx + c = 0.

4. Codificar el algoritmo usando algún lenguaje de


programación

Los algoritmos escritos en pseudocódigo se deben traducir


a un lenguaje de programación

EISC
Universidad del Valle - Algoritmia y Programación Slide 98
EJERCICIOS
 Siguiendo la metodología propuesta anteriormente,
resuelva los siguientes problemas:

o Desarrolle un algoritmo que lea el monto de una factura y


muestre el valor que se debe pagar por concepto del
impuesto del IVA (16%) y el valor total a pagar.

EISC
Universidad del Valle - Algoritmia y Programación Slide 99
EJERCICIOS
 Siguiendo la metodología propuesta anteriormente,
resuelva los siguientes problemas:

o Una casa de cambio necesita un programa que lea el valor


en pesos y muestre la cantidad correspondiente en dólares,
considere que la tasa de cambio varía todos los días.

EISC
Universidad del Valle - Algoritmia y Programación Slide 100
EJERCICIOS
 Siguiendo la metodología propuesta anteriormente,
resuelva los siguientes problemas:

o Desarrolle un algoritmo que permita calcular el área y el


perímetro de la circunferencia.

EISC
Universidad del Valle - Algoritmia y Programación Slide 101
EJERCICIOS
 Siguiendo la metodología propuesta anteriormente,
resuelva los siguientes problemas:

o Desarrolle un algoritmo que permita convertir de grados


Centígrados a grados Celsius y Fahrenheit.

EISC
Universidad del Valle - Algoritmia y Programación Slide 102
EJERCICIOS
 Siguiendo la metodología propuesta anteriormente,
resuelva los siguientes problemas:

o Suponga que una persona desea invertir un capital en un


banco, y desea saber cuánto dinero ganará después de un
mes, si el banco paga a razón de 2.8% mensual. Realice el
algoritmo que lea el valor a invertir y muestre el valor a
ganar.

EISC
Universidad del Valle - Algoritmia y Programación Slide 103
EJERCICIOS
 Siguiendo la metodología propuesta anteriormente,
resuelva los siguientes problemas:

o Un vendedor recibe un sueldo base de $420.000 más un


10% extra por comisión de cada una de sus ventas durante
el mes. El vendedor desea saber cual será el total de la
comisión si hizo 3 ventas en el mes, y cuánto será el total
del dinero que recibirá en su sueldo. Se debe leer el valor
de cada una de las ventas que realizó el vendedor.

EISC
Universidad del Valle - Algoritmia y Programación Slide 104
Referencias:
Dr. Harvey M. Deitel.
Java How to Program, Fourth Edition.
Pág. 314
ANEXOS
ALGORITMO
 Un algoritmo es una secuencia de pasos lógicos y ordenados con
las cuales se puede dar solución a un problema determinado.

o Propiedades de los Algoritmos: Existen varias propiedades de


nuestro interés que comparten los algoritmos:

 Entrada: un algoritmo toma como punto de partida un conjunto


de valores bien definido que son considerados las entradas del
algoritmo.

 Salida: el algoritmo arroja un valor bien definido, que tiene


relación con la entrada, y que corresponde a la solución del
problema.

 Definición Clara: cada paso del algoritmo debe estar definido


claramente y sin ambigüedad.

 Correctitud: el algoritmo debe producir la salida correcta (veraz)


para todas las posibles entradas
EISC
Universidad del Valle - Algoritmia y Programación Slide 108
ALGORITMO
 Finito: el algoritmo debe producir la salida esperada después de
un número finito de pasos para cualquier conjunto de entrada.

 Eficaz: debe ser posible realizar cada paso del algoritmo de


manera exacta y en un lapso finito (acotado) de tiempo.

 General: el algoritmo debe ser aplicable a todos los problemas


que satisfagan las restricciones de su entrada y no a subconjuntos
específicos de valores únicamente. Será mejor aún en cuanto
menos se restrinja su entrada.

EISC
Universidad del Valle - Algoritmia y Programación Slide 109

También podría gustarte