C# CGI UNIDAD 4: PROCEDIMIENTOS Y FUNCIONES

TEMA 5: ARREGLOS COMO PARAMETROS


Para pasar un arreglo completo como parametro a un procedimiento a una función solo se manda el nombre del arreglo sin corchetes e indices, en el procedimiento o función que recibe solo se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin corchetes e indices.

Sim embargo es conveniente aclarar, que a diferencia de variables escalares normales, csharp no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar csharp sigue usando los datos que estan en el arreglo original, es por esta razón que cambios que se le hagan a los datos del arreglo que recibe realmente se esta haciendo al arreglo original como lo muestra el siguiente ejemplo:

Prog17.cs o exe

Crearlo, compilarlo, subirlo y llamarlo directamente desde tu stio en progfacil, con la direccion http://programacionfacil.com/cgi-bin/tusitio/prog17.exe

using System;
public class prog17
{
public static void Main()
{
// llamando a proc1
proc1();
} // termina main
static void proc1(){
//creando arreglo
int[] lista= new int[5];
//cargando arreglo con 10,11,12,13,14
for (int reng=0;reng<=4;reng++)
lista[reng]=reng + 10;
// mandandolo a procedimiento recordar como se manda sin []
proc1(lista);
//construyendo y desplegando la pagina de salida
System.Console.WriteLine("Content-Type:text/html\n");
System.Console.WriteLine("<HTML>");
// desplegando arreglo lista y observar que datos salen
for(int reng=0; reng<=4; reng++)
System.Console.WriteLine(lista[reng].ToString()+"<BR>");
}// termina main
static void proc1(int[] vector)
{
// sumandole 50 a lo que se tenia en arreglo lista
// es decir vector queda cargado con 60,61,62,63,64
for(int reng=0; reng<=4; reng++)
vector[reng]=vector[reng]+ 50;
// observar que no se regresa nada
} //termina proc1
} // termina prog17

corrida prog17.cs

image309.jpg

* Es de recordar que los cambios que le hagan al arreglo dentro de la función se reflejaran en el arreglo original, es por esto que si se quiere modificar un arreglo en una función no hay necesidad de regresar ningun valor.

TAREA PROGRAMACION

Inicializar 10 edades en el principal mandar la lista a un procedimiento que la convierte a meses, desplegar en principal.

TAREA PROGRAMACION

Capturar un arreglo de 7 ciudades en principal, sortear u ordenar o alfabetizar (sorteo burbuja) en un procedimiento y desplegar en otro procedimiento tanto la lista original como la lista ordenada.

Politica de Privacidad