Fundamentos de Programación

Click here to load reader

  • date post

    16-Jun-2015
  • Category

    Documents

  • view

    62.838
  • download

    1

Embed Size (px)

description

Fundamentos de Programación

Transcript of Fundamentos de Programación

  • 1. Fundamentos de Programacin

2. Pasos bsicos de programacin

  • Identificacin del problema
    • Establecer las condiciones de operacin (Entradas)
    • Operaciones que debe realizar (de datos, matemticas conversiones )
    • Los resultados que va entregar
  • Descripcin funcional
    • Reglas que debe cumplir (Semnticas)
    • Propiedades del modelo que va soportar
  • Conocimiento de un lenguaje de programacin
  • Escribir programa
  • Pruebas
  • Compilacin

3. Algoritmo

  • Conjunto de reglas, ordenadas de forma lgica, para desarrollar un clculo o para solucionar un problema, ya sea de forma manual o utilizando una mquina. Es recomendable la utilizacinde un algoritmo como paso previo al desarrollo de un programa de computador.
  • Debe tratarse que cada paso descrito en el algoritmo pueda ser reflejado mediante una instruccin en un lenguaje de programacin.

4. Caractersticas De Un Algoritmo

  • Preciso: Cadapaso del algoritmo se desarrollaen un una secuenciaestricta, ya que el cambio en el orden puede modificar los resultados.
  • Finito: Debe tener un inicio y un final.
  • Presentacin formal: Debe seguir un estndar conocido para que pueda ser entendido: Las presentaciones mas conocidas son:Diagrama de Flujo de Datos, Pseudocodigo, Diagramas de Nassi/ Schneiderman
  • Correcto: Es decir las salida final sea la esperada como resultado.
  • Eficiente: Optimizar recursos de almacenamiento y procesamiento

5. Diagramade flujo de datos

  • Reflejanla secuencia de pasosrealizadospara la resolucin de un determinado problema.

Proceso Decisin Entrada/Salidas Conector Entrada manual Documento Pantalla Inicio Fin 6. Ejemplo

  • Calcular el rea y permetro de un rectngulo

inicio b= base h= altura area= b*h permetro= 2*(b+h) area permetro Fin 7. Pseudocodigo

  • Un pseudocdigo o falso Lenguaje, es una serie de normas lxicasy gramaticales parecidas a la mayora de los lenguajes de programacin, pero sin llegar a la rigidez de sintaxis.
  • Permite codificar un programa con mayor agilidad que en cualquier lenguaje de programacin, con la misma validez semntica, normalmente se utiliza en las fases de anlisis o diseo de software.

8. Pseudocodigo

  • No puede ser ejecutado o interpretado por unPC.El pseudocdigo describe un algoritmo utilizando una mezcla de frases en lenguaje comn, instrucciones de programacin y palabras clave que definen las estructuras bsicas.
  • El objetivo del pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin, evitando las reglas de sintaxis de los lenguajes de programacin.

9. Ejemplo

  • Calcular el salario neto de un trabajador: De acuerdo al nmero de horas trabajadas, precio de la hora. Al salario se le hacen descuentos por concepto de impuestos equivalentes al 20% del salario bruto
  • Inicio
  • leer nombre, horas, precio_hora
  • salario_bruto= horas * precio_hora
  • impuestos =0.20 * salario_bruto
  • salario_neto = salario_bruto - impuestos
      • escribir nombre,, salario_neto
  • Fin

10. Diagramas Estructurados Nassi/ Schneiderman

  • El diagrama N-S o tambin conocido como diagrama de Chapin es una tcnica de especificacin de algoritmos que combina la descripcintextual, propia del pseudocdigo, con la representacin grfica del diagrama de flujo.
  • Las palabras reservadas ms utilizadas son:
      • Inicio Fin Leer Escribir
      • Mientras Repita Hasta Para
      • Incrementar Decrementar Hacer Funcin
      • Entero Real Caracter Cadena
      • Lgico Retornar

11. Ejemplo

  • Calcular porcentaje de hombres y mujeres en un grupo

12. Estructuras De Control

  • Secuencia: Un conjunto de instrucciones ejecutadas en el mismo orden que ha sido escritas
  • Condicionales:
    • Simples
    • Mltiples
  • Repetitivas:
    • Mientras
    • Desde
    • Repetir

13. Condicionales (If)

  • Mediante la evaluacin de una expresin, se ejecuta una alternativa determinada. Se utilizan para tomar decisiones lgicas; de ah que se suelan denominar tambinestructuras de decisin o alternativas.

14. Representacin Diagrama de Flujo Pseudocodigo Diagramas N/SCondicin Accin si no SI ENTONCES ACCIN . SINO . FIN_SI CONDICIN? si no ACCIN . 15. Alternativas Multiples (Case)

  • Cuando existen ms de dos alternativas posibles, es cuando se presenta el caso de alternativas mltiples.

16. Representacin Diagrama de Flujo Pseudocodigo Diagramas N/SCondicin a3 3 no CASE V1: a1 V2: a2 V3: a3 V4: a4 ELSE OTRAS END_CASE CONDICIN? N= 1 otros a1 1 a2 2 a4 4 2 3 a1 a2 a3 17. Repetitivas Mientras (WHILE)

  • MIENTRAS (WHILE) Se realiza una serie de instrucciones mientras la condicin se cumple

18. Representacin Diagrama de Flujo Pseudocodigo Diagramas N/SCondicin no MIENTRAS HAGA A1 A2 FIN MIENTRAS a1 a1 Mientras Condicion A1 A2 19. Repetir Hasta (Until)

  • HASTA (UNTIL) Se realiza una serie de instrucciones HASTA que la condicin se cumple

20. Representacin Diagrama de Flujo Pseudocodigo Diagramas N/SCondicin no HAGAA1 A2 HASTA QUE CONDICION a1 HAGA HASTA Condicion A1 A2 a1 21. Arreglos

  • Arreglos: Son listas de datos del mismo tipo que pueden ser accedidos a travs de un ndice

22. Arreglos: Creacin 23. Arreglos: Inicializacin de Elementos 24. Lenguajes de programacin

  • ProgramarPlantear solucin a un problema mediante un Lenguaje de Programacin.
  • El Paradigma de Programacin condiciona la forma en que se expresa la solucin a un problema.
  • El Lenguaje de Programacin (que se encuadra en un determinado paradigma) es la herramienta que permite expresar nuestra solucin.

25. Lenguajes de programacin

  • Los lenguajes de programacin son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc..
  • Loslenguajes de programacinfacilitan la tarea de programacin, ya que disponen de formas adecuadas que permiten ser ledas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

26. Lenguajes de programacin

  • Los lenguajes de " Alto Nivel" son los mas utilizados como lenguaje de programacin. En ese sentido se llama "Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son PASCAL , JAVA y FORTRAN ,COBOL C, ETC.
  • Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado.

27. Lenguajes de programacin

  • La programacin de un lenguaje de alto nivel requiere, de algn tipo de interfaz con el lenguaje maquina para que el programa pueda ejecutarse. Las interfaces mas comunes:un " compilador " y un " interprete ".
  • El compilador traduceel programa a otro equivalente en el lenguaje X de la maquina "residente" como un paso separado antes de la ejecucin.
  • El interprete ejecutadirectamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo.

28. Lenguajes de programacin

  • Hay lenguajes de programacin que utilizancompilador .1) Traducir el programa simblico a cdigo mquina 2) Ejecucin y procesamiento de los datos.
  • Otros lenguajes de programacin utilizan un programa intrprete o traductor, el cual analiza directamente la descripcin simblica del programa fuente y realiza las instrucciones dadas.

29. Lenguajes de programacin

  • Elintrpreteen los lenguajes de programacin simula una mquina virtual, donde el lenguaje de mquina es similar al lenguaje fuente.
  • Mquina virtual : Software que crea un entorno virtual entre la plataforma de la computadora y su sistema operativo, de tal forma que un usuario final puede ejecutar programas en una Mquina Abstracta

30. Lenguajes de programacin: Mquina Virtual 31. Lenguajes de programacin: Mquina Virtual 32. Lenguajes de programacin

  • La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecucin es ms lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.

33. Cuerpo del programa

  • Conformado por una serie de preposiciones, de diferentes tipos:
    • Declarativas: Define las variables y elementos que participan en el programa
    • Operacionales: Realizan operaciones con las variables
    • Estructurales: Controlan el flujo del programa

34. Cuerpo del programa

  • Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucin de un programa.
    • Claras y con referencia directa al problema.
    • No espacios en blanco, ni smbolos extraos en ellas.
    • Se pueden usar abreviaturas, pero solo de carcter general.
    • No deben ser palabras reservadas del lenguaje.

35. Ejemplo 1: Serie de Fibonacci

  • Serie de Fibonacci: es una sucesin de nmeros enteros que fue descrita por primera vez en Europa por Leonardo de Pisa, tambin conocido como Fibonacci.

36. Ejemplo 1: Serie de Fibonacci

  • Se obtiene mediante la siguiente funcin recursiva:
  • O sea, que se empieza con 0 y 1, y luego cada nmero es la suma de los dos anteriores.

37. Ejemplo 1: Serie de Fibonacci 144 12 89 11 55 10 34 9 21 8 13 7 8 6 5 5 3 4 2 3 1 2 1 1 0 0 F(n) n 38. Ejemplo 1

  • Serie de Fibonacci

inicio Lea Numero trminos (N) N1 = 1 T = 1 Serie= T ndice = 2 ndice >=2 N2 = N1 N1 = T T = N1 + N2 Serie= Serie & T ndice