2. Resolución de problemas En la creación de un programa se identifican dos fases: Fase de resolución del problema. Fase de implementación (realización) en un lenguaje de programación.
3. Fase de resolución del problema En esta fase se incluyen, los siguientes pasos: Análisis del problema. Diseño del algoritmo. Verificación de algoritmos.
4. Análisis del Problema El primer paso es encontrar la solución a un problema es el análisis del mismo. Se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y determinar los datos necesarios para conseguirlo. Análisis del Problema Definición del Problema Datos de entrada Datos de salida = Resultados
9. SalidaEspecificaciones de entrada ¿Qué datos son de entrada? ¿Cuántos datos se introducirán? ¿Cuántos son datos de entrada válidos? Especificaciones de salida ¿Cuáles son los datos de salida? ¿Cuántos datos se salida se producirán? ¿Qué precisión tendrán los resultados? ¿Se debe imprimir una cabecera?
10. Verificación de algoritmos Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseñado y produce un resultado correcto y esperado. El modo más normal de comprobar un algoritmo es mediante su ejecución manual, usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las modificaciones que se producen en las diferentes fases hasta la obtención de los resultados. Este proceso se le conoce como prueba del algoritmo.
11. Fase de implementación Una vez que el algoritmo está diseñado, representado mediante un método normalizado (diagrama de flujo ó pseudocódigo), y verificado se debe pasar a la fase de codificación, traducción del algoritmo a un determinado lenguaje de programación, que deberá ser completada con la ejecución y comprobación del programa en la computadora.
12. Resolución del problema mediante la computadora Resolución del problema en computadora Codificación del programa Ejecución del Programa Comprobación del programa
18. 1.2. Variables Una variable es un objeto cuyo valor puede cambiar durante el desarrollo de un algoritmo. Se identifica por su nombre y por su tipo, que podrá ser cualquiera, y es el que determina el conjunto de valores que podrá tomar la variable. En los algoritmos se deben declarar las variables que van a usar, especificando su tipo. Ejemplo: var <tipo_de_dato> : <lista_identificadores_de_variable> entero : numero1, numero2, suma
26. 2.1. Diagramas de Flujo Ejemplo: Leer temperatura en grados Centígrados y calcule y escriba su valor en grados Kelvin. Inicio Leer (gradosCentigrados) gradosKelvin ← gradosCentigrados + 273.15 Escribir (gradosKelvin) Fin
27. 2.2. Diagrama Nassi-Schneiderman Denominado así por sus inventores, Isaac Nassi y Ben Shneiderman. Consta de una serie de cajas contiguas que se leerán siempre de arriba-abajo y se documentarán de la forma adecuada. En los diagramas N-S las tres estructuras básicas de la programación estructurada, secuenciales, selectivas y repetitivas, encuentran su representación propia.
30. 2.3. Pseudocódigo Es un lenguaje de especificación de algoritmos que utiliza palabras reservadas y exige la sangría en el margen izquierdo de algunas líneas. El pseudocódigo se concibió para superar las dos principales desventajas de los diagramas de flujo: 1) lento de crear y 2) difícil de modificar sin un nuevo redibujo. Es una herramienta muy buena para el seguimiento de la lógica de un algoritmo y para transformar con facilidad los algoritmos a programas, escritos en un lenguaje de programación específico.
31. 2.3. Pseudocódigo Estructura básica de un algoritmo escrito en pseudocódigo: algoritmo <identificador_algoritmo> // declaraciones, sentencias no ejecutables inicio // acciones, sentencias ejecutables tanto simples como estructuradas fin
32. 2.3. Pseudocódigo 2.3.1. Comentarios Sirven para documentar el algoritmo y en ellos se escriben las anotaciones generalmente sobre su funcionamiento. Cuando se coloque un comentario de una sola línea se escribirá precedido de: // comentario de una línea. Si el comentario es mistilínea, lo pondremos entre { }: { comentario que ocupa más que una línea }
33. 2.3. Pseudocódigo 2.3.2. Palabras reservadas Las palabras reservadas o palabras clave (Keywords) son palabras que tienen un significado especial, como: inicio y fin, que marcan el principio y fin del algoritmo. Decisión simple: si <condición> entonces <acciones1> fin_si Decisión simple: si <condición> entonces <acciones1> si_no <acciones2> fin_si
34. 2.3. Pseudocódigo Decisión múltiple: según sea <expresión_ordinal> hacer <lista_de_valores_ordinales>: <acciones1> ……… [si_no// El corchete indica la opcionalidad <accionesN>] fin_según Repetitivas: mientras <condición> hacer <acciones> fin_mientras repetir <acciones> hasta_que<condición> desde <variable> ← <v_inicial> hasta <v_final> [incremento | decremento <incremento> ] hacer <acciones> fin_desde
35. 2.3. Pseudocódigo El ejemplo ya citado que transforma grados centígrados a grados kelvin, escrito en pseudocódigo quedaría de la siguiente forma: algoritmo conversion_gCentigrados_gKelvin var real: gradosCentigrados, gradosKelvin inicio leer(gradosCentigrados) gradosKelvin ← gradosCentigrados + 273.15 escribir(gradosKelvin) fin
36.
37. No podrá coincidir con palabras reservadas, propias del lenguaje algorítmico.