Suscribirse al Feed
11Nov

Paso de valores por valor y referencia en C # [arreglos] - 2da parte

En el post anterior decíamos que cuando pasamos un arreglo a un método, 'se pasa la referencia al arreglo por valor'. En este post veremos entonces cual es la diferencia entre pasar la "referencia de un arreglo por valor" y "referencia de un arreglo por referencia".

Ejemplo...

c sharp

Leer el resto de la entrada...

11Nov

Paso de valores por valor y referencia en C# [arreglos] - 1ra parte

Cuando estamos trabajando con arreglos en C#, debemos tener en cuenta algo importante: si pasamos un arreglo entero, éste será pasado por referencia ; mientras que si pasamos uno de los elementos del arreglo, éste es pasado por valor.

Importante: Bueno, decir que el arreglo se pasa por referencia, en realidad es una manera fácil de decirlo. Lo que en verdad sucede es que 'se pasa la referencia al arreglo por valor'. Esto resulta a veces un poco difícil de entender, pero con el siguiente ejemplo, y el del próximo post quedará mucho más claro.

¿Qué quiere decir esto exactamente? Pues bien, cuando pasamos un arreglo completo a un método, TODAS las modificaciones que hagamos sobre el arreglo en dicho método se verán reflejadas en el arreglo original. Por otro lado, cuando lo que pasamos es un elemento de un arreglo, las modificaciones que hagamos sobre el elemento serán accesibles únicamente desde dicho método, por lo tanto el valor original del elemento no es modificado.

Ejemplo...

Leer el resto de la entrada...

10Nov

Ejemplos básicos de manipulación de arreglos en C#

Ejemplos básicos de manipulación de arreglos en C#

Sumar elementos de un array

Sinopsis: hacer la sumatoria de los elementos de un arreglo.


using System;
class SumarArreglo
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
     int total = 0;
     for ( int i = 0; i < a.Length; i++ )
        total += a[ i ];
     Console.WriteLine( "Suma de todos los elementos del array: " + total);
  } // fin de Main
} // fin de la clase SumarArreglo

Resultado...

Suma de todos los elementos del array: 55

Descargar código fuente

Creacion de histogramas

Sinopsis: crear un histograma (barras a base de asteriscos) a partir de unos datos. Leer el resto de la entrada...

10Nov

Arreglos en C#

La creación y manipulación de arrays en C# es similar a la de cualquier otro lenguaje de programación, aunque difiere un poco en cuanto a sintaxis (desde la perspectiva de un programador en Java).

Tenemos entoces 2 maneras básicas de iniciar un arreglo:

  • Al asignarle un tamaño estamos iniciándolo con los valores por defecto (en el caso de enteros, es cero)
  • En el momento de la declaración podemos asignar directamente los valores, poniéndolos dentro de corchetes ({ ... }), separados por comas.

Ejemplo...

Leer el resto de la entrada...

24Jul

Números aleatorios en C#

La generación de números aleatoreos es una de las prácticas más importantes en cualquier lenguaje de programación, sobre todo cuando deseamos desarrollar juegos, por ejemplo. Para usar números aleatorios en C# podemos utilizar la clase Random del namespace System, de la siguiente manera:


Random objeto = new Random();
int numero = objeto.Next();

El método Next de la clase Random genera y devuelve un número aleatorio entre 0 y la constante Int32.MaxValue (2,147,483,647). El número es generado después de (como decía mi profesora de matemáticas) complejos procesos matemáticos, y como en casi todos los lenguajes necesitan de una semilla (seed) para ser generados, que por defecto es la hora del sistema.

Aún así, muchas veces necesitamos que el número sea generado en un rango específico de valores. Por ejemplo, para una aplicación que simule el lanzamiento de un dado de seis caras necesitamos generar números entre 1 y 6. Para lograr esto, el método Next puede recibir además un entero que indica el rango máximo del número aleatorio. Por ejemplo, el código:

Random objeto = new Random();
int numero = objeto.Next(6);

generaría un número aleatorio entre 0 y 7 (pero no 6), es decir, seis posibles números. Pero, si desearamos algún rango más exacto, podríamos hacer algo como:

Random objeto = new Random();
int numero = objeto.Next(1, 7);

lo que generaría números entre 1 y 7 (pero no 7), de nuevo seis números posibles.

Ejemplo completo...

En el siguiente ejemplo se utilizará la clase Random para generar una serie de números aleatorios cada vez que se presiona un botón:

pantallazo numero aleatorio

El código lo pongo para su descarga abajo, ya que lo hice con Gtk# usando MonoDevelop, y sería engorroso poner todo el código. Así que solo pondré la parte del código que nos interesa:

    private Random obj = new Random();
    //Método ejecutado al presionar el botón
    protected virtual void generar_Click (object sender, System.EventArgs e)
    {
        etiqueta.Text = "";
        for(int i = 0; i < 4 ; i++)
        {
            for(int j = 0; j < 4 ; j++)
                etiqueta.Text += obj.Next(1, 10) +"\t\t";
            etiqueta.Text += "\n\n";
        }
    }

Enlaces y descargas

23Jul

Programación C++ sobre Linux

Nota: este es un artículo que escribí hace mucho tiempo, y que decidí rescatar y actualizar un poco. Si se dan cuenta habla sobre RCS y CVS en vez de SVN y GIT, pero bueno, a alguien le servirá. Pueden descargar la versión PDF con todos los artículos incluidos.

Este artículo pretende orientar un poco acerca de lo que es la programación en C++ sobre linux. Esto NO es un tutorial de referencia de C++, si lo que buscas es eso puedes buscar en el google que hay bastantes. Posiblemente ya hayas programado en C++ sobre Windows, y has utilizado algún compilador como el C++ Builder de Borland, el Visual Studio de Microsoft o en el mejor de los casos DevC++.

Ok, esto es un buen comienzo. Pero lo que aquí vamos a ver es: qué nos proporciona Linux para programar en C++. Como sabes en Linux las cosas ya no son tan fáciles, pero tampoco difíciles; de hecho C++ es famoso gracias a Linux, son como uña y mugre. La cuestión es que nos centraremos en la programación desde la consola. Si lo tuyo no es la consola puedes echarle un vistazo a la sección que trata sobre Anjuta, que es un IDE para C++ en Linux, pero te recomiendo que leas todo el artículo, te aseguro que te servirá.

Vamos a tratar los siguientes temas (y talvez algunos más):

Esta es realmente la base de la programación en C++: cruda, sin vestimentos, tal como es.

Descargar el tutorial completo en PDF

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS