Práctico 7 - Ej2. b) y c)

Práctico 7 - Ej2. b) y c)

de Diego Subeldia Loureiro -
Número de respuestas: 4

Buenas tardes, agradezco si me pueden ayudar con la comprensión de los conceptos de parámetros nominales y efectivos.
Partiendo de que no tiene sentido para una función tener variables como lista de parámetros (ya que la misma va a arrojar un único resultado), los parámetros nominales serían simplemente los nombres de los parámetros de valor que se le van a ingresar a cierta función.
En cuanto a los parámetros efectivos, en el pdf menciona que "son las expresiones que aparecen en la invocación de la función", en cuyo caso entiendo que si tengo una función function areatriangulo(base,altura:real):real, los parámetros efectivos tras un invocación así function areatriangulo(7,3.8) serían 7 y 3.8.

En la pregunta b), pienso que si tengo inicializada un variable x:=7, podría haber puesto x en la primera entrada en vez de 7. ¿Esto es así? Por lo tanto, los parámetros efectivos pueden ser variables, no deben serlo siempre.

En la parte c) tengo más duda, no sé qué pasaría si inicializara base:=7 y pusiera base en vez de 7 en la invocación. Sí supongo que por la parte b) debería poder inicializar una x y meterla como entrada de la base. Si base ya está definida en el programa (es de alcance global), pienso que la función debería poder tomarla sin problema como dato de entrada.

En respuesta a Diego Subeldia Loureiro

Re: Práctico 7 - Ej2. b) y c)

de Diego Subeldia Loureiro -
Ya me autocontesté todo lo anterior luego de hacer varios ejercicios.
Me quedé ahora con duda por la parte b) del ejercicio 4), dónde pregunta cuáles son los parámetros efectivos que aparecen en el programa. No tiene ninguno porque al invocar "proc", todo lo que ingresa en los lugares donde puede haber expresiones (dónde irían los parámetros de valor) son variables:  tum y num. ¿Es correcto?
En respuesta a Diego Subeldia Loureiro

Re: Práctico 7 - Ej2. b) y c)

de Luis Sierra -
hola diego,

no es correcto. parece que estás diciendo que las variables no son expresiones; pero no es así, las variables son expresiones.

era esa tu confusión? cualquier cosa, vuelve a preguntar.

saludos

luis
En respuesta a Diego Subeldia Loureiro

Re: Práctico 7 - Ej2. b) y c)

de Luis Sierra -
hola diego,

tus argumentos son razonables. se me ocurren un par de precisiones.

1. dices: "los parámetros efectivos pueden ser variables, no deben serlo siempre". esto es cierto cuando el pasaje es por valor (o copia); los parámetros efectivos deben ser expresiones, y las variables son casos particulares de expresiones.

2. cuando el pasaje es por referencia, los parámetros efectivos deben ser variables de exactamente el mismo tipo que los parámetros nominales.

saludos

luis