Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: UsuarioZ en 10 Junio 2019, 04:14 am



Título: Duda algorritmica (seudocodigo)
Publicado por: UsuarioZ en 10 Junio 2019, 04:14 am
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.


Título: Re: Duda algorritmica (seudocodigo)
Publicado por: Serapis en 10 Junio 2019, 21:16 pm
Si, es válido...

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

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

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

Siendo la función:
Código:
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...

Código:
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




Título: Re: Duda algorritmica (seudocodigo)
Publicado por: UsuarioZ en 11 Junio 2019, 01:47 am
Si, es válido...

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

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

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

Siendo la función:
Código:
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...

Código:
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.