Duda algorritmica (seudocodigo)

Iniciado por UsuarioZ, 10 Junio 2019, 04:14 AM

0 Miembros y 1 Visitante están viendo este tema.

UsuarioZ

Seria correcto pasar el valor de un elemento de un arreglo al parámetro de una función o acción, de esta manera:

arreglo[4] <--- 2  //Se asigna 2 al elemento del indice 4 del arreglo.

EJAccion (arreglo[4]) // Invocación de la acción, se pasa el elemento del indice 4, del arreglo como
                                     parámetro.

Acción EJAccion (dato: entero ∈ Z) // Declaración de la acción.

¿O debería declarar el parámetro de tipo de dato de tipo arreglo?

El arreglo seria de enteros.

Serapis

Si, es válido...

Puedes hacer asignaciones directas entre variables y arrays y viceversa...
Array(n) = z
z = Array(n)


Al caso el parámetro de una función, sigue siendo una variable...
así esto:
z = array(3)
x = funcion Sumar(20, z)


Es lo mismo que esto:
x = funcion Sumar(20, array(3) )

Siendo la función:
entero = Funcion Sumar(entero X, entero Y)
   devolver (X + Y)
fin funcion


Solo basta que los tipos de datos sean compatibles. Incluso puede forzarse una conversión (casting) explícita si implícitamente el lenguaje no lo tolera...

byte x = 45
array enteros s(20 elementos)
s(5) = x  // conversión implícita.
s(5) = convertirAentero(x)  // conversión explícita
s(5) = x.toInteger //conversión explícita con objetos




UsuarioZ

Cita de: NEBIRE en 10 Junio 2019, 21:16 PM
Si, es válido...

Puedes hacer asignaciones directas entre variables y arrays y viceversa...
Array(n) = z
z = Array(n)


Al caso el parámetro de una función, sigue siendo una variable...
así esto:
z = array(3)
x = funcion Sumar(20, z)


Es lo mismo que esto:
x = funcion Sumar(20, array(3) )

Siendo la función:
entero = Funcion Sumar(entero X, entero Y)
   devolver (X + Y)
fin funcion


Solo basta que los tipos de datos sean compatibles. Incluso puede forzarse una conversión (casting) explícita si implícitamente el lenguaje no lo tolera...

byte x = 45
array enteros s(20 elementos)
s(5) = x  // conversión implícita.
s(5) = convertirAentero(x)  // conversión explícita
s(5) = x.toInteger //conversión explícita con objetos





Gracias.