Sistemas

Páginas: 6 (1368 palabras) Publicado: 17 de mayo de 2011
5.8. El orden no importa
En algunos lenguajes, una función debe estar declarada antes de usarse. Esto no es necesario en C#. Por ejemplo, podríamos rescribir el fuente anterior, de modo que "Main" aparezca en primer lugar y "duplica" aparezca después, y seguiría compilando y funcionando igual:
/*---------------------------*/
/* Ejemplo en C# nº 55: */
/* ejemplo55.cs */
/**/
/* Función tras Main */
/* */
/* Introduccion a C#, */
/* Nacho Cabanes */
/*---------------------------*/

using System;

public class Ejemplo55
{

public static void Main()
{
int n = 5;
Console.WriteLine("n vale {0}", n);
duplica(ref n);
Console.WriteLine("Ahora n vale {0}",n);
}

public static void duplica(ref int x) {
Console.WriteLine(" El valor recibido vale {0}", x);
x = x * 2;
Console.WriteLine(" y ahora vale {0}", x);
}

}

5.9. Algunas funciones útiles
5.9.1. Números aleatorios
En un programa de gestión o una utilidad que nos ayuda a administrar un sistema, no es habitual que podamos permitir que las cosas ocurran al azar.Pero los juegos se encuentran muchas veces entre los ejercicios de programación más completos, y para un juego sí suele ser conveniente que haya algo de azar, para que una partida no sea exactamente igual a la anterior.
Generar números al azar ("números aleatorios") usando C# no es difícil: debemos crear un objeto de tipo "Random", y luego llamaremos a "Next" para obtener valores entre dosextremos:

// Creamos un objeto random
Random r = new Random();

// Generamos un número entre dos valores dados
int aleatorio = r.Next(1, 100);

Podemos hacer que sea realmente un poco más aleatorio si en la primera orden le indicamos que tome como semilla el instante actual:

Random r = new Random(DateTime.Now.Millisecond);

De hecho, una forma muy simple de obtener un número "casi alazar" entre 0 y 999 es tomar las milésimas de segundo de la hora actual:

int falsoAleatorio = DateTime.Now.Millisecond;

Vamos a ver un ejemplo, que muestre en pantalla un número al azar entre 1 y 10:
/*---------------------------*/
/* Ejemplo en C# nº 56: */
/* ejemplo56.cs */
/* */
/* Números al azar */
/**/
/* Introduccion a C#, */
/* Nacho Cabanes */
/*---------------------------*/

using System;

public class Ejemplo56
{

public static void Main()
{

Random r = new Random(DateTime.Now.Millisecond);
int aleatorio = r.Next(1, 10);
Console.WriteLine("Un número entre 1 y 10: {0}",
aleatorio);
}

}

Ejercicios propuestos:Crear un programa que genere un número al azar entre 1 y 100. El usuario tendrá 6 oportunidades para acertarlo.
Mejorar el programa del ahorcado propuesto en el apartado 4.4.8, para que la palabra a adivinar no sea tecleado por un segundo usuario, sino que se escoja al azar de un "array" de palabras prefijadas (por ejemplo, nombres de ciudades).
5.9.2. Funciones matemáticas
En C# tenemos muchasfunciones matemáticas predefinidas, como:
Abs(x): Valor absoluto
Acos(x): Arco coseno
Asin(x): Arco seno
Atan(x): Arco tangente
Atan2(y,x): Arco tangente de y/x (por si x o y son 0)
Ceiling(x): El valor entero superior a x y más cercano a él
Cos(x): Coseno
Cosh(x): Coseno hiperbólico
Exp(x): Exponencial de x (e elevado a x)
Floor(x): El mayor valor entero que es menor que xLog(x): Logaritmo natural (o neperiano, en base "e")
Log10(x): Logaritmo en base 10
Pow(x,y): x elevado a y
Round(x, cifras): Redondea un número
Sin(x): Seno
Sinh(x): Seno hiperbólico
Sqrt(x): Raíz cuadrada
Tan(x): Tangente
Tanh(x): Tangente hiperbólica
(casi todos ellos usan parámetros X e Y de tipo "double")
y una serie de constantes como
E, el número "e", con un valor de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistemas
  • Sistemas
  • Sistema
  • Sistemas
  • Sistemas
  • Sistemas
  • Sistemas
  • El sistema

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS