Anda di halaman 1dari 38

CAPITULO 2

INTRODUCCIÓN
ALGORITMIA Y PROGRAMACIÓN
Contenido

 Dato e Información
 Etapas para la solución de un problema
 Introducción a la teoría de algoritmos
 Conceptos básicos
 Variables, Operadores
 Pasos para la elaboración de un algoritmo

2
Dato e Información
Cuál era la temperatura?

Dato & Información. – Solución de Problemas - Algoritmos


3
Dato e Información

Cuál era la temperatura?

Dato & Información. – Solución de Problemas - Algoritmos


4
Dato e Información

 ¿Qué es un Dato?
 El mundo está compuesto de objetos físicos y
simbólicos.
 Los datos son objetos simbólicos que representan
objetos físicos del mundo real.
 Ejemplo:
 Temperatura 22º C

Dato & Información. – Solución de Problemas - Algoritmos


5
Información

 Dato en un contexto = Información


 Comunica un significado
 Afecta el comportamiento de quien lo recibe.
 Ejemplo:
 Bogotá Temperatura 22ºC – Calor
 Barranquilla Temperatura 22ºC – Frío

Dato & Información. – Solución de Problemas - Algoritmos


6
Transformar Datos en Información

 Métodos:
 Contextualizar.
 Categorizar.
 Calcular.
 Corregir.
 Condensar.

Dato & Información. – Solución de Problemas - Algoritmos


7
Interrogante

 Y … el conocimiento se diferencia del dato y de


la Información?

Dato & Información. – Solución de Problemas - Algoritmos


8
Variable

 Objeto simbólico
 NO representa a un objeto físico
 Representan o almacenan datos

Dato & Información. – Solución de Problemas - Algoritmos


9
Solución de Problemas

 Problema
 Es una abstracción de la realidad
 Se requiere una solución.
 Solución
 Procedimiento o método
 Establece el mecanismo de transformación del
mundo
 Satisface ciertos requerimientos.

Dato & Información – Solución de Problemas - Algoritmos


10
Etapas para la solución de un
problema (General)
1. Definición del problema (planteamiento original)
 Conceptualización
 Contexto.
 Objetivo.
 Elementos involucrados.

Dato & Información – Solución de Problemas - Algoritmos


11
Etapas para la solución de un
problema (General)
1. Definición del problema

2. Conceptualización de la solución
 Descomposición.
 Dividir el problema en subproblemas
 Subproblema
 Unidad lo suficientemente simple para ser descrita en
forma concisa
 utilizando únicamente operaciones elementales o
referencias a otros subproblemas.
 Tareas.
 Variables.

Dato & Información – Solución de Problemas - Algoritmos


12
Etapas para la solución de un
problema (General)
1. Definición del problema

2. Conceptualización de la solución

3. Especificación del algoritmo


 Secuencia de actividades que conforman la solución del
problema.
 Autocontenida y en términos de las tareas definidas

Dato & Información – Solución de Problemas - Algoritmos


13
Etapas para la solución de un
problema (General)
1. Definición del problema

2. Conceptualización de la solución

3. Especificación del algoritmo

4. Validación del algoritmo


 Dominios.
 conjunto de problemas y sus soluciones, que caracterizan el
dominio del problema
 Ejecución.
 Ejecutar el algoritmo para cada uno de los problemas
 Validar que se alcancen los objetivos propuestos

Dato & Información – Solución de Problemas - Algoritmos


14
Etapas para la solución de un
problema (General)
1. Definición del problema

2. Conceptualización de la solución

3. Especificación del algoritmo

4. Validación del algoritmo

5. Limitaciones del algoritmo


 Identificar
 Puntos débiles
 Escenarios en los cuales el algoritmo no funciona
 Deficiencias (condiciones críticas).

Dato & Información – Solución de Problemas - Algoritmos


15
Etapas para la solución de un
problema (General)
1. Definición del problema (planteamiento original)
 Conceptualización.
 Objetivo.
 Elementos involucrados.
2. Conceptualización de la solución
 Descomposición.
 Tareas.
 Variables.
3. Especificación del algoritmo
4. Validación del algoritmo
 Dominios.
 Ejecución.
5. Limitaciones del algoritmo
Dato & Información – Solución de Problemas - Algoritmos
16
Etapas para la solución de un
problema (General)
1. Definición del problema (planteamiento original)
 Conceptualización.
 Objetivo.
 Elementos involucrados.
2. Conceptualización de la solución
 Descomposición.
 Tareas.
 Variables.
3. Especificación del algoritmo
4. Validación del algoritmo
5. Limitaciones del algoritmo

Dato & Información – Solución de Problemas - Algoritmos


18
Ejercicio - Estado Académico

 Los estados académicos en que se puede


encontrar un estudiante de pregrado son:
 Estudiante distinguido
 Normal
 Período de prueba (transitorio o definitivo)
 Fuera de programa
 Periodo de recuperación

19
Ejercicio - Estado Académico

 Reglas para determinar el estado académico de un estudiante

Estado Académico PPA Observación

Distinguido  3,95 16 o más créditos cursados

Normal  3,25

Periodo de Prueba
2,95 - 3,24 Admitido por primera vez
Transitorio
Periodo de Prueba Segundo periodo académico
< 3,25
Definitivo cursado
< 2,95 Admitido por primera vez
Fuera de Programa
< 3,25 Si ya estaba en período de prueba

20
Ejercicio - Estado Académico

 El promedio ponderado acumulado (PPA) se obtiene


de la sumatoria de los productos de las notas
definitivas de cada una de las asignaturas cursadas
por sus respectivos créditos, dividida por el total de
créditos cursados.

21
Ejercicio - Estado Académico

 Problema
 Determinar el estado académico de un
estudiante
 Describir la secuencia de pasos para resolver
este problema

22
Ejercicio - Estado Académico

1. Calcular el PPA
 Para cada asignatura cursada
 Leer Nota
 Leer Número de créditos de la asignatura
 Calcular el total de créditos del semestre (sumar los
créditos de cada asignatura)
 Multiplicar cada nota por el respectivo número de
créditos y sumar
 Calcular el PPA dividiendo el anterior valor entre el total
de créditos del semestre
 Mostrar el PPA del estudiante

23
Ejercicio - Estado Académico

2. Si el PPA  3.95
 Si el total de créditos del semestre es  16 entonces
 Mostrar el estado Académico del estudiante como
“Distinguido”
3. Si el PPA  3.25 y PPA < 3.95
 Mostrar el estado Académico del estudiante como
“Normal”

24
Ejercicio - Estado Académico
4. Si el PPA < 3.25
 Leer el período académico cursado (si es el 1ero o no)
 Si es el primer periodo académico cursado
 Si el PPA  2.95
 Mostrar el estado académico del estudiante como “Período de Prueba Transitorio”
 Si el PPA < 2.95
 Mostrar el estado académico del estudiante como “Fuera de Programa”
 Si no es el primer periodo académico cursado entonces
 Determinar si antes estaba en periodo de prueba
 Si no estaba en periodo de prueba
 Mostrar el estado académico del estudiante como “Período de Prueba Definitivo”
 Si estaba en periodo de prueba
 Mostrar el estado académico del estudiante como “Fuera de programa”

25
Ejercicio - Estado Académico

 Cómo podemos resolver el problema por medio


del computador?
 Solución más detallada
 Y el algoritmo para la solución propuesta?
 Necesitamos un lenguaje menos ambiguo para plantear
la solución

26
Resolución de problemas mediante
computador

1. Análisis del Problema


2. Diseño del algoritmo
3. Codificación
4. Compilación, ejecución y verificación
5. Depuración y mantenimiento
6. Documentación

27
Resolución de problemas mediante
computador: Etapa 1

1. Análisis del Problema

 Definir
 Qué hace?
 Con cuales datos?
 Cuáles son los procedimientos?
 Cuáles son los resultados?

28
Resolución de problemas mediante
computador: Etapa 2
2. Diseño del algoritmo
 Cómo hace el programa la tarea solicitada?
 Métodos para el proceso
 Diseño descendente (top-down) o modular
 Independiente del lenguaje de programación
 Herramientas
 Diagrama de Flujo
 Pseudocódigo

29
Resolución de problemas mediante
computador: Etapa 2
 Algoritmo
 Procedimiento
 Detallado
 Preciso
 Resuelve un problema
 En pasos (o etapas) que toman un tiempo finito.

Dato & Información – Solución de Problemas - Algoritmos


30
Resolución de problemas mediante
computador: Etapa 2
 Diseño de un algoritmo de preparación de un pie
 Obtener la receta (huevos, harina, mantequilla,
tipo_fruta, fruta y tiempo_horno)
 Obtener la cantidad de comensales (comensales)
 mezclar_base (huevos, harina, mantequilla)
 hornear_base (tiempo_horno)
 preparar_fruta (tipo_fruta, fruta)
 Cortar_servir (comensales, tipo_fruta)

Dato & Información – Solución de Problemas - Algoritmos


31
Resolución de problemas mediante
computador: Etapa 2

 Problema: Cambiar una llanta (1)

32
Resolución de problemas mediante
computador: Etapa 2
 Diseño de un algoritmo para el cambio de una llanta
 Retirar gato hidráulico del maletero
 Retirar llave de cruz del maletero
 Itere sobre cada perno
 Aflojar con llave cada perno en la rueda
 Subir auto con gato hidráulico
 Itere sobre cada perno
 Retirar cada perno de la rueda
 Retirar neumático defectuoso de la rueda
 Retirar neumático bueno del maletero
 Colocar neumático bueno en la rueda
 Colocar neumático defectuoso en el maletero
 Itere sobre cada perno
 Colocar cada perno en la rueda
 Bajar auto con gato hidráulico en posición
 Itere sobre cada perno
Apretar con la llave cada perno en la rueda
 Colocar la llave de cruz en el maletero
 Colocar la gato hidráulico en el maletero

33
Resolución de problemas mediante
computador: Etapa 2
 Diseño de un algoritmo para cálculo de una nota
 Problema
 Calcular la nota de un estudiante de la asignatura A & P
 Algoritmo
1. Leer Nota_1er_Parcial,
2. Leer Nota_2º_parcial
3. Leer Nota_Ex_Final,
4. Leer Nota_Laboratorios
5. Leer Nota_Quices
6. Calcular
Nota_Final = (Nota_1er_Parcial + Nota_2º_Parcial + Nota_Ex_Final
+ Laboratorios + Quices) / 5
7. Mostrar Nota_Final

34
Resolución de problemas mediante
computador: Etapa 2

 Ejercicios de diseño
 Hacer un algoritmo para calcular el IVA de un
producto.
 Hacer un algoritmo para prestar dinero a un
compañero.

35
Resolución de problemas mediante
computador: Etapa 3
 Codificación
 Escribir el algoritmo mediante un lenguaje de programación
 Programa fuente
 Editor
 Compilación
 Traducir el programa fuente a lenguaje de máquina
 Programa objeto
 Ejecución
 Programa ejecutable
 Programa objeto + enlace con rutinas de librerías

36
Resolución de problemas mediante
computador: Etapas 4, 5 y 6
 Verificación
 Ejecutar el programa con una amplia variedad de datos
para identificar errores
 Mantenimiento
 Cambiar el programa de acuerdo a las necesidades de los
usuarios
 Documentación
 Descripción del proceso
 Interna
 Externa

37
Lectura Complementaria

 Joyanes Aguilar, Luis (2003). Fundamentos de


Programación. Algoritmos, Estructura de datos y
Objetos. España: McGraw-Hill.
 Capítulo 2
 Excepto “Diagramas de Nassi-Schneiderman”

38