Introducción a la Programación 8. Datos Numéricos.

Post on 07-Jan-2015

8 views 0 download

Transcript of Introducción a la Programación 8. Datos Numéricos.

Introducción a la Programación

8. Datos Numéricos.

8.1 Variables y Constantes

Variables

• Una variable es un dato de una clase que puede almacenar información y cambiar en el tiempo.

<tipoVariable> <nombreVariable>;

bool continue;

int vidas;

float velocidad_actual;

long tiempo_transcurrido;

Scope de variables• Una variable sólo está definida dentro de las llaves que la

contienen, y en las llaves declaradas como llaves hijas.

class Mar {int n_olas;

float tamX, tamY;

void MoverOlas(float amplitud) {

int count_ola = 0; //Iniciamos a la 1a ola.

//Itera y mueve todas las olas

}

}

Scope de variables• Si una variable es definida dentro de la definición de la clase, se

denomina variable global. Si es definida dentro de un método es una variable local. Y además una variable puede ser pasada como un parámetro en un método.

class Mar {int n_olas;

float tamX, tamY;

void MoverOlas(float amplitud) {

int count_ola = 0; //Iniciamos a la 1a ola.

//Itera y mueve todas las olas

}

}

Inicializar• Así como todo dato, una variable debe inicializarse. • Esto puede ser en la misma declaración o dentro de un

método.

<tipoVariable> <nombreVariable> = <valorInicial>;<nombreVariable> = <valorInicial>;

bool continue = true;int vidas = 3;float velocidad_actual = 0.0f;long tiempo_transcurrido = 0;

Constantes

• Es una variable cuyo valor no puede cambiar durante la ejecución del programa.

const <tipoConstante> <nombreConstante> = <valor>;

const int velocidad_maxima = 180;

const float PI = 3.14;

const int tiempo_inicial;

Nota: La inicialización puede realizarse en la declaración o en el constructor de las clase a la que pertenece.

8.2 Operadores Aritméticos

Operaciones Aritméticas

• Suma +

<nombreVariable1> + <nombreVariable2>;

puntaje_total = puntaje_nivel + puntaje_bonus;

• Resta –

<nombreVariable1> - <nombreVariable2>;

danio = danio – danio_combo;

Operaciones Aritméticas

Operaciones Aritméticas

• Multiplicación *

<nombreVariable1> * <nombreVariable2>;

c = Math.sqrt( a*a + b*b );

• División /

<nombreVariable1> / <nombreVariable2>;

promedio = suma_notas / numero_alumnos;

Operaciones Aritméticas

• Modulo %: Devuelve el residuo entero entre 2 números.

<nombreVariable1> % <nombreVariable2>;

dia_semana = dia_mes % 7;

Ejemplo:

¿cómo saber cuántos billetes y monedas de X valor, se deben dar de vuelto al realizar una compra?

Incremento - Decremento

• Post incremento – decremento

• vidas--;

• monedas++;

• tiempo_transcurrido++;

• Pre incremento – decremento

• --vidas;

• ++monedas;

• ++tiempo_transcurrido;

8.3 Clase System.Math

Fuente: http://msdn.microsoft.com/es-es/library/system.math_members(VS.95).aspx

Clase System.Math

• Proporciona constantes y métodos estáticos para operaciones trigonométricas, logarítmicas y otras funciones matemáticas comunes.

• Constantes:• Math.PI, tiene el valor de 3,14159265358979323846.• Math.E, tiene el valor de 2,7182818284590452354.

Trigonometría

Fuente: http://es.wikipedia.org/wiki/Trigonometria

Trigonometría

• Para calcular el Seno, Coseno o Tangente, y se tiene como entrada el ángulo, se tienen los siguientes métodos:

• Math.Cos(x) - Math.Sin(x) - Math.Tan(x)

• Si se tiene el valor del seno, coseno o tangente y se quiere obtener el ángulo se tiene:

• Math.Acos(x) – Math.Asin(x) – Math.Atan(x)

Raíz Cuadrada

• Math.Sqrt(x)

• Pitágoras:– int c = Math.Sqrt( a*a + b*b );

• Triángulo Equilátero:– area = (a*a*Math.Sqrt(3)) / 4;– altura = (a / 2) * Math.Sqrt(3);

Más Utilidades

• Potencia: Math.Pow(x,a);

• Valor absoluto: Math.Abs(x);

• Máximo: Math.Max(x,y);• Mínimo: Math.Min(x,y);

• Parte entera superior: Math.Ceiling(x);• Parte entera inferior: Math.Floor(x);

Parte Entera

Valor Ceiling Floor

7.03 8 7

7.64 8 7

0.12 1 0

-0.12 0 -1

-7.1 -7 -8

-7.6 -7 -8