Upload
salomon-magallanez
View
7
Download
0
Embed Size (px)
Citation preview
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