Programming Concept

Funciones

Definir y usar funciones; paso por valor/referencia, sobrecarga, argumentos variables, valores por defecto.

Capítulo 5 (pp. 133–150) de Computer Science I.

Temas

SecciónPáginaContenido
Definir y Usar Funciones134Firmas, invocación, organización.
Cómo Funcionan las Funciones137Paso por valor vs paso por referencia.
Otros Aspectos142Funciones como entidades, sobrecarga, funciones con argumentos variables, parámetros opcionales/por defecto.

Ideas Clave

  • Paso por valor vs paso por referencia — la abstracción central; hecha concreta con punteros en C y referencias a objetos en Java.
  • Las funciones como entidades de primera clase anticipan los punteros a función (C) y las lambdas (Java).
  • El ejemplo Generalized Rounding reaparece en las partes de lenguajes.

Ejemplos

Retornar un valor

función max(a, b):
  si a > b:
    retornar a
  retornar b

Paso por referencia

función swap(ref x, ref y):
  temp ← x
  x ← y
  y ← temp

Muta las variables del llamador; el paso por valor las dejaría sin cambios.

En Java

static int max(int a, int b) {
    return (a > b) ? a : b;
}

Java pasa los primitivos por valor, así que no puede hacer swap de dos int a través de los parámetros — envuélvelos en un array u objeto para emular el paso por referencia.

Citas

[1] Computer Science I, Cap. 5, pp. 133–150.