Download Diapositiva 1

Document related concepts
no text concepts found
Transcript
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