domingo, 3 de enero de 2016

5 Subprogramas

Temas a tratar en este capítulo:

  • ¿Qué es un subprograma?
  • Funciones
  • Procedimientos
  • Ejemplos
  • Ejercicios propuestos

¿Qué es un subprograma?

Un subprograma (también llamado rutina), es un conjunto de instrucciones de computador, que utiliza las mismas estructuras de control y tipos de datos que un programa. Su finalidad es realizar tareas específicas de acuerdo a ciertos parámetros traspasados desde el programa.

Un subprograma se escribe dentro de un programa y puede ser invocado tantas veces como se quiera. Tiene un nombre propio, sus propias variables, constantes, identificadores, todos los cuales sólo tienen validez dentro de él.

Dependiendo del lenguaje de programación que se utilice, existen dos tipos de subprogramas: funciones y procedimientos.

Funciones

Son un tipo de subprogramas que retornan un valor. Por ello, se pueden utilizar como parte de expresiones así como asociadas a variables. Comúnmente requieren el ingreso de parámetros para su operatoria.

Estructura

tipo_dato nombre(parámetro 1, parámetro 2, ...)
{
    Declaración de variables locales;
    Sentencia 1;
    ...
    Sentencia n;
    return valor;
}

Dónde:

tipo_dato: Corresponde al tipo de dato que la función retornará (int, float, etc.).
nombre: Corresponde al nombre de la función.
parámetros: Corresponden a las variables que ingresan a la función.

Procedimientos

Son subprogramas que no retornan un valor. Se invocan como una instrucción independiente. Comúnmente requiere el ingreso de parámetros para su operatoria.

Estructura

void nombre(parámetro 1, parámetro 2, ...)
{
    Declaración de variables locales;
    Sentencia 1;
    ...
    Sentencia n;
}

Ejemplos

1.- Escribir una función en C o C++ que retorne el doble de un número, previamente ingresado desde teclado.

#include <iostream>
using namespace std; // Esto se debe incluir para que funcione "cout" y "cin" (no lo mencioné anteriormente)
int main()
{
    int n=12, d;
    d=doble(n); // El número que retorne la función "doble" se guardará en este variable (d)
    cout << "El doble de " << n << " es: " << d;
}

int doble(int n)
{
    n*=2; // Calculamos el doble del número
    return n; // Lo retornamos
}

2.- Escribir un procedimiento en C o C++ que muestre por pantalla los 10 primeros números naturales.

#include <iostream>
using namespace std;
int main()
{
    int i=10;
    desplegar(i);
}

void desplegar(int n)
{
    int k;
    for(k=1; k<n; k++){
        cout << k << " ";
    }
}

Ejercicios propuestos

1.- Escribir un subprograma en C o C++ que dado un número x cualquiera (ingresado por teclado), retorne su cuadrado. El número ingresado no puede ser negativo o cero.

2.- Escribir un subprograma en C o C++ que de tres números naturales (ingresados por teclado) retorne cual es el mayor y cual es el menor.

No hay comentarios:

Publicar un comentario