Resolución de problemas utilizando computaoras unidad 2 Resolución de problemas utilizando computaoras Lic. Elisa Arizaca Ramirez
Fases en la resolución de problemas utilizando computadoras FASE DE RESOLUCIÓN DEL PROBLEMA FASE DE IMPLEMENTACIÓN EN LA COMPUTADORA Algoritmo Solución Problema Diagrama de Flujo Programa
Fase de resolución del problema ANALISIS DEL PROBLEMA DISEÑO DEL ALGORITMO VERIFICACIÓN DEL ALGORITMO
Representación de un algoritmo Diagrama de Flujo Pseudocódigo
Diagrama de Flujo (Flowchart) Es la representación gráfica de un algoritmo, utiliza un conjunto de símbolos que representan instrucciones. Los símbolos que incluye han sido normalizados por el Instituto Norteamericano de Normalización (ANSI , American National Standards Institute) y la ISO (International Standard Organization)
Símbolos del DF SÍMBOLOS PRINCIPALES DE DIAGRAMA DE FLUJO INSTRUCCIONES DE PSEUDOCÓDIGO FUNCIÓN Inicio / Fin Representa el comienzo, INICIO y el final FIN de un algoritmo. Leer Representa Entrada de datos (Representa introducción de cualquier tipo de dato en la memoria desde los periféricos de ENTRADA) Asignación y cálculo o proceso simple (Cualquier tipo de operación que puede originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transferencia, etc.) Mostrar Impresora, representa Salida de datos (Representa despliegue de información)
Símbolos del DF SÍMBOLOS PRINCIPALES DE DIAGRAMA DE FLUJO INSTRUCCIONES DE PSEUDOCÓDIGO FUNCIÓN Decisión (indica operaciones de comparación entre datos -normalmente dos- y en función del resultado de la misma determina el camino a seguir en el programa). Conector (sirve para enlazar dos partes cualesquiera de un ordinograma a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma página del diagrama). Indicador de dirección o línea de flujo ( indica el sentido de ejecución de las operaciones). Conector (conexión entre dos puntos del organigrama situado en páginas diferentes) Condición
Símbolos del DF SÍMBOLOS PRINCIPALES DE DIAGRAMA DE FLUJO INSTRUCCIONES DE PSEUDOCÓDIGO FUNCIÓN Nombre del proceso o subrutina Llamada a subrutina o a un proceso predeterminado (una subrutina es un módulo independiente del programa principal, que recibe una entrada procedente de dicho programa, realiza una tarea determinada y regresa, al terminar, al programa principal). // Comentario // Comentarios (se utiliza para añadir comentarios clasificadores a otros símbolos del diagrama de flujo. Se pueden dibujar a cualquier lado del símbolo). Mostrar Pantalla (se utiliza en ocasiones en lugar del símbolo de Salida de datos) Leer Teclado (se utiliza en ocasiones en lugar del símbolo de Entrada de datos).
Reglas para el diseño de Diagramas de Flujo Usar solamente líneas de flujo horizontales y/o verticales Evitar el cruce de líneas utilizando los conectores Utilizar conectores solo cuando sea necesario No deben quedar líneas de flujo sin conectar
Reglas DF Inicio PL 70 C1, C2, C3 P(C1+C2+C3)/3 P <= PL “Aprobado” “Reprobado” Fin NO SI
Reglas DF VERTICALES HORIZONTALES Inicio PL 70 C1, C2, C3 P(C1+C2+C3)/3 P <= PL “Aprobado” “Reprobado” Fin VERTICALES HORIZONTALES SI NO
Reglas para el diseño de Diagramas de Flujo Usar solamente líneas de flujo horizontales y/o verticales Evitar el cruce de líneas utilizando los conectores Utilizar conectores solo cuando sea necesario No deben quedar líneas de flujo sin conectar
Reglas DF Inicio N Cont 0 N > 0 NN DIV 10 ContCont + 1 Cont Fin SI NO
Reglas DF Inicio N Cont 0 N > 0 NN DIV 10 ContCont + 1 Cont Fin SI NO
Reglas para el diseño de Diagramas de Flujo Usar solamente líneas de flujo horizontales y/o verticales Evitar el cruce de líneas utilizando los conectores Utilizar conectores solo cuando sea necesario No deben quedar líneas de flujo sin conectar
Reglas DF Inicio N Cont 0 N > 0 b NN DIV 10 ContCont + 1 a Cont SI NO a b
Reglas DF Inicio N Cont 0 N > 0 NN DIV 10 ContCont + 1 Cont Fin SI NO
Reglas para el diseño de Diagramas de Flujo Usar solamente líneas de flujo horizontales y/o verticales Evitar el cruce de líneas utilizando los conectores Utilizar conectores solo cuando sea necesario No deben quedar líneas de flujo sin conectar
Reglas DF Inicio N Cont 0 N > 0 NN DIV 10 ContCont + 1 Cont Fin SI NO
Reglas DF Inicio N Cont 0 N > 0 NN DIV 10 ContCont + 1 Cont Fin SI NO
Reglas para el diseño de Diagramas de Flujo Trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
Reglas DF Inicio PL 70 C1, C2, C3 P(C1+C2+C3)/3 P <= PL “Aprobado” “Reprobado” Fin NO SI
Reglas para el diseño de Diagramas de Flujo Trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
Reglas DF Inicio PL 70 C1, C2, C3 P(C1+C2+C3)/3 P <= PL “Alumno que Aprobó el curso de Inglés” “Alumno que Reprobó el curso de Inglés” Fin NO SI
Reglas DF Inicio PL 70 C1, C2, C3 P(C1+C2+C3)/3 P <= PL “Aprobado” “Reprobado” Fin NO SI
Representación de un algoritmo Diagrama de Flujo Pseudocódigo
Pseudocódigo Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa.
Símbolos del DF Inicio / Fin Leer Mostrar SÍMBOLOS PRINCIPALES DE DIAGRAMA DE FLUJO INSTRUCCIONES DE PSEUDOCÓDIGO FUNCIÓN Inicio / Fin Representa el comienzo, INICIO y el final FIN de un algoritmo. Leer Representa Entrada de datos (Representa introducción de cualquier tipo de dato en la memoria desde los periféricos de ENTRADA) Asignación y cálculo o proceso simple (Cualquier tipo de operación que puede originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transferencia, etc.) Mostrar Impresora, representa Salida de datos (Representa despliegue de información)
Símbolos del DF Nombre del proceso o subrutina // Comentario // SÍMBOLOS PRINCIPALES DE DIAGRAMA DE FLUJO INSTRUCCIONES DE PSEUDOCÓDIGO FUNCIÓN Nombre del proceso o subrutina Llamada a subrutina o a un proceso predeterminado (una subrutina es un módulo independiente del programa principal, que recibe una entrada procedente de dicho programa, realiza una tarea determinada y regresa, al terminar, al programa principal). // Comentario // Comentarios (se utiliza para añadir comentarios clasificadores a otros símbolos del diagrama de flujo. Se pueden dibujar a cualquier lado del símbolo). Mostrar Pantalla (se utiliza en ocasiones en lugar del símbolo de Salida de datos) Leer Teclado (se utiliza en ocasiones en lugar del símbolo de Entrada de datos).
Pseudocódigo Su utilización hace que el paso de codificación final sea relativamente fácil (traducción a un lenguaje de programación) Su utilización permite al programador concentrarse en la lógica y en las estructuras de control y no preocuparse por las reglas de un lenguaje específico.
Utilización de Pseudocódigo PROGRAMA EN LENGUAJE C PSEUDOCÓDIGO # include <conio.h> # define PI 3.14 float R, A; void main () { clrscr(); printf (“Radio: ”); scanf (“%f”, &R); A= PI * R * R; printf (“\n Area: %f”, A); getch(); } Inicio PI 3.14 Leer R A PI * R ^ 2 Mostrar A Fin
Pseudocódigo Su utilización hace que el paso de codificación final sea relativamente fácil (traducción a un lenguaje de programación) Su utilización permite al programador concentrarse en la lógica y en las estructuras de control y no preocuparse por las reglas de un lenguaje específico.
Reglas para el diseño de algoritmos con Pseudócódigo La escritura de pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) de diferentes líneas El algoritmo empieza con la palabra INICIO y finaliza con la palabra FIN. Entre estas palabras, sólo se escribe una instrucción o acción por línea.
Utilización de Pseudocódigo Ej: Algoritmo que calcula la ganancia dado un monto invertido tomando en cuenta una tasa de interés. Si la ganancia excede a $7000 se decidirá la reinversión. Inicio Leer C, TI MI C * TI Si MI > ML entonces G C + MI Mostrar G Fin_si Fin
Reglas para el diseño de algoritmos con Pseudócódigo La escritura de pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) de diferentes líneas El algoritmo empieza con la palabra INICIO y finaliza con la palabra FIN. Entre estas palabras, sólo se escribe una instrucción o acción por línea.
Utilización de Pseudocódigo Ej: Algoritmo que calcula la ganancia dado un monto invertido tomando en cuenta una tasa de interés. Si la ganancia excede a $7000 se decidirá la reinversión. Inicio Leer C, TI MI C * TI Si MI > ML entonces G C + MI Mostrar G Fin_si Fin
Metodología para la solución de problemas por medio de computadora Definición del Problema Análisis del Problema Diseño del Algoritmo Codificación Prueba y Depuración Documentación Mantenimiento
Definición del Problema Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora.
Ej: Definición del problema Calcular la superficie una circunferencia teniendo como dato conocido, únicamente el radio del mismo R
Análisis del Problema Incluye: Datos de entrada. Constantes utilizadas Datos de salida, información que se desea producir (salida) Proceso y fórmulas que se requieren para solucionar el problema.
Ej: Análisis del Problema Dato de Entrada :Valor del radio : R Constante :El valor de : PI = 3.14 Dato de Salida :Valor del área de la circunferencia : A Proceso : Especificar como constante el valor π , Pi = 3.14 Solicitar el valor del radio de la circunferencia Calcular el área de la circunferencia utilizando la fórmula: Area = π * radio^ 2
Diseño del Algoritmo En esta fase se construye el algoritmo utilizando lenguajes algorítmicos como Diagrama de Flujo o Pseudocódigo, tomando en cuenta, además, las CARACTERÍSTICAS que debe cumplir un buen algoritmo.
Ej: Diseño del Algoritmo PSEUDOCÓDIGO DIAGRAMA DE FLUJO Inicio PI 3.14 Leer R A PI * R ^ 2 Mostrar A Fin Inicio PI 3.14 R A PI * R ^ 2 A Fin
Codificación Es la operación de escribir la solución del problema en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
Ej: Codificación # include <conio.h> # define PI 3.14 CODIFICADO EN LENGUAJE C # include <conio.h> # define PI 3.14 float R, A; void main () { clrscr(); printf (“Radio: ”); scanf (“%f”, &R); A= PI * R * R; printf (“\n Area: %f”, A); getch(); }
Prueba y Depuración Es el proceso de identificar y eliminar errores, para dar paso a una solución sin errores. Esta etapa se cumple una vez introducido el programa en memoria del computador y la REALIZA EL COMPILADOR DEL LENGUAJE DE PROGRAMACIÓN UTILIZADO. A medida que se compila el programa se van desplegando los mensajes de posibles errores detectados.
Ej: Prueba de escritorio Inicio PI 3.14 Leer R A PI * R ^ 2 Mostrar A Fin Inicio PI 3.14 R A PI * R ^ 2 A Fin PI R A Pantalla 3.14 10 314 314 (Fin)
Documentación A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
Documentación Se divide en tres partes: Documentación Interna Documentación Interna Documentación Externa Manual de Usuario
Documentación Interna Son comentarios o mensajes que se añaden al código fuente para hacer mas claro el entendimiento de un proceso.
Ej: Documentación Interna # include <conio.h> // Para la función clrscr() y getch() # define PI 3.14 // Define la constante π float R, A; // Declara reales a las variables A,R void main () { clrscr(); // Función que limpia la pantalla printf (“Radio: ”); scanf (“%f”, &R); A= PI * R * R; printf (“\n Area: %f”, A); getch(); }
Documentación Externa Se define en un documento escrito, considerando los siguientes puntos: Descripción del Problema Algoritmo (Diag. Flujo o pseudocódigo) Diccionario de Datos Código Fuente (programa)
Ej: Documentación Externa # include <conio.h> # define PI 3.14 float R, A; void main () { clrscr(); printf (“Radio: ”); scanf (“%f”, &R); A= PI * R * R; printf (“\n Area: %f”, A); getch(); } Inicio PI 3.14 Leer R A PI * R ^ 2 Mostrar A Fin Calcular la superficie una circunferencia teniendo como dato conocido, únicamente el radio del mismo Inicio PI 3.14 R A PI * R ^ 2 A Fin
Documentación: Manual de Usuario Describe paso a paso la manera en que funciona un programa.
Mantenimiento Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta Para realizar este trabajo, se precisa que el programa este correctamente documentado.
FIN