Bases Metodológicas de la Programación

Slides:



Advertisements
Presentaciones similares
CARRERA: INGENIERIA CIVIL UNI-RUACS
Advertisements

Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Introducción a los Algoritmos
Resolución de Problemas Algoritmos y Programación
Introducción a la Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
Ciclo de desarrollo del software
Introducción a la Estadística Informática
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Metodología de la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
DSUPE Pseudocódigo.
METODOLOGIA DE LA PROGRAMACION
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Tema 6. Conceptos básicos de programación
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
LOGICA DE PROGRAMACION
Proceso de información en la computadora
Academia de Informática
Diseño de diagramación Diagrama: es una representación gráfica del flujo información de y el proceso de ejecución del programa. Plateo del problema en.
Programación en Matlab
Fundamentos de programación

DISEÑO DE SOFTWARE 1ª. Parte
LENGUAJE DE PROGRAMACIÓN
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Fundamentos de programación Organización de una computadora.
Comunicación y Multimedia
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Introducción a la Ingeniería de Sistemas
Metodología para solución de problemas
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Metodología para la construcción de programas
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Programación de Computadores (IWI-131)
Diseño de Software y su Proceso
Representación de Algoritmos
Algoritmos y pseudocódigos
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Ecuaciones cuadráticas
DEV- C++ ·include <iostream> Int x x=x+2(x)
ALGORITMOS PRESENTADO POR: FERNANDA LEURO TATIANA CONTRERAS 1004
COMPLETA LOS ESPACIOS CON LA PALABRA ADECUADA 1.LOS _______________________ SE DEFINEN COMO LA _________________LÓGICA DE _________PARA SOLUCIONAR UN.
Elaboración de algoritmos usando lógica de programación
ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
Daniel Camilo Albarracín torres Christian David Donoso Beltrán 1002.
Presente un cuestionario con los aspectos mas importantes sobre los
Diagrama de Flujo Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona. El diagrama de flujo o diagrama de actividades es la representación.
M.S.C. Ivette Hernández Dávila
Metodología de la programación
Desarrollo de lógica algorítmica.
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Lenguaje Programación
Ciclo de desarrollo del software
3. Herramientas de representación de algoritmos
FUNDAMENTOS DE PROGRAMACIÓN
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Algoritmos Computacionales
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

Bases Metodológicas de la Programación Tema 2 Bases Metodológicas de la Programación

Representación de Algoritmos Diagramas de Flujo Representación gráfica Claros en problemas pequeños y confusos en problemas grandes Pseudocódigo Lenguaje natural restringido Se ajusta a la programación estructurada

Programación estructurada Programa estructurado es el construido a partir de las cinco estructuras básicas de control: Secuencia Selección Simple Selección doble Iteración con condición al principio Iteración con condición al final

Métodos de Descripción de Sintaxis Gráficos de Conway Método de representación gráfico Claro y visual en casos pequeños Notación Backus-Naur Cada descripción es una definición Las definiciones se representan usando caracteres con un significado especial

Gráficos de Conway Realizan la descripción mediante el recorrido de un grafo dirigido Los literales se escriben dentro de un círculo Los objetos definidos aparecen dentro de un rectángulo

Ejemplo: Digito 1 2 3 4 dígito 5 6 7 8 9

Ejemplo: Número sin signo dígito . - + E

Notación Backus-Naur Los símbolos ::= se usan como equivalencia El objeto a definir aparece a la izquierda de ::= y la definición a la derecha Si hay más de una definición de separan con el símbolo | Los literales en letra normal Los términos que se usan para describir entre <> o en itálica Los términos que se repitan (0 o más) se encierran entre llaves {}

Ejemplo: Número sin signo <digito> ::= 0| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <digitos> ::= <digito> {<digito>} <exponente> ::= E <digitos> | E + <digitos> | E - <digitos> | <numero> ::= <digitos> | <digitos> <exponente> | <digitos> . <digitos> | <digitos> . <digitos> <exponente>

Métodos de Diseño de Programas Diseño descendente Diseño modular Diseño mixto En cada paso del refinamiento se decide si una acción no elemental: Se refina (diseño descendente) Se “contrata” (diseño modular)

Diseño Descendente Se busca una solución para un procesador de alto nivel Refinamientos sucesivos En cada nivel se van detallando las acciones hasta obtener un algoritmo en términos de acciones elementales Ejemplo: Resolver la ecuación de segundo grado ax2 + bx + c = 0 dados tres números reales como coeficientes

Ejemplo diseño descendente: Nivel 1 inicio leer a, b, c si a ≠ 0 entonces disc ← b2 – 4*a*c si disc > 0 entonces calcular soluciones reales si‗no si disc = 0 entonces calcular solución doble calcular soluciones complejas fin‗si si_no escribir ‘No es de segundo grado’ fin

Ejemplo diseño descendente: Nivel 2 inicio leer a, b, c si a ≠ 0 entonces disc ← b2 – 4*a*c si disc > 0 entonces escribir (-b+ √ disc) / (2*a) escribir (-b - √ disc) / (2*a) si‗no si disc = 0 entonces escribir –b / (2*a) ‘doble’ real ← -b / (2*a) imag ← √ (-disc) / (2*a) escribir real ‘+’ imag ‘i’ escribir real ‘-’ imag ‘i’ fin‗si si_no escribir ‘No es de segundo grado’ fin

Diseño Modular Cada acción no elemental se convierte en un módulo que se traduce en un subprograma Los módulos no se comunican con el exterior Módulos Tarea determinada (acción o calculo no elemental) Análisis, diseño, codificación y pruebas independientes Reutilizables Elevan el nivel del lenguaje Favorecen la fragmentación y distribución de trabajo Pueden definir subtareas (submódulos) Ejemplo: Expresar en binario un número estrictamente positivo

Ejemplo diseño modular decimal_binario maxima_potencia num maxpot

Ejemplo diseño modular. Algoritmo principal inicio leer n si (n > 0) entonces maxima‗potencia (n, maxpot) repetir si n ≥ maxpot entonces escribir 1 n ← n – maxpot si‗no escribir 0 fin‗si maxpot ← maxpot / 2 hasta_que (maxpot = 0) si_no escribir ‘Dato inválido’ fin

Ejemplo diseño modular. Algoritmo para el módulo modulo maxima_potencia (entrada:num, salida:maxpot) inicio maxpot ← 1 mientras (maxpot ≤ num) hacer maxpot ← maxpot * 2 fin_mientras maxpot ← maxpot / 2 fin

Documentación de Programas Documentación Interna Comentarios Identificación (objetivo, e/s, fecha, autor…) Rastros de diseño Verificación Nombres adecuados de elementos (constantes, variables, subprogramas) Documentación Externa Resultados de las fases de Análisis (documento de especificación, pruebas de escritorio) Diseño (diseño modular, algoritmo, trazas) Codificación (pruebas de ejecución)

Depuración y Pruebas de Programas Verificación: demostrar la corrección: “el programa/módulo cumple la especificación” Tiene éxito cuando lo demuestra Se basa en una formulación lógica del programa/módulo Validación: incrementar la fiabilidad del programa/módulo Se basa en pruebas (de escritorio, trazas, en ejecución) Tiene éxito cuando encuentra un error Batería de pruebas “económica”, encuentra el mayor número de errores con el menor número casos Depuración: estudio de las causas y consecuencias del error, localización, reparación (codificación, diseño, análisis) y actualización de la documentación