Algoritmo

Páginas: 25 (6152 palabras) Publicado: 17 de julio de 2012
Programación modular
A medida que avanza el tiempo, los problemas que se espera que un computador
resuelva se vuelven más y más complejos. Así, es en realidad muy extraño que se pueda
diseñar un algoritmo simple que resuelva un problema real hoy en día, por lo que es
necesario plantearse algún tipo de subdivisión que haga el problema abordable, en
subproblemas manejables.
En este tema sepresentan las herramientas de programación que permiten
resolver problemas complejos mediante su descomposición en otros más simples.

Programación estructurada
Es este paradigma de programación el que se podría llamar “original”, procedimental, o
también conocido como “Divide y vencerás”. Se trata de dividir el problema a resolver
en tareas a realizar, y estas tareas en una serie deprocedimientos, para finalmente
encontrar el algoritmo que mejor se encuadre en ellos.
Fortran (creado en 1954, por Jhon
programación procedimental, aunque hoy en
programación la permiten. El lenguaje Pascal
Niklaus Wirth), es muy conocido debido al
programación.

Backus) es el lenguaje original de
día la mayoría de los lenguajes de
(de principios de los 70, creado por
refuerzo que hacía deeste tipo de

En este tipo de programación, el programador debe concentrarse en que cada
procedimiento tenga una interfaz consistente, describiendo los argumentos de entrada y
los de salida, y que cada procedimiento sea independiente del resto.

PROCEDIMIENTOS Y FUNCIONES
Un algoritmo que resolviera un problema complejo, contendría cientos o miles de líneas
de código en su interior. Estoes inabarcable para cualquier programador, por lo que se
utiliza el concepto de procedimientos y funciones para subdidivir el problema en partes.
La idea es que cada una de estas partes contenga un conjunto de instrucciones que
permita la ejecución de algún proceso determinado y lógico desde el punto de vista
humano.
Dos ejemplos, función y procedimiento respectivamente:
FUNCIONmultiplicar(E a: ENTERO, E b: ENTERO): ENTERO
RETORNA ( a * b )
FIN_FUNCION

ó
PROCEDIMIENTO escribirEdad(E mensaje: CADENA, E edad: ENTERO)
ESCRIBIR( mensaje, edad )
FIN_PROCEDIMIENTO

La descomposición del software en tareas también se conoce con el nombre de
top-down y fue presentada por primera vez por Niklaus Wirth. Este autor proporciona la
siguiente visión de refinamiento:
“En cada paso(del refinamiento), una o varias instrucciones del programa dado, se
descomponen en instrucciones más detalladas. Esta descomposición sucesiva o
refinamiento de especificaciones termina cuando todas las instrucciones están
1

expresadas en términos de la computadora usada o del lenguaje de programación…
Conforme se refinan las tareas, también los datos pueden ser refinados, descompuestos
oestructurados siendo natural refinar las especificaciones del programa y los datos en
paralelo
Cada paso de refinamiento implica algunas decisiones de diseño. Es importante que el
programador sea consciente de los criterios subyacentes (en las decisiones de diseño
adoptadas) y de la existencia de soluciones alternativas…”
Típicamente, una descomposición insuficiente de un problema en tareasconduce
a la definición de pocos procedimientos, cada uno de las cuales implementará múltiples
funcionalidades.
FUNCIONES
Una función es una un conjunto de instrucciones, con un nombre asociado, que cumple
las siguientes características:


Tiene uno o más parámetros de entrada.



Tiene un parámetro exclusivamente de salida y de tipo simple (es decir, lo que
devuelve). Muchoslenguajes de programación no requieren el hecho de que el
parámetro sea simple pero en esta asignatura se considerará la versión más
purista.



Todos los valores de entrada son necesarios y suficientes para determinar el valor
de salida.
Su sintaxis es la siguiente:

FUNCION nombre_funcion(lista de parámetros formales): Tipo_de_salida
CONSTANTES
...
TIPOS
...
VARIABLES
...
INICIO...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Algoritmo
  • Algoritmo
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS