Funciones con parámetros

Observemos algunas funciones de Processing que ya conocemos:

smooth();
point(20, 30);
line(0, 0, width, height);

La primera sirve para mejorar la representación de imágenes en pantalla y no admite ningún parámetro, actúa siempre de la misma manera.

La segunda dibuja un punto en las coodenadas x=20, y=30. 20 y 30 son dos parámetros que la función point() asigna a las coordenadas x e y de un punto.

La tercera dibuja una recta que cruza la ventana desde el extremo superior izquierdo de la ventana (coordenadas x=0, y=0) al extremo inferior derecho (x = width = valor de la anchura de la ventana, y = height = valor de la altura de la ventana). La función line() toma, pues, cuatro parámetros.

Cuando invocamos las funciones point() y line(), distintos valores en sus parámetros producen diferentes resultados (un punto en una posición u otra, una recta de un tamaño, ángulo y posición diferentes…).

Al diseñar nuestras propias funciones, también podemos escribirlas de modo que tomen parámetros.

//creamos la función 'suma', con dos parámetros de tipo float llamados a y b
void suma(float a, float b){
    print(a+b);
}
 
void setup(){
    //pasamos a la función suma los parámetros con los valores de los sumandos
    //el resultado es que la ventana de mensajes del editor de P5 muestra el resultado: '3'
    suma(1,2);
}

En el caso descrito, la función va precedida por ‘void’, lo que indica que no devuelve ningún valor. Si en lugar de ‘void’ escribimos un tipo de datos, p. e. ‘float’, la función devolvería un valor numérico decimal, y podría comunicarse con otras funciones:

float suma(float a, float b){
    //asignamos a una variable 'c' el valor de la suma
    float c = a+b;
    //indicamos a la función que debe devolver el valor de 'c'
    return c;
}
 
void setup(){
    //creamos una variable de tipo float llamada 'resultado', que almacena el valor del resultado de la función suma para los parámetros dados
    float resultado = suma(2, 3);
}

3 Comments

  1. Hola:

    En primer lugar agradecer el ingente esfuerzo por este curso de Processing, me quito el sombrero.

    En segundo lugar, desearía hacer una pregunta sobre el tema de las funciones, o quizá las clases, no lo tengo claro; ¿donde he de dirigirme? No encuentro algo como un correo o un blog. Solo llevo una semana intentando programar con Processing y algunas cosas o conceptos no me quedan claros.

    Muchas gracias de antemano, un saludo,

    José Miguel.

    Reply

Leave a Comment.