4
Angelita Valencia Algoritmos y programas Resolución de problemas y el uso de un ordenador G. Poyla propuso una metodología general para la resolución de problemas matemáticos, mediante tres fases: 1. Análisis del problema 2. Diseño del algoritmo 3. Programación del algoritmo El análisis del problema es ayudar al programador a llegar a una cierta comprensión del problema mediante los siguientes pasos. Definición del problema Especificaciones de entrada Especificaciones de salida Representación de algoritmos Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. PSEUDOCODIGO: es un lenguaje de representación de algoritmos basado en un sistema notacional, con estructuras sintácticas y semánticas. ORGANIGRAMAS: son herramientas graficas utilizadas tanto para representar algoritmos, como en la ayuda del diseño de programas. Estructuras de control Son las acciones que tienen por objeto marcar el orden de realización de los distintos pasos de un programa o algoritmo, y se da en tres tipos. Estructuras secuenciales

algoritmo

Embed Size (px)

DESCRIPTION

algoritmos y programas

Citation preview

Page 1: algoritmo

Angelita Valencia

Algoritmos y programas

Resolución de problemas y el uso de un ordenador

G. Poyla propuso una metodología general para la resolución de problemas matemáticos, mediante tres fases:

1. Análisis del problema

2. Diseño del algoritmo

3. Programación del algoritmo

El análisis del problema es ayudar al programador a llegar a una cierta comprensión del problema mediante los siguientes pasos.

Definición del problema

Especificaciones de entrada

Especificaciones de salida

Representación de algoritmos

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros.

PSEUDOCODIGO: es un lenguaje de representación de algoritmos basado en un sistema notacional, con estructuras sintácticas y semánticas.

ORGANIGRAMAS: son herramientas graficas utilizadas tanto para representar algoritmos, como en la ayuda del diseño de programas.

Estructuras de control

Son las acciones que tienen por objeto marcar el orden de realización de los distintos pasos de un programa o algoritmo, y se da en tres tipos.

Estructuras secuenciales Estructuras selectivas Estructuras repetitivas

SECUENCIALES: Son aquellas en las que una acción sigue a otra de acuerdo con su orden de escritura.

SELECTIVAS: se utiliza para tomar decisiones, de ahí que se suele denominar también estructura de decisiones o alternativas

Page 2: algoritmo

REPETITIVAS: Son diseñadas para aplicaciones en las que una operación o un conjunto de ellas deben repetirse muchas veces.

REPETIR-HASTA_QUE: consiste en que en que la condición de salida se basa en un contador que cuenta el número de iteraciones.

Programación modular

El programa modular implementa la descomposición en módulos independientes denominados subprogramas o subalgoritmos.

Esta tiene dos razones por la cual es muy importante:

1.- Está asociada al diseño descendente en la programación estructurada, ya que un subprograma, a su vez, puede llamar a sus propios subprogramas e incluso a sí mismo, recursivamente.

2.- permite reutilizar un programa dentro de la resolución de otros problemas distintos, puesto que los subprogramas se utilizan por el programa principal para ciertos propósitos específicos, aquellos pueden haber sido escritos con anterioridad para resolver otros problemas diferentes

Existen dos tipos de subprogramas:

• Funciones

• Rutinas o procedimientos

Concepto de programación estructurada

Es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, se da mediante tres tipos de estructuras.

a. Secuenciales

b. Selectivas

c. Repetitivas

Conjunto de técnicas de programación

Uso del diseño descendentes. Descomposición modular con independencia de los módulos. Utilización de las 3 estructuras de control

Recursividad

Page 3: algoritmo

Es la propiedad que tienen muchos lenguajes de programación que los subprograma puedan llamarse a sí mismos.