SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
Abdul Basit
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
Tauseef Ahmad
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
Emanuel Gs
 

Mais procurados (20)

Spm unit 2
Spm unit 2Spm unit 2
Spm unit 2
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Unified Process
Unified Process Unified Process
Unified Process
 
Los 10 Principios Heurísticos de Nielsen
Los  10 Principios Heurísticos de Nielsen Los  10 Principios Heurísticos de Nielsen
Los 10 Principios Heurísticos de Nielsen
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
 
NLP
NLPNLP
NLP
 
IHC - Slide 2 - Usabilidade e Princípios de Design
IHC - Slide 2 - Usabilidade e Princípios de DesignIHC - Slide 2 - Usabilidade e Princípios de Design
IHC - Slide 2 - Usabilidade e Princípios de Design
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Metodos formales
Metodos formalesMetodos formales
Metodos formales
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
 
Opinion Mining Tutorial (Sentiment Analysis)
Opinion Mining Tutorial (Sentiment Analysis)Opinion Mining Tutorial (Sentiment Analysis)
Opinion Mining Tutorial (Sentiment Analysis)
 
Web Engineering- Web Application Categories & Characteristics Book Gerti Kappel
Web Engineering- Web Application Categories & Characteristics Book Gerti KappelWeb Engineering- Web Application Categories & Characteristics Book Gerti Kappel
Web Engineering- Web Application Categories & Characteristics Book Gerti Kappel
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
 
Von neumann Architecture | Computer Science
Von neumann Architecture | Computer ScienceVon neumann Architecture | Computer Science
Von neumann Architecture | Computer Science
 
Requirement Elicitation and Analysis.pptx
Requirement Elicitation and Analysis.pptxRequirement Elicitation and Analysis.pptx
Requirement Elicitation and Analysis.pptx
 
Hypertext, multimedia and www
Hypertext, multimedia and wwwHypertext, multimedia and www
Hypertext, multimedia and www
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 

Destaque

Distribuciones de software libre
Distribuciones de software libreDistribuciones de software libre
Distribuciones de software libre
magisterioinfantil
 
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
yenmary
 
Ejemplo de una introduccion
Ejemplo de una introduccionEjemplo de una introduccion
Ejemplo de una introduccion
Mechi Ra
 
Sofware Libre Y Comercial
Sofware Libre Y ComercialSofware Libre Y Comercial
Sofware Libre Y Comercial
gueste4801f
 

Destaque (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
 

Semelhante a Metodología de la programación

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
Boris Salleg
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
infobran
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
Leydi Hernandez
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
neyvajms
 

Semelhante a 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
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
TEMA11.ppt
TEMA11.pptTEMA11.ppt
TEMA11.ppt
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 

Mais de Ansd

Programa 10
Programa 10Programa 10
Programa 10
Ansd
 
Programa 9
Programa 9Programa 9
Programa 9
Ansd
 
Programa 8
Programa 8Programa 8
Programa 8
Ansd
 
Programa 7
Programa 7Programa 7
Programa 7
Ansd
 
Programa 6
Programa 6Programa 6
Programa 6
Ansd
 
Programa 5
Programa 5Programa 5
Programa 5
Ansd
 
Programa 4
Programa 4Programa 4
Programa 4
Ansd
 
Programa 3
Programa 3Programa 3
Programa 3
Ansd
 
Programa 2
Programa 2Programa 2
Programa 2
Ansd
 
Programa1
Programa1Programa1
Programa1
Ansd
 
Reporte dfd
Reporte dfdReporte dfd
Reporte dfd
Ansd
 
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
Ansd
 

Mais 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