Caja de herramientas de inteligencia artificial para la academia y la investi...
Estructura secuencial
1. UNIVERSIDAD MILITAR NUEVA GRANADA
CENTRO DE SISTEMAS
Programación 1
centro.sistemas@unimilitar.edu.co
2. CENTRO DE SISTEMAS
Programación 1
Algoritmos
alcira.ordonez@unimilitar.edu.co
3. Algoritmos
El computador no tiene la capacidad de
solucionar problemas y se le deben dar los
pasos necesarios y sucesivos a realizar, dicho
listado se denomina algoritmo.
Algoritmo es un procedimiento que se ejecuta
paso a paso, para dar solución a un
determinado problema.
Es una secuencia de operaciones a realizar,
ordenadamente, para resolver un problema
específico.
4. Algoritmos
Todo algoritmo debe cumplir con las siguientes
características:
Debe ser preciso: Debe indicar el orden de
realización de cada paso.
Debe estar definido: Si se sigue dos veces, se debe
obtener el mismo resultado.
Debe ser finito: debe tener un fin, es decir, un
número determinado de pasos.
Después de tener el algoritmo, el paso
siguiente es la implementación o expresarlo en
algún lenguaje de programación.
5. Aprender a programar…
La principal razón para programar es usar el
computador como una herramienta para la
solución de problemas.
La solución de un problema puede dividirse en
los siguientes pasos:
6. Solución de Problemas
Leer o Conocer el Problema: A través de la
lectura se identifica qué clase de problema se va
a resolver.
Analizar el Problema: Identificar qué valores
o datos proporciona el problema (variables de
entrada), qué valores (variables de proceso) y
cálculos (operaciones aritméticas y lógicas) se
requieren para conseguir los resultados
esperados (Variables de salida).
7. Solución de Problemas
Generar una solución: Usar expresiones
(seudo-código) o símbolos gráficos
convencionales (diagrama de flujo) que
muestran la secuencia lógica para conseguir
los resultados.
Comprobar resultados: Controlar si la
solución dada al problema es adecuada o no
garantizando que al codificarse funcione
correctamente mediante una prueba de
escritorio.
8. Solución de Problemas
Codificar, Probar y Ejecutar: Se codifica en
el lenguaje de computador para almacenar
para su posterior uso.
Usar y Hacer Mantenimiento: Comprobada
la solución se procesan los datos necesarios
para obtener los resultados esperados. Se
debe actualizar permanentemente.
9. Solución de Problemas
Leer o Conocer el Problema:
Calcular la cantidad de alambre necesario para
cercar con 4 vueltas una finca de lote rectangular
Analizar el Problema:
Valores de entrada: Largo del Lote, Ancho del Lote, N°
de Vueltas
Salidas: Cantidad de alambre necesario
Variables: Largo, Ancho, Vueltas
Constante: Número de vueltas
Esquematizar el problema, Comprobar y Codificar
el programa.
10. Diseño de Algoritmos
Para la realización de cualquier actividad, se
utilizan los algoritmos con el propósito de llegar
a los resultados esperados. La diferencia entre
un algoritmo para resolver una tarea corriente y
un algoritmo para resolver un problema por
computador, es que el último debe ser
expresado con la lógica del computador.
La información proporcionada al algoritmo
constituye su entrada y la información producida
por el algoritmo constituye su salida.
11. Diseño de Algoritmos
Problemas complejos se pueden resolver más
eficientemente en el computador, cuando se
rompen en subproblemas más fáciles de
solucionar que el original. Si es necesario se
pueden dividir estos subproblemas en otros más
simples. Este tipo de metodología se denomina
diseño descendente (top-down design).
12. Diseño de Algoritmos
Normalmente se diseña el algoritmo en un
primer esbozo utilizando pocos pasos, luego se
describe cada uno para ampliar cada paso,
generando un nivel de refinamiento necesario
para que el algoritmo sea claro, preciso y
completo. Los algoritmos se pueden representar
a través de:
Pseudocódigo: Utiliza texto en español
Diagrama de flujo: Representación gráfica y
trabaja con símbolos especiales
13. Pseudocódigo
Tipo de Instrucción Pseudocódigo español
Comienzo de proceso Inicio
Fin de proceso fin
Entrada (lectura) leer
Salida (escritura) escribir
Asignación B 7
Selectiva si-entonces
Repetitivas Para, fin_para, mientras,
fin_mientras
14. Ejemplo 1
Ejemplo 1. Elaborar un algoritmo para ver la película “Enredados”
Pseudocódigo Pseudocódigo con Refinamiento
Inicio Inicio
Consultar la cartelera de Consultar la cartelera de cine
cine Si no proyectan “Enredados” entonces
decidir otra película
Si proyectan “Enredados” entonces trasladarse a la
Trasladarse al teatro sala de cine
Si hay fila, entonces ponerse en ella
Hacer fila
Avanzar en la fila
Si existen boletas disponibles, entonces comprar
Comprar entradas
entradas
Entrar a la sala y buscar asiento
Entrar a la sala
Mientras proyectan la película, ver
Ver la película
Abandonar la sala de cine
Abandonar la sala de cine
Si no hay otros planes: Volver a casa
Volver a casa
Fin
Fin
15. Ejemplo 2
Elaborar un algoritmo para hacer la solicitud de un
crédito en un banco
Pseudocódigo
Inicio
Leer la solicitud
Examinar tarjeta del cliente y capacidad de
endeudamiento
Si el cliente es solvente y cumplido
entonces
aprueba el crédito
Si no
rechaza el crédito
Fin
16. Ejemplo 3
Elaborar algoritmo para leer un número y escribir su
cuadrado
Pseudocódigo
Inicio
leer A (en A se almacenará el número)
B A * A (en B se almacenará el resultado de la
operación)
escribir B
fin
17. Diagramas de Flujo
• Un diagrama de flujo utiliza los símbolos (caja)
unidos por flechas, denominados línea de flujo,
que indican la secuencia en que se deben
ejecutar.
• Existen diversos tipos de diagramas de flujo,
básicamente se encuentran tres tipos: de
sistema, de bloque y detalle.
18. Diagramas de Flujo
• Los diagramas de flujo de sistema u organigramas
de sistema, representan la relación existente entre los
soportes físicos que contienen la información necesaria
para la ejecución de un proceso.
• Los diagramas de bloques o macro procesos,
muestran la estructura de los módulos que conforman
la solución del problema y el flujo existente entre
ellos.
• Los diagramas de flujo de detalle, son los que
muestran la secuencia paso a paso para la solución de
un problema que va a ser ejecutado en un procesador.
19. DFD
El DFD (Diagrama de Flujo de Datos) es un software
diseñado para construir y analizar algoritmos de
programación estructurada a partir de las herramientas
de edición que para éste propósito suministra el
programa. Además de ingresar el algoritmo representado
por el diagrama, permite ejecutarlo, analizarlo y
depurarlo en un entorno interactivo diseñado para éste
fin. Su interfaz gráfica facilita el trabajo con diagramas
ya que simula la representación estándar de diagramas
de flujo en hojas de papel.
20. Diagramas de Flujo
Para elaborar un diagrama de flujo se deben seguir
ciertas normas:
• Entender claramente el problema a resolver.
• Iniciar desde arriba hacia abajo y de izquierda a
derecha.
• Identificar claramente cada uno de los pasos
secuenciales, ya sea una instrucción o toma de
decisiones.
• Una vez terminado, hacer seguimiento paso a paso
para verificar su funcionalidad.
21. Simbología Básica
El DFD utiliza una serie de símbolos para representar las
diferentes acciones:
Inicio o fin de un programa
Entrada o lectura de datos o información
Salida o escritura de datos o información
Asignación, operación o proceso de datos
22. Simbología Básica
El DFD utiliza una serie de símbolos para representar las
diferentes acciones:
Decisión, permite selección de alternativa
Indicador de dirección o línea de flujo
Representa estructuras repetitivas, ciclo
para, ciclo mientras.
23. Simbología Básica
Otros programas de elaboración de diagramas de flujo,
permiten tener símbolos más explícitos, que indican el
dispositivo de entrada o de salida :
Impresora Pantalla Teclado Disco Cinta
25. Ejemplo - Área
Calcular y escribir el área de un triángulo.
Variables: Base, Altura, Área
Pseudocódigo Diagrama de Flujo
Inicio
leer Base, Altura
Área Base * Altura /2
escribir Área
fin
26. Ejemplo - Divisas
Dada una cantidad en pesos calcular y escribir su equivalencia en
Dólares y Euros. Valor del dólar es $ 1838.94 y Euro $ 2480.30
Variables: Valor, Euro, Dolar
Pseudocódigo Diagrama de Flujo
Inicio
leer Valor_Pesos
Dolar Valor_Pesos/1838.94
Euro Valor_Pesos/2480.30
escribir Dolar, Euro
fin
27. Ejemplo - Hipotenusa
Hipotenusa: Calcular la hipotenusa de un triángulo rectángulo
Variables: hipotenusa, cateto1, cateto2
Pseudocódigo Diagrama de
Hipotenusa = 2
cateto12
cateto22 Flujo
Inicio
leer cateto1, cateto2
hipotenusa SQRT(cateto1^2 +
cateto2^2)
escribir hipotenusa
fin
28. Ejemplo - Salario
Calcular y escribir el salario neto de un trabajador dado el
número de horas y el valor de la hora y sabiendo que el
tasa de impuesto que se le debe deducir es del 2%.
Variables: Vl_hora, No_hora, Imp, Basico, Salario
Pseudocódigo Diagrama de Flujo
Inicio
leer : Vl_hora, No_hora
Basico Valor_hora * No_horas
Imp Basico*2%
Salario Basico - Imp
escribir Salario
fin