Está en la página 1de 30

Algoritmos y Programacin I

Resolucin de problemas por computador

Resolucin de problemas por computador

2. Diseo del Algoritmo

3. Codificacin del algoritmo

1. Anlisis del Problema

5. Documentacin

4.Verificacin depuracin y mantenimiento

1.- Anlisis del Problema Es la etapa crtica para el xito de la resolucin del problema. Esta primera fase requiere una clara definicin que especifique exactamente lo que debe hacer el programa y el resultado o solucin deseada. Se deben precisar las especificaciones detallas de las entradas y salidas del programa.

Anlisis del Problema

2.- Diseo del Algoritmo Con la informacin recopilada en la etapa anterior se debe determinar cmo hace el programa la tarea solicitada. Diseo del Algoritmo. Programacin Estructurada.

Diseo del Algoritmo

Programacin Estructurada La programacin estructurada es un estilo disciplinado de programacin que se apoya esencialmente en el la programacin modular, diseo descendente y en uso de estructuras de control.

Diseo del Algoritmo

Programacin Modular
Divide y Vencers Se trata de un paradigma de programacin que persigue crear programas modulares Valindose de la tcnica del diseo estructurado para el diseo de algoritmos consigue desarrollar programas a partir de un conjunto de mdulos, cada uno de los cuales desempea una tarea necesaria para el correcto funcionamiento del programa global. Los mdulos son interdependientes, y son codificados y compilados por separado.

Diseo del Algoritmo

Diseo Descendente. Top-down

Diseo del Algoritmo

El diseo descendente es el proceso mediante el problema se descompone en una serie de niveles o pasos sucesivos de refinamiento, consiste en descomponer una tarea en sucesivos niveles de detalle.

Diseo del Algoritmo

Estructuras de Control Son mtodos para especificar el orden en que las instrucciones de un algoritmo se deben ejecutar.

Estructura Secuencial Estructuras Selectivas o Alternativas. Estructuras Repetitivas.

Diseo del Algoritmo

Algoritmo. Diseo del Algoritmo


Secuencia ordenada de pasos que conducen a la solucin del problema. Caractersticas. Preciso Bien Definido Finito La definicin de un algoritmo debe definir tres partes: Entrada Proceso Salida

Diseo del Algoritmo

Pseudocdigos Diseo del Algoritmo Lenguaje de especificacin de algoritmos, en donde se indica paso a paso el procedimiento a seguir para la resolucin de un determinado problema

Diseo del Algoritmo

Diagrama de Flujo Diseo del Algoritmo Es un diagrama que utiliza smbolos estndar que contienen los pasos del algoritmo, estos smbolos se encuentran interconectados por flechas, denominadas lneas de flujo, los cuales indican la secuencia en que se deben ejecutar.

Smbolos Bsicos

Terminal.

Entrada/Salida.

Proceso.

Decisin.

Conector.

Lnea de Flujo.

3. Codificacin del Algoritmo Es la escritura en un lenguaje de programacin de la representacin del algoritmo desarrollado en la etapa anterior. Como el algoritmo es independiente del lenguaje de programacin a utilizar, el cdigo puede ser escrito con igual facilidad en cualquier lenguaje.

Codificacin del Algoritmo

Ejemplo:
Algoritmo
Algoritmo SumaNum Datos: A, B, Suma : Enteros Inicio 1.- Leer (A,B) 2.- Suma A+B

Pascal
program SumaNum; var A, B, Suma : integer; Begin Read (A,B); Suma := A + B; Writeln (La suma es:, Suma); End.

Lenguaje C
Void main

{
Integer A, B, Suma; Scanf (%d %d, &A,&B); Suma = A + B; printf (La suma es: %d, Suma)

3.- Mostrar (Suma) Fin

Codificacin del Algoritmo

Lenguajes de Programacin Herramientas mediante las cuales le daremos con pasos para la resolucin del problema al computador en un lenguaje que este entienda. Consiste en un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones.

Codificacin del Algoritmo

Lenguajes de Programacin Como cualquier lenguaje, un lenguaje de programacin contar con los siguientes elementos: Alfabeto (conjunto de smbolos elementales) Lxico (vocabulario) Sintaxis (reglas gramaticales) Semntica (Significado, representa una accin)

Codificacin del Algoritmo

Clasificacin de los lenguajes de programacin. Se pueden caractersticas: clasificar en funcin de tres

Nivel de abstraccin Maquina, Ensambladores, Alto Nivel Traduccin Compilados, Interpretados, Hbridos Paradigma de programacin Imperativos, Orientados a Objeto, Funcional, Lgico
Codificacin del Algoritmo

Segn el Nivel de Abstraccin Lenguaje de mquina Lenguaje ensamblador Lenguajes de alto nivel.

Codificacin del Algoritmo

Lenguaje de mquina. Es el nico lenguaje que entiende computador sin necesidad de traducirlo. el

Las instrucciones de este lenguaje son cadenas de bits (1011101011001). Dependen del hardware del computador.

Codificacin del Algoritmo

La principal ventaja: Velocidad de ejecucin. Entre los inconvenientes estn: Dificultad y lentitud de codificacin Poca fiabilidad, dificultad de verificacin No hay transportabildad

Codificacin del Algoritmo

Lenguaje Ensamblador. Lenguaje en donde las instrucciones nemotcnicos (ADD, SUB, DIV). son

Requiere una fase de traduccin al lenguaje de mquina. El lenguaje ensamblador ms conocido es el Assembly.

Codificacin del Algoritmo

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el traducido como programa objeto. Este traductor es un programa llamado assembler.

Programa Fuente

ENSAMBLADOR

Programa Objeto

Codificacin del Algoritmo

Ventajas. Resolucin por Computadora Ms fciles de codificar. Velocidad de calculo. Desventajas. Dependencia total del hardware. Lentitud en el aprendizaje.

Codificacin del Algoritmo

Lenguajes de Alto Nivel.


Estn diseados de manera que las instrucciones se basan en reglas sintcticas similares a los lenguajes humanos. Ventajas: Fcil aprendizaje Modificaciones y puesta a punto ms fciles Transportabilidad Los inconvenientes: Necesita diferentes traducciones No aprovechan los recursos del hardware Aumento de la ocupacin de la memoria Mayor tiempo de ejecucin de los programas

Codificacin del Algoritmo

Traductores de Lenguaje. Resolucin por Computadora Son programas que traducen a su vez los programas fuentes escritos en lenguaje de alto nivel a cdigo mquina.

Traductores

Intrpretes

Compiladores

Codificacin del Algoritmo

Intrpretes. Es un traductor que toma un lenguaje fuente, lo traduce y a continuacin lo ejecuta.


Programa Fuente

Intrprete

Traduccin y ejecucin lnea a lnea

Codificacin del Algoritmo

Compiladores. Es un programa que traduce los programas fuente escritos en un lenguaje de alto nivel y crea un programa en cdigo mquina llamado programa objeto.
Programa Fuente

Compilador

Programa Objeto

4. Verificacin, depuracin y mantenimiento Resolucin por Computadora


Una vez codificado el programa, el siguiente paso es la ejecucin del mismo para proceder a la etapa de pruebas, que servirn para mostrar que el programa es correcto. Aunque a priori el programa funcione correctamente, con toda seguridad se producirn errores que sern detectados por los usuarios del sistema. La correccin de estos errores es parte del mantenimiento del programa. Otro aspecto en la etapa de mantenimiento es la mejora de los programas aadiendo ms caractersticas o mejorando las existentes para que se adapten mejor a los usuarios.

Tipos de errores. Resolucin por Computadora De compilacin (errores sintcticos). De ejecucin (por ejemplo, divisiones por cero) De lgica (obtencin de resultados incorrectos)

5. Documentacin La documentacin etapa constituida por todos los documentos que se elaboran en cada una de las etapas del anlisis y diseo. Documentacin Interna. Documentacin Externa Especificaciones del anlisis Especificacin de los datos Descripcin del programa principal y subprogramas Manual de mantenimiento y de Usuario.

También podría gustarte