Tema 1  Algoritmos y Programas. Fundamentos de Programación I.E.S. Juan de Garay
Tema 1: Algoritmos y Programas Conceptos previos sobre programación. Ciclo de vida de una aplicación informática. Más allá de los programas: Algoritmos. Diagramas de flujo del programa: Ordinogramas. Pseudocódigo. Errores, calidad de los programas y metodología de la programación. Documentación de los programas.
1. Conceptos previos sobre programación Un  algoritmo  es una secuencia de operaciones que permiten obtener un resultado a partir de una serie de datos de entrada. Un  programa  es la traducción de un algoritmo a un lenguaje de programación. Un programa es la secuencia de instrucciones que indica las acciones que ha de ejecutar el ordenador. Un  lenguaje de programación  es el conjunto de reglas, símbolos y palabras especiales utilizadas para construir un programa. Los lenguajes de programación suelen clasificarse en: Lenguaje máquina. Lenguajes de bajo nivel o ensambladores. Lenguajes de alto nivel. Traductores del lenguaje . Son programas que traducen un programa fuente escrito en un lenguaje de alto nivel a código o lenguaje máquina. Se pueden dividir en dos categorías:  Compiladores  e  Intérpretes.
2. Ciclo de vida de una aplicación  informática El proceso que se sigue desde el planteamiento de un problema o tarea hasta que se tiene una solución instalada en la computadora, se denomina ciclo de vida de una aplicación informática. Dicho proceso se compone de varias fases: Definición . ¿Qué hay que desarrollar?. Se intenta caracterizar el sistema que se ha de construir. Se debe determinar la información que ha de usar el sistema, qué funciones debe realizar, qué condiciones existen, cuáles son las interfaces del sistema y que criterios de validación se utilizarán. Desarrollo . Se diseñan estructuras de datos y de los programas, se escriben y documentan estos, y se prueba el software. Mantenimiento . Comienza una vez construido el sistema. Durante esta fase, el software es sometido a una serie de modificaciones y reparaciones. En cada una de estas fases se pueden detectar problemas que nos hacen plantearnos conceptos de la fase anterior y rehacer el software creado con las oportunas correcciones.
2. Ciclo de vida de una aplicación  informática (cont.)
2. Ciclo de vida de una aplicación  informática (cont.) Fases de desarrollo de un programa:
3. Más allá de los programas: Algoritmos Un  algoritmo  es una secuencia finita de pasos u operaciones a realizar, necesarias para resolver en tiempo finito cualquier problema de un tipo de dato. Dos programas que resuelven el mismo problema expresados en el mismo o diferentes lenguajes de programación pero que siguen, en lo fundamental, el mismo procedimiento, son dos  implementaciones  del mismo algoritmo. Podemos expresar los algoritmos en lenguaje natural, pues el objetivo es comunicar un procedimiento resolutivo a otras personas y, eventualmente, traducirlos a algún lenguaje de programación. Si, por ejemplo, deseamos calcular la media de tres números leídos de teclado podemos seguir este algoritmo: Solicitar el valor del primer número. Solicitar el valor del segundo número. Solicitar el valor del tercer número. Sumar los tres números y dividir el resultado por 3. Mostrar el resultado. Esta secuencia de operaciones define exactamente el proceso que nos permite efectuar el cálculo propuesto.
3. Más allá de los programas: Algoritmos (Cont.) Los algoritmos son  independientes  del lenguaje de programación. Describen un procedimiento que puedes implementar en cualquier lenguaje de programación de propósito general o, incluso, que puedes ejecutar a mano con lápiz y papel y, quizá, la ayuda de una calculadora. Las características que debe cumplir todo algoritmo son:  Debe ser  preciso  e indicar el orden de realización de cada paso. Debe estar  definido . Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Ha de ser  finito . Tener un número finito de pasos. Las formas más usadas de representar algoritmos son los diagramas de flujo y el pseudocódigo.
4. Diagramas de flujo del programa:  Ordinogramas Los ordinogramas son los diagramas que detallan las instrucciones que deben codificarse en el programa. Se realiza un diseño con independencia de las características particulares de los lenguajes de programación.
4. Diagramas de flujo del programa:  Ordinogramas (cont.) Un ordinograma debe reflejar con claridad: El comienzo del programa Las operaciones La secuencia en que se realizan El final del programa
4. Diagramas de flujo del programa:  Ordinogramas (cont.) Recomendaciones: El comienzo del programa en la parte superior. El flujo de las operaciones irá, de arriba abajo y de izquierda a derecha. El final del programa en la parte inferior. Los símbolos de INICIO y FIN deben aparecer una sola vez. Se debe guardar simetría y equilibrio en la composición. Aunque se permiten, se evitarán siempre los cruces de las líneas de flujo utilizando conectores. El uso de comentarios se restringirá al mínimo imprescindible. Un reagrupamiento de líneas de flujo pueden llegar varias de ellas, pero sólo puede salir una.
4. Diagramas de flujo del programa:  Ordinogramas (cont.) Los símbolos se agrupan en 5 bloques: Símbolos de operación. TERMINAL (inicio,fin)  OPERACIÓN   E/S SUBPROGRAMA Símbolos de decisión. Líneas de flujo. Símbolos de conexión.
5. Pseudocódigo Otra manera de representar un algoritmo es mediante un falso código o pseudocódigo, que como su nombre indica, es una aproximación a la codificación final de la solución al problema planteado sin utilizar ningún lenguaje de programación específico. Para representar un algoritmo, el pseudocódigo usa palabras reservadas para describir la secuencia de pasos a realizar con el objetivo de resolver un problema.
5. Pseudocódigo (cont.) Todo algoritmo representado como pseudocódigo debe permitir la descripción de los siguientes elementos: Las instrucciones de entrada/salida. Las instrucciones de proceso. Las sentencias utilizadas para controlar el flujo de ejecución del programa. Si el problema se ha dividido en varios módulos, debe describirlos.
5. Pseudocódigo (cont.) Las instrucciones que podemos utilizar al crear una instancia de pseudocódigo se pueden agrupar en: Instucciones declarativas: valor1 Real Instrucciones de asignación: valor1 < - 2 Instrucciones de entrada: Leer valor1 Instrucciones de salida: Escribir valor1 Instrucciones de control: Instrucciones condicionales: Si (condicion) Entonces Si (condicion) Entonces Instruccion1 Instruccion1 Instruccion2 Instruccion2 Fin Si Sino InstruccionA InstruccionB Fin Si
6. Errores, calidad de los programas y  Metodología Errores de  compilación  o sintácticos. Errores de  ejecución : dividir por cero, exceder un rango de valores permitido, etc. Errores de  lógica . Errores de  especificación CALIDAD DE LOS PROGRAMAS Las características que debe reunir un programa son: Legibilidad Fiabilidad Portabilidad Modificabilidad Eficiencia METODOLOGÍA DE LA PROGRAMACIÓN Diseño modular Programación estructurada: secuencia, alternativa y repetitiva para el control de flujo de ejecución de las instrucciones.
7. Documentación de los programas Documentación interna Comentarios. Respecto a: Variables y estructuras. Estructuras de control. Subprogramas y sus parámetros. Secciones confusas. Código autodocumentado Identificadores adecuados. Constantes para valores fijos. Sangrado, paginación e intercalación de líneas en blanco. Documentación externa Documentos relativos al diseño de la aplicación. Descripción de posibles versiones. Descripción del programa principal y subprogramas. Manual de usuario. Manual de mantenimiento.

Fpr Tema 1 www.fresymetal.com

  • 1.
    Tema 1 Algoritmos y Programas. Fundamentos de Programación I.E.S. Juan de Garay
  • 2.
    Tema 1: Algoritmosy Programas Conceptos previos sobre programación. Ciclo de vida de una aplicación informática. Más allá de los programas: Algoritmos. Diagramas de flujo del programa: Ordinogramas. Pseudocódigo. Errores, calidad de los programas y metodología de la programación. Documentación de los programas.
  • 3.
    1. Conceptos previossobre programación Un algoritmo es una secuencia de operaciones que permiten obtener un resultado a partir de una serie de datos de entrada. Un programa es la traducción de un algoritmo a un lenguaje de programación. Un programa es la secuencia de instrucciones que indica las acciones que ha de ejecutar el ordenador. Un lenguaje de programación es el conjunto de reglas, símbolos y palabras especiales utilizadas para construir un programa. Los lenguajes de programación suelen clasificarse en: Lenguaje máquina. Lenguajes de bajo nivel o ensambladores. Lenguajes de alto nivel. Traductores del lenguaje . Son programas que traducen un programa fuente escrito en un lenguaje de alto nivel a código o lenguaje máquina. Se pueden dividir en dos categorías: Compiladores e Intérpretes.
  • 4.
    2. Ciclo devida de una aplicación informática El proceso que se sigue desde el planteamiento de un problema o tarea hasta que se tiene una solución instalada en la computadora, se denomina ciclo de vida de una aplicación informática. Dicho proceso se compone de varias fases: Definición . ¿Qué hay que desarrollar?. Se intenta caracterizar el sistema que se ha de construir. Se debe determinar la información que ha de usar el sistema, qué funciones debe realizar, qué condiciones existen, cuáles son las interfaces del sistema y que criterios de validación se utilizarán. Desarrollo . Se diseñan estructuras de datos y de los programas, se escriben y documentan estos, y se prueba el software. Mantenimiento . Comienza una vez construido el sistema. Durante esta fase, el software es sometido a una serie de modificaciones y reparaciones. En cada una de estas fases se pueden detectar problemas que nos hacen plantearnos conceptos de la fase anterior y rehacer el software creado con las oportunas correcciones.
  • 5.
    2. Ciclo devida de una aplicación informática (cont.)
  • 6.
    2. Ciclo devida de una aplicación informática (cont.) Fases de desarrollo de un programa:
  • 7.
    3. Más alláde los programas: Algoritmos Un algoritmo es una secuencia finita de pasos u operaciones a realizar, necesarias para resolver en tiempo finito cualquier problema de un tipo de dato. Dos programas que resuelven el mismo problema expresados en el mismo o diferentes lenguajes de programación pero que siguen, en lo fundamental, el mismo procedimiento, son dos implementaciones del mismo algoritmo. Podemos expresar los algoritmos en lenguaje natural, pues el objetivo es comunicar un procedimiento resolutivo a otras personas y, eventualmente, traducirlos a algún lenguaje de programación. Si, por ejemplo, deseamos calcular la media de tres números leídos de teclado podemos seguir este algoritmo: Solicitar el valor del primer número. Solicitar el valor del segundo número. Solicitar el valor del tercer número. Sumar los tres números y dividir el resultado por 3. Mostrar el resultado. Esta secuencia de operaciones define exactamente el proceso que nos permite efectuar el cálculo propuesto.
  • 8.
    3. Más alláde los programas: Algoritmos (Cont.) Los algoritmos son independientes del lenguaje de programación. Describen un procedimiento que puedes implementar en cualquier lenguaje de programación de propósito general o, incluso, que puedes ejecutar a mano con lápiz y papel y, quizá, la ayuda de una calculadora. Las características que debe cumplir todo algoritmo son: Debe ser preciso e indicar el orden de realización de cada paso. Debe estar definido . Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Ha de ser finito . Tener un número finito de pasos. Las formas más usadas de representar algoritmos son los diagramas de flujo y el pseudocódigo.
  • 9.
    4. Diagramas deflujo del programa: Ordinogramas Los ordinogramas son los diagramas que detallan las instrucciones que deben codificarse en el programa. Se realiza un diseño con independencia de las características particulares de los lenguajes de programación.
  • 10.
    4. Diagramas deflujo del programa: Ordinogramas (cont.) Un ordinograma debe reflejar con claridad: El comienzo del programa Las operaciones La secuencia en que se realizan El final del programa
  • 11.
    4. Diagramas deflujo del programa: Ordinogramas (cont.) Recomendaciones: El comienzo del programa en la parte superior. El flujo de las operaciones irá, de arriba abajo y de izquierda a derecha. El final del programa en la parte inferior. Los símbolos de INICIO y FIN deben aparecer una sola vez. Se debe guardar simetría y equilibrio en la composición. Aunque se permiten, se evitarán siempre los cruces de las líneas de flujo utilizando conectores. El uso de comentarios se restringirá al mínimo imprescindible. Un reagrupamiento de líneas de flujo pueden llegar varias de ellas, pero sólo puede salir una.
  • 12.
    4. Diagramas deflujo del programa: Ordinogramas (cont.) Los símbolos se agrupan en 5 bloques: Símbolos de operación. TERMINAL (inicio,fin) OPERACIÓN E/S SUBPROGRAMA Símbolos de decisión. Líneas de flujo. Símbolos de conexión.
  • 13.
    5. Pseudocódigo Otramanera de representar un algoritmo es mediante un falso código o pseudocódigo, que como su nombre indica, es una aproximación a la codificación final de la solución al problema planteado sin utilizar ningún lenguaje de programación específico. Para representar un algoritmo, el pseudocódigo usa palabras reservadas para describir la secuencia de pasos a realizar con el objetivo de resolver un problema.
  • 14.
    5. Pseudocódigo (cont.)Todo algoritmo representado como pseudocódigo debe permitir la descripción de los siguientes elementos: Las instrucciones de entrada/salida. Las instrucciones de proceso. Las sentencias utilizadas para controlar el flujo de ejecución del programa. Si el problema se ha dividido en varios módulos, debe describirlos.
  • 15.
    5. Pseudocódigo (cont.)Las instrucciones que podemos utilizar al crear una instancia de pseudocódigo se pueden agrupar en: Instucciones declarativas: valor1 Real Instrucciones de asignación: valor1 < - 2 Instrucciones de entrada: Leer valor1 Instrucciones de salida: Escribir valor1 Instrucciones de control: Instrucciones condicionales: Si (condicion) Entonces Si (condicion) Entonces Instruccion1 Instruccion1 Instruccion2 Instruccion2 Fin Si Sino InstruccionA InstruccionB Fin Si
  • 16.
    6. Errores, calidadde los programas y Metodología Errores de compilación o sintácticos. Errores de ejecución : dividir por cero, exceder un rango de valores permitido, etc. Errores de lógica . Errores de especificación CALIDAD DE LOS PROGRAMAS Las características que debe reunir un programa son: Legibilidad Fiabilidad Portabilidad Modificabilidad Eficiencia METODOLOGÍA DE LA PROGRAMACIÓN Diseño modular Programación estructurada: secuencia, alternativa y repetitiva para el control de flujo de ejecución de las instrucciones.
  • 17.
    7. Documentación delos programas Documentación interna Comentarios. Respecto a: Variables y estructuras. Estructuras de control. Subprogramas y sus parámetros. Secciones confusas. Código autodocumentado Identificadores adecuados. Constantes para valores fijos. Sangrado, paginación e intercalación de líneas en blanco. Documentación externa Documentos relativos al diseño de la aplicación. Descripción de posibles versiones. Descripción del programa principal y subprogramas. Manual de usuario. Manual de mantenimiento.