Fundamentos de Programación
Pasos básicos de programación Identificación del problema Establecer las condiciones de operación (Entradas) Operaciones que debe realizar (de datos, matemáticas conversiones ) Los resultados que va entregar Descripción funcional Reglas que debe cumplir (Semánticas) Propiedades del modelo que va soportar Conocimiento de un lenguaje de programación Escribir programa Pruebas Compilación
Algoritmo 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. Debe tratarse que cada paso descrito en el algoritmo pueda ser reflejado mediante una instrucción en un lenguaje de programación.
Características De Un Algoritmo Preciso: Cada  paso del algoritmo se desarrolla  en un una secuencia  estricta, ya que el cambio en el orden puede modificar los resultados.  Finito: Debe tener un inicio y un final. 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  Correcto: Es decir las salida final sea la esperada como resultado. Eficiente: Optimizar recursos de almacenamiento y procesamiento
Diagrama  de flujo de datos Reflejan  la secuencia de pasos  realizados  para la resolución de un determinado problema.  Proceso Decisión Entrada/Salidas Conector Entrada manual Documento Pantalla Inicio Fin
Ejemplo Calcular el área y perímetro de un rectángulo inicio b= base h= altura area= b*h perímetro= 2*(b+h) area perímetro Fin
Pseudocodigo 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.  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.
Pseudocodigo 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. 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.
Ejemplo 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  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
Diagramas Estructurados Nassi/ Schneiderman  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.  Las palabras reservadas más utilizadas son: Inicio Fin Leer Escribir Mientras Repita Hasta Para Incrementar Decrementar Hacer Función Entero Real Caracter Cadena Lógico Retornar
Ejemplo Calcular porcentaje de hombres y mujeres en un grupo
Estructuras De Control Secuencia: Un conjunto de instrucciones ejecutadas en el mismo orden que ha sido escritas Condicionales: Simples Múltiples Repetitivas: Mientras  Desde Repetir
Condicionales (If) 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.
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 … .
Alternativas Multiples (Case) Cuando existen más de dos alternativas posibles, es cuando se presenta el caso de alternativas múltiples.
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
Repetitivas Mientras (WHILE)  MIENTRAS (WHILE) Se realiza una serie de instrucciones mientras la condición se cumple
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 …
Repetir Hasta (Until) HASTA (UNTIL) Se realiza una serie de instrucciones HASTA que la condición se cumple
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
Arreglos Arreglos: Son listas de datos del mismo tipo que pueden ser accedidos a través de un índice
Arreglos: Creación
Arreglos: Inicialización de Elementos
Lenguajes de programación Programar  Plantear solución a un problema mediante un Lenguaje de Programación. El Paradigma de Programación condiciona la forma en que se expresa la solución a un problema. El Lenguaje de Programación (que se encuadra en un determinado paradigma) es la herramienta que permite expresar nuestra solución.
Lenguajes de programación Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc.. 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.
Lenguajes de programación 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. 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.
Lenguajes de programación 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;.  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.  El interprete ejecuta  directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo.
Lenguajes de programación 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. 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.
Lenguajes de programación 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. 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
Lenguajes de programación: Máquina Virtual
Lenguajes de programación: Máquina Virtual
Lenguajes de programación 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.
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
Cuerpo del programa Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa. Claras y con referencia directa al problema. No espacios en blanco, ni símbolos extraños en ellas. Se pueden usar abreviaturas, pero solo de carácter general. No deben ser palabras reservadas del lenguaje.
Ejemplo 1: Serie de Fibonacci 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.
Ejemplo 1: Serie de Fibonacci Se obtiene mediante la siguiente función recursiva: O sea, que se empieza con 0 y 1, y luego cada número es la suma de los dos anteriores.
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
Ejemplo 1 Serie de Fibonacci 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
Tomado de : http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo

Fundamentos de Programación

  • 1.
  • 2.
    Pasos básicos deprogramación Identificación del problema Establecer las condiciones de operación (Entradas) Operaciones que debe realizar (de datos, matemáticas conversiones ) Los resultados que va entregar Descripción funcional Reglas que debe cumplir (Semánticas) Propiedades del modelo que va soportar Conocimiento de un lenguaje de programación Escribir programa Pruebas Compilación
  • 3.
    Algoritmo Conjunto dereglas, 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. Debe tratarse que cada paso descrito en el algoritmo pueda ser reflejado mediante una instrucción en un lenguaje de programación.
  • 4.
    Características De UnAlgoritmo Preciso: Cada paso del algoritmo se desarrolla en un una secuencia estricta, ya que el cambio en el orden puede modificar los resultados. Finito: Debe tener un inicio y un final. 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 Correcto: Es decir las salida final sea la esperada como resultado. Eficiente: Optimizar recursos de almacenamiento y procesamiento
  • 5.
    Diagrama deflujo de datos Reflejan la secuencia de pasos realizados para la resolución de un determinado problema. Proceso Decisión Entrada/Salidas Conector Entrada manual Documento Pantalla Inicio Fin
  • 6.
    Ejemplo Calcular elárea y perímetro de un rectángulo inicio b= base h= altura area= b*h perímetro= 2*(b+h) area perímetro Fin
  • 7.
    Pseudocodigo Un pseudocódigoo 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. 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.
  • 8.
    Pseudocodigo No puedeser 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. 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.
  • 9.
    Ejemplo Calcular elsalario 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 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 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. Las palabras reservadas más utilizadas son: Inicio Fin Leer Escribir Mientras Repita Hasta Para Incrementar Decrementar Hacer Función Entero Real Caracter Cadena Lógico Retornar
  • 11.
    Ejemplo Calcular porcentajede hombres y mujeres en un grupo
  • 12.
    Estructuras De ControlSecuencia: Un conjunto de instrucciones ejecutadas en el mismo orden que ha sido escritas Condicionales: Simples Múltiples Repetitivas: Mientras Desde Repetir
  • 13.
    Condicionales (If) Mediantela 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.
  • 14.
    Representación Diagrama deFlujo 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.
    Alternativas Multiples (Case)Cuando existen más de dos alternativas posibles, es cuando se presenta el caso de alternativas múltiples.
  • 16.
    Representación Diagrama deFlujo 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.
    Repetitivas Mientras (WHILE) MIENTRAS (WHILE) Se realiza una serie de instrucciones mientras la condición se cumple
  • 18.
    Representación Diagrama deFlujo Pseudocodigo Diagramas N/S Condición … no MIENTRAS <CONDICIÓN> 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 condición se cumple
  • 20.
    Representación Diagrama deFlujo Pseudocodigo Diagramas N/S Condición no HAGA A1 A2 … HASTA QUE CONDICION a1 HAGA HASTA Condicion A1 A2 … a1
  • 21.
    Arreglos Arreglos: Sonlistas de datos del mismo tipo que pueden ser accedidos a través de un índice
  • 22.
  • 23.
  • 24.
    Lenguajes de programaciónProgramar Plantear solución a un problema mediante un Lenguaje de Programación. El Paradigma de Programación condiciona la forma en que se expresa la solución a un problema. El Lenguaje de Programación (que se encuadra en un determinado paradigma) es la herramienta que permite expresar nuestra solución.
  • 25.
    Lenguajes de programaciónLos lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc.. 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.
  • 26.
    Lenguajes de programaciónLos 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. 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.
  • 27.
    Lenguajes de programaciónLa 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;. 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. El interprete ejecuta directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo.
  • 28.
    Lenguajes de programaciónHay 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. 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.
  • 29.
    Lenguajes de programaciónEl intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente. 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
  • 30.
  • 31.
  • 32.
    Lenguajes de programaciónLa 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.
  • 33.
    Cuerpo del programaConformado 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 programaUna variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa. Claras y con referencia directa al problema. No espacios en blanco, ni símbolos extraños en ellas. Se pueden usar abreviaturas, pero solo de carácter general. No deben ser palabras reservadas del lenguaje.
  • 35.
    Ejemplo 1: Seriede Fibonacci 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.
  • 36.
    Ejemplo 1: Seriede Fibonacci Se obtiene mediante la siguiente función recursiva: O sea, que se empieza con 0 y 1, y luego cada número es la suma de los dos anteriores.
  • 37.
    Ejemplo 1: Seriede 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 Seriede Fibonacci 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.
    Tomado de :http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo