La destreza para solucionar problemas es una habilidad de pensamiento de orden superior necesaria, para que los profesionales de cualquier área puedan tener éxito en el mundo digital
La programación de computadores constituye una buena alternativa para desarrollar la habilidad de solucionar problemas, siempre y cuando se la enfoque al logro de esta destreza y no a la formación de programadores
El objetivo de esta unidad es que los estudiantes universitarios comprendan importancia de desarrollar la habilidad de programación por medio del conocimiento y dominio de una estrategia para diseñar una solución a un problema planteado
Problema
Planteamiento de una situación cuya respuesta desconocida debe obtenerse a través de métodos científicos
Elementos comunes de un problema
Un estado inicial
Una meta o un estado final
Un conjunto de recursos
Un dominio
Algoritmo
Aplicar adecuadamente una serie de pasos detallados que aseguran una solución correcta
Fases para elaborar un procedimiento que realice una tarea específica
1. Analizar el problema
2. Diseñar un algoritmo
3. Traducir el algoritmo a un lenguaje de programación
4. Depurar el programa
Etapas del análisis del problema
1. Formular el problema
2. Precisar los resultados esperados
3. Identificar datos disponibles
4. Determinar las restricciones
5. Establecer procesos
Formulación del problema
Definir y expresar el problema de forma clara y precisa en un enunciado
Precisar los resultados esperados
Identificar la información relevante, ignorar los detalles sin importancia, entender los elementos del problema y activar el esquema correcto que permita comprenderlo en su totalidad
Identificar datos disponibles
Determinar cuál es la información disponible
Determinar las restricciones
Exponer las necesidades y restricciones (no una propuesta de solución)
Establecer procesos
Determinar los procesos que permiten llegar a los resultados esperados a partir de los datos disponibles
Proceso solucionador de problemas
1. Formulación del problema
2. Planteamiento del problema con el método de la caja negra
3. Definición de variables de salida
4. Definición de variables de entrada
5. Restricciones
6. Procesos
Características de un algoritmo
Tener un principio
Ser simples, claros, precisos, exactos
Tener un orden lógico
Debe ser finito
Tener un fin
Partes de un algoritmo
Entrada de datos
Proceso
Salida de datos
Área de un triángulo rectángulo
Definición de variables de entrada (datos disponibles)
Nombre
base
altura
Tipo
Real
Real
Descripción
Base de un triángulo rectángulo
Altura de un triángulo rectángulo
la base y la altura debe ser un número real mayor a cero
Base >0
Área de un triángulo rectángulo
Multiplicar la base por la altura y luego dividir el resultado entre 2
No hay variables de proceso
Entrada de datos
Base
altura
Salida de datos
Proceso
area
Características de un algoritmo
Tener un principio
Ser simples, claros, precisos, exactos
Tener un orden lógico
Debe ser finito
Tener un fin
Partes de un algoritmo
Entrada
Proceso
Salida
Estructuras de control de un algoritmo
Secuencial
Condicional (decisión, selección)
Iterativa (repetición)
Algoritmo
Una secuencia ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema
Pseudocódigo
Técnica que permite expresar la solución de un problema mediante un algoritmo escrito en palabras normales de un idioma, utilizando palabras imperativas
Ejemplos de algoritmos narrados
Lavarse los dientes
Cambiar una bombilla (foco) fundida
Diagrama de flujo
Representación gráfica de un algoritmo, que muestra los pasos o procesos a seguir para alcanzar la solución de un problema
Simbología de los diagramas de flujo
Inicio/Final
Decisión
Entrada General
Entrada por teclado
Salida Impresa
Salida en Pantalla
Iteración ciclo for
Llamada a subrutina
Acción/Proceso General
Conector
Flujo
Conector fuera de página
Reglas para la elaboración de diagramas de flujo
Variables
Espacios de trabajo (contenedores) reservados para guardar datos (valores)
Constantes
Datos que, luego de ser asignados, no cambian en ninguna instrucción del Algoritmo
Reglas para Identificar variables, constantes y procedimientos
Expresiones aritméticas
Operaciones aritméticas entre operandos: números, constantes o variables