Fundamentos de Programación

65,543 views
65,055 views

Published on

Fundamentos de Programación

8 Comments
25 Likes
Statistics
Notes
No Downloads
Views
Total views
65,543
On SlideShare
0
From Embeds
0
Number of Embeds
631
Actions
Shares
0
Downloads
1,561
Comments
8
Likes
25
Embeds 0
No embeds

No notes for slide

Fundamentos de Programación

  1. 1. Fundamentos de Programación
  2. 2. Pasos básicos de programación <ul><li>Identificación del problema </li></ul><ul><ul><li>Establecer las condiciones de operación (Entradas) </li></ul></ul><ul><ul><li>Operaciones que debe realizar (de datos, matemáticas conversiones ) </li></ul></ul><ul><ul><li>Los resultados que va entregar </li></ul></ul><ul><li>Descripción funcional </li></ul><ul><ul><li>Reglas que debe cumplir (Semánticas) </li></ul></ul><ul><ul><li>Propiedades del modelo que va soportar </li></ul></ul><ul><li>Conocimiento de un lenguaje de programación </li></ul><ul><li>Escribir programa </li></ul><ul><li>Pruebas </li></ul><ul><li>Compilación </li></ul>
  3. 3. Algoritmo <ul><li>Conjunto de reglas, ordenadas de forma lógica, para desarrollar un cálculo o para solucionar un problema, ya sea de forma manual o utilizando una máquina. Es recomendable la utilización de un algoritmo como paso previo al desarrollo de un programa de computador. </li></ul><ul><li>Debe tratarse que cada paso descrito en el algoritmo pueda ser reflejado mediante una instrucción en un lenguaje de programación. </li></ul>
  4. 4. Características De Un Algoritmo <ul><li>Preciso: Cada paso del algoritmo se desarrolla en un una secuencia estricta, ya que el cambio en el orden puede modificar los resultados. </li></ul><ul><li>Finito: Debe tener un inicio y un final. </li></ul><ul><li>Presentación formal: Debe seguir un estándar conocido para que pueda ser entendido: Las presentaciones mas conocidas son:Diagrama de Flujo de Datos, Pseudocodigo, Diagramas de Nassi/ Schneiderman </li></ul><ul><li>Correcto: Es decir las salida final sea la esperada como resultado. </li></ul><ul><li>Eficiente: Optimizar recursos de almacenamiento y procesamiento </li></ul>
  5. 5. Diagrama de flujo de datos <ul><li>Reflejan la secuencia de pasos realizados para la resolución de un determinado problema. </li></ul>Proceso Decisión Entrada/Salidas Conector Entrada manual Documento Pantalla Inicio Fin
  6. 6. Ejemplo <ul><li>Calcular el área y perímetro de un rectángulo </li></ul>inicio b= base h= altura area= b*h perímetro= 2*(b+h) area perímetro Fin
  7. 7. Pseudocodigo <ul><li>Un pseudocódigo o falso Lenguaje, es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis. </li></ul><ul><li>Permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de software. </li></ul>
  8. 8. Pseudocodigo <ul><li>No puede ser ejecutado o interpretado por un PC. El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. </li></ul><ul><li>El objetivo del pseudocódigo es permitir que el programador se centre en los aspectos lógicos de la solución, evitando las reglas de sintaxis de los lenguajes de programación. </li></ul>
  9. 9. Ejemplo <ul><li>Calcular el salario neto de un trabajador: De acuerdo al número de horas trabajadas, precio de la hora. Al salario se le hacen descuentos por concepto de impuestos equivalentes al 20% del salario bruto </li></ul><ul><li>Inicio </li></ul><ul><li>leer nombre, horas, precio_hora </li></ul><ul><li>salario_bruto = horas * precio_hora </li></ul><ul><li>impuestos =0.20 * salario_bruto </li></ul><ul><li>salario_neto = salario_bruto - impuestos </li></ul><ul><ul><ul><li>escribir nombre,, salario_neto </li></ul></ul></ul><ul><li>Fin </li></ul>
  10. 10. Diagramas Estructurados Nassi/ Schneiderman <ul><li>El diagrama N-S o también conocido como diagrama de Chapin es una técnica de especificación de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación gráfica del diagrama de flujo. </li></ul><ul><li>Las palabras reservadas más utilizadas son: </li></ul><ul><ul><ul><li>Inicio Fin Leer Escribir </li></ul></ul></ul><ul><ul><ul><li>Mientras Repita Hasta Para </li></ul></ul></ul><ul><ul><ul><li>Incrementar Decrementar Hacer Función </li></ul></ul></ul><ul><ul><ul><li>Entero Real Caracter Cadena </li></ul></ul></ul><ul><ul><ul><li>Lógico Retornar </li></ul></ul></ul>
  11. 11. Ejemplo <ul><li>Calcular porcentaje de hombres y mujeres en un grupo </li></ul>
  12. 12. Estructuras De Control <ul><li>Secuencia: Un conjunto de instrucciones ejecutadas en el mismo orden que ha sido escritas </li></ul><ul><li>Condicionales: </li></ul><ul><ul><li>Simples </li></ul></ul><ul><ul><li>Múltiples </li></ul></ul><ul><li>Repetitivas: </li></ul><ul><ul><li>Mientras </li></ul></ul><ul><ul><li>Desde </li></ul></ul><ul><ul><li>Repetir </li></ul></ul>
  13. 13. Condicionales (If) <ul><li>Mediante la evaluación de una expresión, se ejecuta una alternativa determinada. Se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas. </li></ul>
  14. 14. Representación Diagrama de Flujo Pseudocodigo Diagramas N/S Condición Acción si … no SI <CONDICIÓN> ENTONCES ACCIÓN … . SINO … . FIN_SI CONDICIÓN? si no ACCIÓN … .
  15. 15. Alternativas Multiples (Case) <ul><li>Cuando existen más de dos alternativas posibles, es cuando se presenta el caso de alternativas múltiples. </li></ul>
  16. 16. Representación Diagrama de Flujo Pseudocodigo Diagramas N/S Condición a3 3 … no CASE <CONDICIÓN> V1: a1 V2: a2 V3: a3 V4: a4 ELSE OTRAS END_CASE CONDICIÓN? N= 1 otros a1 1 a2 2 a4 4 2 3 a1 a2 a3
  17. 17. Repetitivas Mientras (WHILE) <ul><li>MIENTRAS (WHILE) Se realiza una serie de instrucciones mientras la condición se cumple </li></ul>
  18. 18. Representación Diagrama de Flujo Pseudocodigo Diagramas N/S Condición … no MIENTRAS <CONDICIÓN> HAGA A1 A2 … FIN MIENTRAS a1 a1 Mientras Condicion A1 A2 …
  19. 19. Repetir Hasta (Until) <ul><li>HASTA (UNTIL) Se realiza una serie de instrucciones HASTA que la condición se cumple </li></ul>
  20. 20. Representación Diagrama de Flujo Pseudocodigo Diagramas N/S Condición no HAGA A1 A2 … HASTA QUE CONDICION a1 HAGA HASTA Condicion A1 A2 … a1
  21. 21. Arreglos <ul><li>Arreglos: Son listas de datos del mismo tipo que pueden ser accedidos a través de un índice </li></ul>
  22. 22. Arreglos: Creación
  23. 23. Arreglos: Inicialización de Elementos
  24. 24. Lenguajes de programación <ul><li>Programar Plantear solución a un problema mediante un Lenguaje de Programación. </li></ul><ul><li>El Paradigma de Programación condiciona la forma en que se expresa la solución a un problema. </li></ul><ul><li>El Lenguaje de Programación (que se encuadra en un determinado paradigma) es la herramienta que permite expresar nuestra solución. </li></ul>
  25. 25. Lenguajes de programación <ul><li>Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc.. </li></ul><ul><li>Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar. </li></ul>
  26. 26. Lenguajes de programación <ul><li>Los lenguajes de &quot; Alto Nivel&quot; son los mas utilizados como lenguaje de programación. En ese sentido se llama &quot;Independientes de la maquina&quot;. Ejemplos de estos lenguajes de alto nivel son PASCAL , JAVA y FORTRAN ,COBOL C, ETC. </li></ul><ul><li>Los &quot;Lenguajes Ensambladores&quot; y los &quot;Lenguajes Maquina&quot; 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. </li></ul>
  27. 27. Lenguajes de programación <ul><li>La programación de un lenguaje de alto nivel requiere, de algún tipo de interfaz con el lenguaje maquina para que el programa pueda ejecutarse. Las interfaces mas comunes: un &quot; compilador &quot; y un &quot; interprete &quot;. </li></ul><ul><li>El compilador traduce el programa a otro equivalente en el lenguaje X de la maquina &quot;residente&quot; como un paso separado antes de la ejecución. </li></ul><ul><li>El interprete ejecuta directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo. </li></ul>
  28. 28. Lenguajes de programación <ul><li>Hay lenguajes de programación que utilizan compilador . 1) Traducir el programa simbólico a código máquina 2) Ejecución y procesamiento de los datos. </li></ul><ul><li>Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas. </li></ul>
  29. 29. Lenguajes de programación <ul><li>El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente. </li></ul><ul><li>Máquina 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 Máquina Abstracta </li></ul>
  30. 30. Lenguajes de programación: Máquina Virtual
  31. 31. Lenguajes de programación: Máquina Virtual
  32. 32. Lenguajes de programación <ul><li>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 ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente. </li></ul>
  33. 33. Cuerpo del programa <ul><li>Conformado por una serie de preposiciones, de diferentes tipos: </li></ul><ul><ul><li>Declarativas: Define las variables y elementos que participan en el programa </li></ul></ul><ul><ul><li>Operacionales: Realizan operaciones con las variables </li></ul></ul><ul><ul><li>Estructurales: Controlan el flujo del programa </li></ul></ul>
  34. 34. Cuerpo del programa <ul><li>Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa. </li></ul><ul><ul><li>Claras y con referencia directa al problema. </li></ul></ul><ul><ul><li>No espacios en blanco, ni símbolos extraños en ellas. </li></ul></ul><ul><ul><li>Se pueden usar abreviaturas, pero solo de carácter general. </li></ul></ul><ul><ul><li>No deben ser palabras reservadas del lenguaje. </li></ul></ul>
  35. 35. Ejemplo 1: Serie de Fibonacci <ul><li>Serie de Fibonacci: es una sucesión de números enteros que fue descrita por primera vez en Europa por Leonardo de Pisa, también conocido como Fibonacci. </li></ul>
  36. 36. Ejemplo 1: Serie de Fibonacci <ul><li>Se obtiene mediante la siguiente función recursiva: </li></ul><ul><li>O sea, que se empieza con 0 y 1, y luego cada número es la suma de los dos anteriores. </li></ul>
  37. 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. 38. Ejemplo 1 <ul><li>Serie de Fibonacci </li></ul>inicio Lea Numero términos (N) N1 = 1 T = 1 Serie = T Índice = 2 Índice >=2 N2 = N1 N1 = T T = N1 + N2 Serie = Serie & T Índice <= N-1 índice = índice +1 serie FIN NO SI SI NO Serie = 1 & Serie
  39. 39. <ul><li>Tomado de : </li></ul>http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo

×