Programación por procedimientos

La programación procedimental o programación por procedimientos es un paradigma de la programación. Muchas veces es aplicable tanto en lenguajes de programación de bajo nivel como en lenguajes de alto nivel. En el caso de que esta técnica se aplique en lenguajes de alto nivel, recibirá el nombre de programación funcional. Esta técnica consiste en basarse de un número muy bajo de expresiones repetidas, englobarlas todas en un procedimiento o función y llamarlo cada vez que tenga que ejecutarse.

Esta técnica de programación ofrece muy buena respuesta con relación al tamaño de los programas, y en bruto casi no se nota en la velocidad de ejecución de los mismos (mientras que las variables, constantes o índices de vector estén en memoria, como suele ser normal, estos se relacionarán entre sí, sin una carga de memoria considerablemente alta para los procesadores modernos); aunque es muy complicado conseguir una programación por procedimientos pura.

Ejemplo

[editar]

A modo de ejemplo, si queremos mostrar el anterior, el posterior y un propio número de una lista (vector), un pseudocódigo por procedimientos o funciones (a alto nivel) sería:

procedimiento anterior_posterior( numero ) {
    out(numero-1);
    out(numero);
    out(numero+1);
}
 
for( i = 0; i < tamaño(lista); i++) {
    anterior_posterior( lista[i] );
}

O si queremos dividir al número por 2,3,4,5,6,7,8,9 y 10 en otro pseudocódigo:

procedimiento div(numero) {
    out(numero/2);
    out(numero/3);
    out(numero/4);
    out(numero/5);
    out(numero/6);
    out(numero/7);
    out(numero/8);
    out(numero/9);
    out(numero/10);
}
 
for( i = 0; i < tamaño(lista); i++) {
    div( lista[i] );
}

Utilizar este tipo de programación puede resultar muy útil a la hora de programar grandes proyectos, ya que se crea una inmensa biblioteca de funciones especiales para procedimientos utilizados con frecuencia dentro del programa.

Por contrapartida, es muy difícil determinar cuál es el número mínimo de instrucciones consecutivas, y el mínimo número que esta secuencia se debe repetir para considerar declarar un procedimiento o una función.

Lenguajes puramente funcionales

[editar]

Lenguajes que soportan procedimientos o funciones

[editar]