SlideShare une entreprise Scribd logo
1  sur  23
Metodología de la
Programación
Pasos a seguir para el desarrollo de un
programa (fases):

– Análisis del problema.
– Diseño de el/los algoritmos.
– Codificación del programa.
– Compilación.
– Verificación/depuración.
– Documentación.
Ejemplo
– Leer el radio de un círculo y calcular e imprimir su
  superficie y la longitud de
la circunferencia.
• Análisis
– Entradas: Radio del círculo (variable RADIO).
– Salidas: Superficie del círculo (variable AREA),
  Circunferencia del círculo
(variable CIRCUNFERENCIA).
– Variables: RADIO, AREA, CIRCUNFERENCIA
  (tipo real).
Diseño de el/los algoritmos
– Conjunto preescrito de operaciones (reglas o
  instrucciones) bien
definidas para resolver un problema en un
  número finito de pasos
– Un algoritmo: Finito (Resultado en el tiempo),
  Definido (No puede ser
ambiguo), Preciso (ejecución paso a paso).
– El diseño del algoritmo es bastante
  independiente del lenguaje de
programación (sí depende del enfoque)
– Definir paso a paso con detalle
– Diseño descendente o modular:
Algoritmo
Diagrama de flujo
Opciones De Diagramas de Flujo
Pseudocódigo
Se trata de un lenguaje imitación del de un ordenador.
No está estandarizado.
• Cada programador tiene el propio.
• Mezcla de lenguaje natural, símbolos, términos y
características de varios lenguajes de programación.
Codificación del programa
– Escribir el algoritmo en un lenguaje de programación
• Permite ser leído y ejecutado por el ordenador.
– Tipos de lenguajes:
• De bajo nivel (dependen de la máquina sobre la que se ejecuta):
– Lenguaje Máquina (escritura en binario)
– Ensambladores: (escritura simbólica)
• De alto nivel (no dependen de la máquina):
– Imperativos:
Estructurados Orientados a Objeto
• FORTRAN i Java
• C i C++
• PASCAL i Ada 95
– Declarativos:
• LISP / PROLOG
– La salida de la fase de codificación son los programas fuente (que todavía no se
pueden ejecutar directamente sobre el ordenador)
– Un programa se compone de un conjunto de instrucciones que indican las
operaciones elementales a ejecutar y la manera en que se encadenan.
Compilación y enlace
– Salvo que el programa se escriba directamente en lenguaje
máquina (muy improbable) siempre debe existir un
traductor.
– La fase de compilación y enlace permite leer el programa
escrito en lenguaje de alto nivel y traducirlo a lenguaje
maquina.
– Hay tres tipos de traductores:
     – Compiladores.
     – Interpretes.
     – Ensambladores
Compilación
(Fases de un compilador)
Compilación y enlace
Verificación/depuración
– Errores en tiempo de ejecución
• división por cero, apertura de ficheros
  inexistentes,...
– Errores lógicos (los más difíciles de
  detectar)
• Resultados incorrectos
– Optimización del algoritmo.
Compilación y enlace +
Verificación y depurado
Documentación
– Se genera a lo largo de todas la fases
– Debe permitir acceder al programa a una persona
   distinta al
programador.
– Interna:
      – Código de programa fuente
      – Comentarios
– Externa:
• Especificación de requisitos
• Listado de programa fuente
• Explicación de los algoritmos (CLARO y CONCISO)
• Diagramas de flujo o pseudocódigo.
• Especificación de datos, formatos de pantalla,...
• ...
Programación Estructurada
• Teorema de la Programación Estructurada
Todo algoritmo puede ser descrito utilizando
solamente tres tipos De estructuras de control:
secuencial, alternativa, y repetitiva.
• Secuencia
– Todas las acciones se ejecutan
sucesivamente, una a continuación
de otra sin posibilidad de
bifurcaciones.
• Sentencias Alternativa
– Una estructura alternativa bifurca el
flujo de un algoritmo según se
cumplan una o varias condiciones.
Sentencias Repetitivas:
– Una estructura de control repetitiva permite ejecutar una
   o varias
acciones un número de veces que puede estar definido a
   priori o
indefinido hasta que se cumpla una determinada
   condición.
Tipos de sentencias de control repetitivas:
– PARA: El nº de repeticiones se conoce antes de
   iniciar el bucle.
– MIENTRAS: Repite las acciones mientras la
   condición se cumple.
– HACER MIENTRAS: Se realiza siempre una vez la
   acción y luego se
vuelve a realizar mientras la condición se cumpla
– REPETIR HASTA: Repite las acciones mientras la
   condición sea
falsa (no existe en C)
Ejemplo
   • Diseñar un algoritmo que resuelva una ecuación de
    segundo grado:
   – Datos de entrada:
   • Coeficientes a,b,c
   – Datos de salida:
   • Soluciones de la ecuación si las hay
   – Nota:
   • El algoritmo únicamente resolverá la ecuación en el
   caso de existir 2 soluciones diferentes (opción 1)
   • En cualquier otro caso mostrara un mensaje de error.
   • Diseñar el algoritmo para hacer una tortilla de patata
   • Diseñar el algoritmo que resuelva la ecuación de
    segundo grado
   dando todas las posibles soluciones (opción 2).
   Ejemplo (opción 1):
   Ecuación de Segundo Grado – Pseudocódigo
   Algoritmo „Ecuación de segundo grado‟
   {Cálculo de una ecuación de segundo grado}
   Variables
   a, b, c; /*Introducir las constantes con sus signos*/
   x1, x2 /*Valores de Salida*/
   Inicio
   Escribir (“Introduzca dato A:”); /*Entrada de Datos*/
   Leer (a);
   Escribir (“Introduzca dato B:”);
   Leer (b);
   Escribir (“Introduzca dato C:”);
   Leer (c);
   Si (a != 0) entonces
   Si (b2-4*a*c > 0) /*Condición para evitar la raíz cuadrada de
   un nº negativo*/
   x1:=(-b+sqrt((b*b)-(4*a*c)))/(2*a);
   x2:=(-b-sqrt((b*b)-(4*a*c)))/(2*a);
   Escribir („Valor x1=„,x1,‟y Valor x2=„,x2);
   sino /* Raíz negativa */
   Escribir (“Datos Incorrectos”);
   fin_si
   sino
   Escribir (“ No se trata de una ecuación de 2º grado”)
   fin_si
   Fin

Contenu connexe

Tendances

Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.guestdf1874
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmosMayte dena
 
Modelos de estimacion de software
Modelos de estimacion de softwareModelos de estimacion de software
Modelos de estimacion de softwareManuel Galindo Sanz
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosFranklin Parrales Bravo
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Metodologías CMMI y PMI
Metodologías CMMI y  PMIMetodologías CMMI y  PMI
Metodologías CMMI y PMIMiguel Veces
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónEdison Morales
 
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPJglory22
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2REHAN IJAZ
 
CMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de RequerimientosCMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de RequerimientosVictor Caravantes
 
Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)Shayde Hernandez
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.pptLeydi Hernandez
 
Modelo de plan de mantenimiento
Modelo de plan de mantenimientoModelo de plan de mantenimiento
Modelo de plan de mantenimientobeatrizluis1235466
 
Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022Richard Eliseo Mendoza Gafaro
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareJosé Antonio Sandoval Acosta
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Facultad de Ciencias y Sistemas
 

Tendances (20)

Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmos
 
Modelos de estimacion de software
Modelos de estimacion de softwareModelos de estimacion de software
Modelos de estimacion de software
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectos
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Metodologías CMMI y PMI
Metodologías CMMI y  PMIMetodologías CMMI y  PMI
Metodologías CMMI y PMI
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2
 
CMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de RequerimientosCMMI y PMI en la Gestión de Requerimientos
CMMI y PMI en la Gestión de Requerimientos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
PowerPoint Programación
PowerPoint ProgramaciónPowerPoint Programación
PowerPoint Programación
 
Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
Estimacion de costos del Software
Estimacion de costos del SoftwareEstimacion de costos del Software
Estimacion de costos del Software
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
Modelo de plan de mantenimiento
Modelo de plan de mantenimientoModelo de plan de mantenimiento
Modelo de plan de mantenimiento
 
Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01
 

En vedette

Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
Metodologia de la programacion a traves del pseudocodigo miguel angel rodri...
Metodologia de la programacion a traves del pseudocodigo   miguel angel rodri...Metodologia de la programacion a traves del pseudocodigo   miguel angel rodri...
Metodologia de la programacion a traves del pseudocodigo miguel angel rodri...herson1994
 
Distribuciones de software libre
Distribuciones de software libreDistribuciones de software libre
Distribuciones de software libremagisterioinfantil
 
Software de programacion
Software de programacionSoftware de programacion
Software de programacioncamiloelpadre
 
Metodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemaMetodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemayenmary
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicoscbertolotti
 
Software Libre y Software Comercial.
Software Libre y Software Comercial.Software Libre y Software Comercial.
Software Libre y Software Comercial.guest0d1505
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Ejemplo de una introduccion
Ejemplo de una introduccionEjemplo de una introduccion
Ejemplo de una introduccionMechi Ra
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Sofware Libre Y Comercial
Sofware Libre Y ComercialSofware Libre Y Comercial
Sofware Libre Y Comercialgueste4801f
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Lis Pater
 
Software online
Software onlineSoftware online
Software onlinenanocavs
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 

En vedette (19)

Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Metodologia de la programacion a traves del pseudocodigo miguel angel rodri...
Metodologia de la programacion a traves del pseudocodigo   miguel angel rodri...Metodologia de la programacion a traves del pseudocodigo   miguel angel rodri...
Metodologia de la programacion a traves del pseudocodigo miguel angel rodri...
 
Distribuciones de software libre
Distribuciones de software libreDistribuciones de software libre
Distribuciones de software libre
 
Software de programacion
Software de programacionSoftware de programacion
Software de programacion
 
Metodologia
MetodologiaMetodologia
Metodologia
 
Software de programación
Software de programaciónSoftware de programación
Software de programación
 
Metodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemaMetodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problema
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
 
Software Libre y Software Comercial.
Software Libre y Software Comercial.Software Libre y Software Comercial.
Software Libre y Software Comercial.
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Ejemplo de una introduccion
Ejemplo de una introduccionEjemplo de una introduccion
Ejemplo de una introduccion
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Sofware Libre Y Comercial
Sofware Libre Y ComercialSofware Libre Y Comercial
Sofware Libre Y Comercial
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Software online
Software onlineSoftware online
Software online
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 

Similaire à Metodología de la programación

Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoLincoln School
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXReyna FalcÓn
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxTIRZOANTONIOMEDINACA1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1henser
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfCarlosJahnsen3
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Algoritmos con decisiones.pptx
Algoritmos con decisiones.pptxAlgoritmos con decisiones.pptx
Algoritmos con decisiones.pptxMauroTapiaMuoz
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaOmar B.
 
01_IntroduccionAlgoritmos (1).pdf
01_IntroduccionAlgoritmos (1).pdf01_IntroduccionAlgoritmos (1).pdf
01_IntroduccionAlgoritmos (1).pdfcristianperez473965
 
Algoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesAlgoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesdafemehe
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigomatteo_ibarguen
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujoinfobran
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 

Similaire à Metodología de la programación (20)

Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Programación
ProgramaciónProgramación
Programación
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos con decisiones.pptx
Algoritmos con decisiones.pptxAlgoritmos con decisiones.pptx
Algoritmos con decisiones.pptx
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
 
01_IntroduccionAlgoritmos (1).pdf
01_IntroduccionAlgoritmos (1).pdf01_IntroduccionAlgoritmos (1).pdf
01_IntroduccionAlgoritmos (1).pdf
 
Algoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesAlgoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenes
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
02 algoritmos
02 algoritmos02 algoritmos
02 algoritmos
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
 
TEMA11.ppt
TEMA11.pptTEMA11.ppt
TEMA11.ppt
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Clase 2
Clase 2Clase 2
Clase 2
 

Plus de Ansd

Programa 10
Programa 10Programa 10
Programa 10Ansd
 
Programa 9
Programa 9Programa 9
Programa 9Ansd
 
Programa 8
Programa 8Programa 8
Programa 8Ansd
 
Programa 7
Programa 7Programa 7
Programa 7Ansd
 
Programa 6
Programa 6Programa 6
Programa 6Ansd
 
Programa 5
Programa 5Programa 5
Programa 5Ansd
 
Programa 4
Programa 4Programa 4
Programa 4Ansd
 
Programa 3
Programa 3Programa 3
Programa 3Ansd
 
Programa 2
Programa 2Programa 2
Programa 2Ansd
 
Programa1
Programa1Programa1
Programa1Ansd
 
Reporte dfd
Reporte dfdReporte dfd
Reporte dfdAnsd
 
Ensayo de el pensamiento logico aplicado a la programacion
Ensayo de el pensamiento logico aplicado a la programacionEnsayo de el pensamiento logico aplicado a la programacion
Ensayo de el pensamiento logico aplicado a la programacionAnsd
 

Plus de Ansd (12)

Programa 10
Programa 10Programa 10
Programa 10
 
Programa 9
Programa 9Programa 9
Programa 9
 
Programa 8
Programa 8Programa 8
Programa 8
 
Programa 7
Programa 7Programa 7
Programa 7
 
Programa 6
Programa 6Programa 6
Programa 6
 
Programa 5
Programa 5Programa 5
Programa 5
 
Programa 4
Programa 4Programa 4
Programa 4
 
Programa 3
Programa 3Programa 3
Programa 3
 
Programa 2
Programa 2Programa 2
Programa 2
 
Programa1
Programa1Programa1
Programa1
 
Reporte dfd
Reporte dfdReporte dfd
Reporte dfd
 
Ensayo de el pensamiento logico aplicado a la programacion
Ensayo de el pensamiento logico aplicado a la programacionEnsayo de el pensamiento logico aplicado a la programacion
Ensayo de el pensamiento logico aplicado a la programacion
 

Metodología de la programación

  • 2. Pasos a seguir para el desarrollo de un programa (fases): – Análisis del problema. – Diseño de el/los algoritmos. – Codificación del programa. – Compilación. – Verificación/depuración. – Documentación.
  • 3.
  • 4. Ejemplo – Leer el radio de un círculo y calcular e imprimir su superficie y la longitud de la circunferencia. • Análisis – Entradas: Radio del círculo (variable RADIO). – Salidas: Superficie del círculo (variable AREA), Circunferencia del círculo (variable CIRCUNFERENCIA). – Variables: RADIO, AREA, CIRCUNFERENCIA (tipo real).
  • 5. Diseño de el/los algoritmos – Conjunto preescrito de operaciones (reglas o instrucciones) bien definidas para resolver un problema en un número finito de pasos – Un algoritmo: Finito (Resultado en el tiempo), Definido (No puede ser ambiguo), Preciso (ejecución paso a paso). – El diseño del algoritmo es bastante independiente del lenguaje de programación (sí depende del enfoque) – Definir paso a paso con detalle – Diseño descendente o modular:
  • 9. Pseudocódigo Se trata de un lenguaje imitación del de un ordenador. No está estandarizado. • Cada programador tiene el propio. • Mezcla de lenguaje natural, símbolos, términos y características de varios lenguajes de programación.
  • 10. Codificación del programa – Escribir el algoritmo en un lenguaje de programación • Permite ser leído y ejecutado por el ordenador. – Tipos de lenguajes: • De bajo nivel (dependen de la máquina sobre la que se ejecuta): – Lenguaje Máquina (escritura en binario) – Ensambladores: (escritura simbólica) • De alto nivel (no dependen de la máquina): – Imperativos: Estructurados Orientados a Objeto • FORTRAN i Java • C i C++ • PASCAL i Ada 95 – Declarativos: • LISP / PROLOG – La salida de la fase de codificación son los programas fuente (que todavía no se pueden ejecutar directamente sobre el ordenador) – Un programa se compone de un conjunto de instrucciones que indican las operaciones elementales a ejecutar y la manera en que se encadenan.
  • 11. Compilación y enlace – Salvo que el programa se escriba directamente en lenguaje máquina (muy improbable) siempre debe existir un traductor. – La fase de compilación y enlace permite leer el programa escrito en lenguaje de alto nivel y traducirlo a lenguaje maquina. – Hay tres tipos de traductores: – Compiladores. – Interpretes. – Ensambladores
  • 14. Verificación/depuración – Errores en tiempo de ejecución • división por cero, apertura de ficheros inexistentes,... – Errores lógicos (los más difíciles de detectar) • Resultados incorrectos – Optimización del algoritmo.
  • 15. Compilación y enlace + Verificación y depurado
  • 16. Documentación – Se genera a lo largo de todas la fases – Debe permitir acceder al programa a una persona distinta al programador. – Interna: – Código de programa fuente – Comentarios – Externa: • Especificación de requisitos • Listado de programa fuente • Explicación de los algoritmos (CLARO y CONCISO) • Diagramas de flujo o pseudocódigo. • Especificación de datos, formatos de pantalla,... • ...
  • 17.
  • 18. Programación Estructurada • Teorema de la Programación Estructurada Todo algoritmo puede ser descrito utilizando solamente tres tipos De estructuras de control: secuencial, alternativa, y repetitiva. • Secuencia – Todas las acciones se ejecutan sucesivamente, una a continuación de otra sin posibilidad de bifurcaciones. • Sentencias Alternativa – Una estructura alternativa bifurca el flujo de un algoritmo según se cumplan una o varias condiciones.
  • 19. Sentencias Repetitivas: – Una estructura de control repetitiva permite ejecutar una o varias acciones un número de veces que puede estar definido a priori o indefinido hasta que se cumpla una determinada condición. Tipos de sentencias de control repetitivas: – PARA: El nº de repeticiones se conoce antes de iniciar el bucle. – MIENTRAS: Repite las acciones mientras la condición se cumple. – HACER MIENTRAS: Se realiza siempre una vez la acción y luego se vuelve a realizar mientras la condición se cumpla – REPETIR HASTA: Repite las acciones mientras la condición sea falsa (no existe en C)
  • 20.
  • 21. Ejemplo  • Diseñar un algoritmo que resuelva una ecuación de segundo grado:  – Datos de entrada:  • Coeficientes a,b,c  – Datos de salida:  • Soluciones de la ecuación si las hay  – Nota:  • El algoritmo únicamente resolverá la ecuación en el  caso de existir 2 soluciones diferentes (opción 1)  • En cualquier otro caso mostrara un mensaje de error.  • Diseñar el algoritmo para hacer una tortilla de patata  • Diseñar el algoritmo que resuelva la ecuación de segundo grado  dando todas las posibles soluciones (opción 2).
  • 22.
  • 23. Ejemplo (opción 1):  Ecuación de Segundo Grado – Pseudocódigo  Algoritmo „Ecuación de segundo grado‟  {Cálculo de una ecuación de segundo grado}  Variables  a, b, c; /*Introducir las constantes con sus signos*/  x1, x2 /*Valores de Salida*/  Inicio  Escribir (“Introduzca dato A:”); /*Entrada de Datos*/  Leer (a);  Escribir (“Introduzca dato B:”);  Leer (b);  Escribir (“Introduzca dato C:”);  Leer (c);  Si (a != 0) entonces  Si (b2-4*a*c > 0) /*Condición para evitar la raíz cuadrada de  un nº negativo*/  x1:=(-b+sqrt((b*b)-(4*a*c)))/(2*a);  x2:=(-b-sqrt((b*b)-(4*a*c)))/(2*a);  Escribir („Valor x1=„,x1,‟y Valor x2=„,x2);  sino /* Raíz negativa */  Escribir (“Datos Incorrectos”);  fin_si  sino  Escribir (“ No se trata de una ecuación de 2º grado”)  fin_si  Fin