FUNCIONES Y PROCEDIMIENTOS

Procedimiento

Un procedimiento es un fragmento de código cuya función es la de realizar una tarea específica independientemente del programa en el que se encuentre. Con los procedimientos se pueden crear algoritmos de ordenación de arrays, de modificación de datos, cálculos paralelos a la aplicación, activación de servicios, etc. Prácticamente cualquier cosa puede realizarse desde procedimientos independientes.

Función

Una función es exactamente lo mismo que un procedimiento salvo por un detalle, una función puede devolver un valor al programa principal y un procedimiento no. Con las funciones podemos realizar todas las tareas que se hacen con los procedimientos pero además pudiendo devolver valores (como por ejemplo el área de un triángulo).

Estructura y uso

Como se puede ver los conceptos de procedimiento y función son bastante similares, incluso podríamos definir un procedimiento como una función que no retorna ningún valor. Ambos poseen la misma estructura:

Tipo_Dato_Retorno Nombre (Parámetros){
            sentencias;
            retorno; (sólo en el caso de las funciones)
}

Para un procedimiento el Tipo_Dato_Retorno es siempre void, o lo que es lo mismo, nada. En el caso de las funciones se puede poner cualquier tipo de dato, int, float, char, etc.

EJEMPLO

Ahora vamos a plantear un algoritmo que calcule el área de un triángulo, veamos como se podría hacer mediante un procedimiento y una función:

Procedimiento:

#include <stdio.h>
#include <stdlib.h>

void areatriangulo (void) {
    float base, altura;
    printf("Introduce base: ");
    scanf("%f",&base);
    printf("Introduce altura: ");
    scanf("%f",&altura);
   
    printf("El área es: %2.2f \n",(base*altura)/2);
}

int main(int argc, char *argv[])
{
  areatriangulo();
  system("PAUSE");     
  return 0;
}

Función:

#include <stdio.h>
#include <stdlib.h>

float areatriangulo (void) {
    float base, altura;
    printf("Introduce base: ");
    scanf("%f",&base);
    printf("Introduce altura: ");
    scanf("%f",&altura);
   
    return (base*altura)/2;
}

int main(int argc, char *argv[])
{
  float area;
  area=areatriangulo();
  printf("El área es: %2.2f \n",area);
  system("PAUSE");     
  return 0;
}


About the author

Andres
Deja tu comentario :

0 comentarios:

Copyright © 2013 Lenguaje c and Blogger Themes.