Descripción: Clase 7 de Programación, Prof. Gonzalo Müller
Programación
Clase 7. Funciones Matemáticas Prof. Gonzalo Müller
[email protected]
Facultad de Ingeniería Universidad Central de Venezuela
Clase Anterior Lenguaje JavaScript:
Vocabulario: Identificadores, Palabras Claves, Operadores, Constantes, etc. Programa JavaScript. Estructura Básica de un programa JavaScript. Bloque Principal. Declaraciones. Entrada/Salida. Sentencias.
Tipos de Sentencia:
Sentencias de Control: Selectiva y Repetitiva. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 2
Funciones Matemáticas en JavaScript
Raíz Cuadrada: El método sqrt permite obtener la raíz cuadrada de un valor. Math.sqrt(A)
2
A
Math.sqrt(Constante) Math.sqrt(Variable) Math.sqrt(Expresión Aritmética)
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 3
Funciones Matemáticas en JavaScript
Raíz Cuadrada: El método sqrt permite obtener la raíz cuadrada de un valor. Math.sqrt(A)
2
A
Math.sqrt(Constante) Math.sqrt(Variable) Math.sqrt(Expresión Aritmética) Ejemplo: Math.sqrt(45.5) Math.sqrt(numero1) Math.sqrt(a + b / 2) Programación – Prof. Gonzalo Müller – Clase 7 – GM - 4
2
a+b 2
Funciones Matemáticas en JavaScript
Potencia: El método pow permite elevar un número a una potencia dada. B Math.pow(A, B) A Math.pow(Constante, Variable) Math.pow(Variable, Constante) Math.pow(Variable, Expresión Aritmética) … Math.pow(Expresión Aritmética, Expresión Aritmética) Ejemplo: Math.pow(x,a+1)
x
a +1
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 5
Funciones Matemáticas en JavaScript
Seno: El método sin calcula el seno de un valor dado en radianes. Math.sin(Constante) Math.sin(Variable) Math.sin(Expresión Aritmética) Arcoseno: Math.asin(Constante) Math.asin(Variable) Math.asin(Expresión Aritmética) Programación – Prof. Gonzalo Müller – Clase 7 – GM - 6
Funciones Matemáticas en JavaScript
Coseno: El método cos calcula el coseno de un valor dado en radianes. Math.cos(Constante) Math.cos(Variable) Math.cos(Expresión Aritmética) Arcocoseno: Math.acos(Constante) Math.acos(Variable) Math.acos(Expresión Aritmética) Programación – Prof. Gonzalo Müller – Clase 7 – GM - 7
Funciones Matemáticas en JavaScript
Tangente: El método tan calcula la tangente de un valor dado en radianes. Math.tan(Constante) Math.tan(Variable) Math.tan(Expresión Aritmética) Arcotangente: Math.atan(Constante) Math.atan(Variable) Math.atan(Expresión Aritmética) Programación – Prof. Gonzalo Müller – Clase 7 – GM - 8
Funciones Matemáticas en JavaScript
Exponencial: El método exp calcula e(constante de Euler) elevado a un valor dado.
e
Math.exp(A)
A
Math.exp(Constante) Math.exp(Variable) Math.exp(Expresión Aritmética) Ejemplo: Math.exp(a+1)
e
a +1
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 9
Funciones Matemáticas en JavaScript
Logaritmo neperiano: El método log calcula logaritmo base e de un valor dado. Math.log(A)
log e A
Math.log(Constante) Math.log(Variable) Math.log(Expresión Aritmética)
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 10
Funciones Matemáticas en JavaScript
Valor Absoluto: El método abs calcula el valor absoluto de un valor dado.
A
Math.abs(A)
Math.abs(Constante) Math.abs(Variable) Math.abs(Expresión Aritmética) Ejemplo: Math.abs(a+1)
a +1
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 11
Funciones Matemáticas en JavaScript
Parte Entera: El método floor obtiene la parte entera de un valor. Math.floor(Constante) Math.floor(Variable) Math.floor(Expresión Aritmética)
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 12
Funciones Matemáticas en JavaScript
Parte Entera: El método floor obtiene la parte entera de un valor. Math.floor(Constante) Math.floor(Variable) Math.floor(Expresión Aritmética) Ejemplo: Math.floor(25.8) ≡ 25 Math.floor(B/A) ≡ División entera entre B y A Programación – Prof. Gonzalo Müller – Clase 7 – GM - 13
Funciones Matemáticas en JavaScript Ejemplo: Construir la expresión en JavaScript para la siguiente función: π 3 sen( x + 1 )
e
x 3 +1
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 14
Constantes Matemáticas en JavaScript
Constantes: Constante
JavaScript
Euler
Math.E
Pi
Math.PI
Logaritmo Neperiano de 2
Math.LN2
Logaritmo Neperiano de 10
Math.LN10
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 15
Constantes Matemáticas en JavaScript Ejemplo: Construir la expresión en JavaScript para la siguiente función: π 3 sen( x + 1 )
e
x 3 +1
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 16
Ejercicio Construir una pagina web con JavaScript para: Calcular el logaritmo de una base cualquiera para un valor dado. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 17
Ejercicio Construir una pagina web con JavaScript para: Calcular el logaritmo de una base cualquiera para un valor dado. Log(x) Log B (x) =
Log(B)
Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 18
Ejercicio Construir una pagina web con JavaScript para: Calcular el arcosecante hiperbólica de un valor dado. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 19
Ejercicio Construir una pagina web con JavaScript para: Calcular el arcosecante hiperbólica de un valor dado. 1 + 1 − x2 asenh(x) = log(
x
)
Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 20
Ejercicio Construir una pagina web con JavaScript para: Dado N, calcular: k =N
∑ tanh(x
k
)
k =1
Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 21
Ejercicio Construir una pagina web con JavaScript para: Dado N, calcular: k =N
x
−x
e −e tanh(x k ) tanh(x) = x − x ∑ e +e k =1
Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 22
Funciones Matemáticas en JavaScript
Números Aleatorios: En ocasiones es necesario obtener números en forma aleatoria. El método random genera números pseudo aleatorios uniformemente distribuidos entre 0 y 1. Math.random()
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 23
Funciones Matemáticas en JavaScript
Números Aleatorios: En ocasiones es necesario obtener números en forma aleatoria. El método random genera números pseudo aleatorios uniformemente distribuidos entre 0 y 1. Math.random() Ejemplo: a = Math.random() Pseudo aleatorios ya que se generan una sucesión {Nk} de números a través de una función fija f(k) Programación – Prof. Gonzalo Müller – Clase 7 – GM - 24
Funciones Matemáticas en JavaScript Si se requiere un rango diferente se debe construir una expresión que realice el ajuste, tal como: Math.random()*N
→ Rango: 0.0 … N
Math.floor(Math.random()*N) → Rango: 0 … N …
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 25
Funciones Matemáticas en JavaScript Ejemplo: Construir una pagina web con JavaScript para calcular el Discriminante e indicar la naturaleza de las raíces de la ecuación cuadrática: x2 + Bx + C = 0 B = Entero entre 0 y 8, C = Real entre 0 y 5.
Fase 1: Análisis y Diseño: DES,DRE ó DF, LV y CF. Fase 2: Codificación: página web con Javascript. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 26
Ejercicio
Construir una pagina web con JavaScript para simular un dado de 6 caras. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 27
Ejercicio
Construir una pagina web con JavaScript para simular dos dados de 6 caras. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 28
Ejercicio
Construir una pagina web con JavaScript para un juego de dados, donde el jugador debe adivinar cual será el resultado (la suma) de lanzar dos dados. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 29
Ejercicio
Construir una pagina web con JavaScript para un juego de dados, donde dos jugadores compiten por adivinar cual será el resultado (la suma) de lanzar dos dados. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 30
Ejercicio
Construir una pagina web con JavaScript para un juego de dados, donde dos jugadores compiten por adivinar cual será el resultado (la suma) de lanzar dos dados N veces. Fase 1: Análisis y Diseño: DES, DRE ó DF y LV. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 31
Metodología para creación de un programa Metodología para creación de un programa
1º. Realizar el análisis del problema a resolver: 1º. Definir los datos de entrada y de salida. 2º. Teoría asociada, requerimientos, etc. 2º. Diseñar y probar el algoritmo: Construir preferiblemente el DRE o el DF. 3º. Definir las variables utilizadas en el algoritmo. Construir una Lista de variables. 4º. Codificar en JavaScript: 1º. Variables → Declaraciones 2º. Algoritmo → Secuencia de Sentencias Fin
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 32
Lenguaje de programación Interpretado Creación de un programa utilizando un lenguaje de programación interpretado Algoritmo
Leer n
n=n+1
Corrección de errores algorítmicos
n=n-1
Escribir n Fin
Editor de Texto
Corrección de errores de sintaxis
Programa fuente: Java, JavaScript, etc. Interprete (Navegador) Programa en ejecución Programación – Prof. Gonzalo Müller – Clase 7 – GM - 33
Ejercicios 7. Construir una pagina web con JavaScript para determinar en que semi-espacio se encuentra cada punto de un conjunto de puntos en R2 dados por el usuario. El espacio está divido por la siguiente curva: f(x) =
1 + cos(e 3
x 3 +1
+ x)
2
x +1
Fase 1: Análisis y Diseño: DES, DRE o DF, LV y CF. Señalar en DF o DRE: estructuras, contadores, acumuladores, inicialización, conteo y acumulación. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 34
Ejercicios 7. Construir una pagina web con JavaScript para determinar en que semi-espacio se encuentra cada punto de un conjunto de puntos en R2 dados por el usuario. El espacio está divido por la siguiente curva: f(x) =
1 + cos(e 3
2
x 3 +1
x +1
+ x) Presentar en colores distintos
según el semi-espacio
Fase 1: Análisis y Diseño: DES, DRE o DF, LV y CF. Señalar en DF o DRE: estructuras, contadores, acumuladores, inicialización, conteo y acumulación. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 35
Ejercicios 7. Construir una pagina web con JavaScript para determinar en que semi-espacio se encuentra cada punto de un conjunto N de puntos aleatorios en R2. El espacio está divido por la siguiente curva: f(x) =
1 + cos(e 3
2
x 3 +1
x +1
+ x) Presentar en colores distintos
según el semi-espacio
Fase 1: Análisis y Diseño: DES, DRE o DF, LV y CF. Señalar en DF o DRE: estructuras, contadores, acumuladores, inicialización, conteo y acumulación. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 7 – GM - 36
Resumen
Funciones Matemáticas en JavaScript. Tradicionales: seno, coseno,… Números Aleatorios.
Metodología para creación de un programa.
Programación – Prof. Gonzalo Müller – Clase 7 – GM - 37