0
Tema 1  Algoritmos y Programas. Fundamentos de Programación I.E.S. Juan de Garay
Tema 1: Algoritmos y Programas <ul><li>Conceptos previos sobre programación. </li></ul><ul><li>Ciclo de vida de una aplica...
1. Conceptos previos sobre programación <ul><li>Un  algoritmo  es una secuencia de operaciones que permiten obtener un res...
2. Ciclo de vida de una aplicación  informática <ul><li>El proceso que se sigue desde el planteamiento de un problema o ta...
2. Ciclo de vida de una aplicación  informática (cont.)
2. Ciclo de vida de una aplicación  informática (cont.) <ul><li>Fases de desarrollo de un programa: </li></ul>
3. Más allá de los programas: Algoritmos <ul><li>Un  algoritmo  es una secuencia finita de pasos u operaciones a realizar,...
3. Más allá de los programas: Algoritmos (Cont.) <ul><li>Los algoritmos son  independientes  del lenguaje de programación....
4. Diagramas de flujo del programa:  Ordinogramas <ul><li>Los ordinogramas son los diagramas que detallan las instruccione...
4. Diagramas de flujo del programa:  Ordinogramas (cont.) <ul><li>Un ordinograma debe reflejar con claridad: </li></ul><ul...
4. Diagramas de flujo del programa:  Ordinogramas (cont.) <ul><li>Recomendaciones: </li></ul><ul><li>El comienzo del progr...
4. Diagramas de flujo del programa:  Ordinogramas (cont.) <ul><li>Los símbolos se agrupan en 5 bloques: </li></ul><ul><li>...
5. Pseudocódigo <ul><li>Otra manera de representar un algoritmo es mediante un falso código o pseudocódigo, que como su no...
5. Pseudocódigo (cont.) <ul><li>Todo algoritmo representado como pseudocódigo debe permitir la descripción de los siguient...
5. Pseudocódigo (cont.) <ul><li>Las instrucciones que podemos utilizar al crear una instancia de pseudocódigo se pueden ag...
6. Errores, calidad de los programas y  Metodología <ul><li>Errores de  compilación  o sintácticos. </li></ul><ul><li>Erro...
7. Documentación de los programas <ul><li>Documentación interna </li></ul><ul><ul><ul><li>Comentarios. Respecto a: </li></...
Upcoming SlideShare
Loading in...5
×

Fpr Tema 1 www.fresymetal.com

1,608

Published on

www.fresymetal.com

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,608
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
65
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Fpr Tema 1 www.fresymetal.com"

  1. 1. Tema 1 Algoritmos y Programas. Fundamentos de Programación I.E.S. Juan de Garay
  2. 2. Tema 1: Algoritmos y Programas <ul><li>Conceptos previos sobre programación. </li></ul><ul><li>Ciclo de vida de una aplicación informática. </li></ul><ul><li>Más allá de los programas: Algoritmos. </li></ul><ul><li>Diagramas de flujo del programa: Ordinogramas. </li></ul><ul><li>Pseudocódigo. </li></ul><ul><li>Errores, calidad de los programas y metodología de la programación. </li></ul><ul><li>Documentación de los programas. </li></ul>
  3. 3. 1. Conceptos previos sobre programación <ul><li>Un algoritmo es una secuencia de operaciones que permiten obtener un resultado a partir de una serie de datos de entrada. </li></ul><ul><li>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. </li></ul><ul><li>Un lenguaje de programación es el conjunto de reglas, símbolos y palabras especiales utilizadas para construir un programa. </li></ul><ul><li>Los lenguajes de programación suelen clasificarse en: </li></ul><ul><li>Lenguaje máquina. </li></ul><ul><li>Lenguajes de bajo nivel o ensambladores. </li></ul><ul><li>Lenguajes de alto nivel. </li></ul><ul><li>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. </li></ul>
  4. 4. 2. Ciclo de vida de una aplicación informática <ul><li>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: </li></ul><ul><ul><ul><li>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. </li></ul></ul></ul><ul><ul><ul><li>Desarrollo . Se diseñan estructuras de datos y de los programas, se escriben y documentan estos, y se prueba el software. </li></ul></ul></ul><ul><ul><ul><li>Mantenimiento . Comienza una vez construido el sistema. Durante esta fase, el software es sometido a una serie de modificaciones y reparaciones. </li></ul></ul></ul><ul><li>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. </li></ul>
  5. 5. 2. Ciclo de vida de una aplicación informática (cont.)
  6. 6. 2. Ciclo de vida de una aplicación informática (cont.) <ul><li>Fases de desarrollo de un programa: </li></ul>
  7. 7. 3. Más allá de los programas: Algoritmos <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>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: </li></ul><ul><ul><ul><li>Solicitar el valor del primer número. </li></ul></ul></ul><ul><ul><ul><li>Solicitar el valor del segundo número. </li></ul></ul></ul><ul><ul><ul><li>Solicitar el valor del tercer número. </li></ul></ul></ul><ul><ul><ul><li>Sumar los tres números y dividir el resultado por 3. </li></ul></ul></ul><ul><ul><ul><li>Mostrar el resultado. </li></ul></ul></ul><ul><li>Esta secuencia de operaciones define exactamente el proceso que nos permite efectuar el cálculo propuesto. </li></ul>
  8. 8. 3. Más allá de los programas: Algoritmos (Cont.) <ul><li>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. </li></ul><ul><li>Las características que debe cumplir todo algoritmo son: </li></ul><ul><li>Debe ser preciso e indicar el orden de realización de cada paso. </li></ul><ul><li>Debe estar definido . Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. </li></ul><ul><li>Ha de ser finito . Tener un número finito de pasos. </li></ul><ul><li>Las formas más usadas de representar algoritmos son los diagramas de flujo y el pseudocódigo. </li></ul>
  9. 9. 4. Diagramas de flujo del programa: Ordinogramas <ul><li>Los ordinogramas son los diagramas que detallan las instrucciones que deben codificarse en el programa. </li></ul><ul><li>Se realiza un diseño con independencia de las características particulares de los lenguajes de programación. </li></ul>
  10. 10. 4. Diagramas de flujo del programa: Ordinogramas (cont.) <ul><li>Un ordinograma debe reflejar con claridad: </li></ul><ul><ul><li>El comienzo del programa </li></ul></ul><ul><ul><li>Las operaciones </li></ul></ul><ul><ul><li>La secuencia en que se realizan </li></ul></ul><ul><ul><li>El final del programa </li></ul></ul>
  11. 11. 4. Diagramas de flujo del programa: Ordinogramas (cont.) <ul><li>Recomendaciones: </li></ul><ul><li>El comienzo del programa en la parte superior. </li></ul><ul><li>El flujo de las operaciones irá, de arriba abajo y de izquierda a derecha. </li></ul><ul><li>El final del programa en la parte inferior. </li></ul><ul><li>Los símbolos de INICIO y FIN deben aparecer una sola vez. </li></ul><ul><li>Se debe guardar simetría y equilibrio en la composición. </li></ul><ul><li>Aunque se permiten, se evitarán siempre los cruces de las líneas de flujo utilizando conectores. </li></ul><ul><li>El uso de comentarios se restringirá al mínimo imprescindible. </li></ul><ul><li>Un reagrupamiento de líneas de flujo pueden llegar varias de ellas, pero sólo puede salir una. </li></ul>
  12. 12. 4. Diagramas de flujo del programa: Ordinogramas (cont.) <ul><li>Los símbolos se agrupan en 5 bloques: </li></ul><ul><li>Símbolos de operación. </li></ul>TERMINAL (inicio,fin) OPERACIÓN E/S SUBPROGRAMA Símbolos de decisión. Líneas de flujo. Símbolos de conexión.
  13. 13. 5. Pseudocódigo <ul><li>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. </li></ul><ul><li>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. </li></ul>
  14. 14. 5. Pseudocódigo (cont.) <ul><li>Todo algoritmo representado como pseudocódigo debe permitir la descripción de los siguientes elementos: </li></ul><ul><ul><ul><li>Las instrucciones de entrada/salida. </li></ul></ul></ul><ul><ul><ul><li>Las instrucciones de proceso. </li></ul></ul></ul><ul><ul><ul><li>Las sentencias utilizadas para controlar el flujo de ejecución del programa. </li></ul></ul></ul><ul><ul><ul><li>Si el problema se ha dividido en varios módulos, debe describirlos. </li></ul></ul></ul>
  15. 15. 5. Pseudocódigo (cont.) <ul><li>Las instrucciones que podemos utilizar al crear una instancia de pseudocódigo se pueden agrupar en: </li></ul><ul><ul><ul><li>Instucciones declarativas: valor1 Real </li></ul></ul></ul><ul><ul><ul><li>Instrucciones de asignación: valor1 < - 2 </li></ul></ul></ul><ul><ul><ul><li>Instrucciones de entrada: Leer valor1 </li></ul></ul></ul><ul><ul><ul><li>Instrucciones de salida: Escribir valor1 </li></ul></ul></ul><ul><ul><ul><li>Instrucciones de control: Instrucciones condicionales: Si (condicion) Entonces Si (condicion) Entonces </li></ul></ul></ul><ul><ul><ul><li>Instruccion1 Instruccion1 </li></ul></ul></ul><ul><ul><ul><li>Instruccion2 Instruccion2 </li></ul></ul></ul><ul><ul><ul><li>Fin Si Sino </li></ul></ul></ul><ul><ul><ul><li>InstruccionA </li></ul></ul></ul><ul><ul><ul><li>InstruccionB </li></ul></ul></ul><ul><ul><ul><li>Fin Si </li></ul></ul></ul>
  16. 16. 6. Errores, calidad de los programas y Metodología <ul><li>Errores de compilación o sintácticos. </li></ul><ul><li>Errores de ejecución : dividir por cero, exceder un rango de valores permitido, etc. </li></ul><ul><li>Errores de lógica . </li></ul><ul><li>Errores de especificación </li></ul><ul><li>CALIDAD DE LOS PROGRAMAS </li></ul><ul><li>Las características que debe reunir un programa son: </li></ul><ul><ul><ul><li>Legibilidad </li></ul></ul></ul><ul><ul><ul><li>Fiabilidad </li></ul></ul></ul><ul><ul><ul><li>Portabilidad </li></ul></ul></ul><ul><ul><ul><li>Modificabilidad </li></ul></ul></ul><ul><ul><ul><li>Eficiencia </li></ul></ul></ul><ul><ul><li>METODOLOGÍA DE LA PROGRAMACIÓN </li></ul></ul><ul><li>Diseño modular </li></ul><ul><li>Programación estructurada: secuencia, alternativa y repetitiva para el control de flujo de ejecución de las instrucciones. </li></ul>
  17. 17. 7. Documentación de los programas <ul><li>Documentación interna </li></ul><ul><ul><ul><li>Comentarios. Respecto a: </li></ul></ul></ul><ul><ul><ul><ul><li>Variables y estructuras. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Estructuras de control. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Subprogramas y sus parámetros. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Secciones confusas. </li></ul></ul></ul></ul><ul><ul><ul><li>Código autodocumentado </li></ul></ul></ul><ul><ul><ul><ul><li>Identificadores adecuados. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Constantes para valores fijos. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Sangrado, paginación e intercalación de líneas en blanco. </li></ul></ul></ul></ul><ul><li>Documentación externa </li></ul><ul><ul><ul><li>Documentos relativos al diseño de la aplicación. </li></ul></ul></ul><ul><ul><ul><li>Descripción de posibles versiones. </li></ul></ul></ul><ul><ul><ul><li>Descripción del programa principal y subprogramas. </li></ul></ul></ul><ul><ul><ul><li>Manual de usuario. </li></ul></ul></ul><ul><ul><ul><li>Manual de mantenimiento. </li></ul></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×