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