Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porDiego García Vargas Modificado hace 9 años
1
Departamento de Matemática Aplicada y Métodos Informáticos 0 Universidad Politécnica de Madrid Ingeniería de Minas VARIABLES LÓGICAS ESTRUCTURAS DE BIFURCACIÓN BUCLES CONDICIONALES Prof. Carlos Conde Lázaro Prof. Arturo Hidalgo López Prof. Alfredo López Marzo, 2007
2
Departamento de Matemática Aplicada y Métodos Informáticos 1 Universidad Politécnica de Madrid Ingeniería de Minas Operadores de relación Los operadores de relación permiten comparar cons- tantes y/o variables. Mayor que: > Menor que: < Mayor o igual que: >= Menor o igual que: <= Igual que: = Distinto a: <>
3
Departamento de Matemática Aplicada y Métodos Informáticos 2 Universidad Politécnica de Madrid Ingeniería de Minas Variables lógicas El resultado de comparar dos variables o constantes mediante un operador de relación es una variable lógica, que sólo puede tomar uno de los valores siguientes: true (Verdadero) false (Falso) El comando is de MAPLE permite conocer el resultado de una comparación: [> is(5>7); [> a:=sqrt(17.35*12): b:=11: [> is(a>=b);
4
Departamento de Matemática Aplicada y Métodos Informáticos 3 Universidad Politécnica de Madrid Ingeniería de Minas Operaciones de relación Son operaciones realizadas entre variables lógicas. Las más usuales son and y or. and El resultado de su aplicación es true si ambos operandos son true y es false si alguno de ellos es false. or El resultado de su aplicación es false si ambos operandos son false y es true si alguno de ellos es true. A B A and B T T T T F F F T F F F F A B A or B T T T T F T F T T F F F
5
Departamento de Matemática Aplicada y Métodos Informáticos 4 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplos [> a:=5:b:=-2:c:=4:d:=-2: [> is((a>b) and (d<=c)); [> is ((a*b > c*d) or (a<=d)); [> is ((a*b > c*d) or (a>=d)); true false true false true
6
Departamento de Matemática Aplicada y Métodos Informáticos 5 Universidad Politécnica de Madrid Ingeniería de Minas Tipos de estructuras condicionales A) ESTRUCTURAS DE BIFURCACIÓN Permiten realizar o no un conjunto de operaciones según cual sea el resultado de una expresión de relación o de una expresión lógica. B) ESTRUCTURAS REPETITIVAS CONDICIONALES Permiten repetir un conjunto de operaciones mientras el resultado de una expresión de relación o de una expresión lógica sea TRUE
7
Departamento de Matemática Aplicada y Métodos Informáticos 6 Universidad Politécnica de Madrid Ingeniería de Minas Estructuras de bifurcación Si (condición = true) entonces Fin condición Forma básica: Proceso Esta estructura se programa en Maple como: [> if (condición) then Sentencias de MAPLE fi;
8
Departamento de Matemática Aplicada y Métodos Informáticos 7 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo Comparar dos números a y b, analizando cuál es mayor. El resultado se almacenará en una variable c [> a:=7: b:=10: c:='a_es_mayor_que_b': [> if (a<=b) then c:='a_es_menor_o_igual_que_b': fi: [> print(c);
9
Departamento de Matemática Aplicada y Métodos Informáticos 8 Universidad Politécnica de Madrid Ingeniería de Minas Estructuras de bifurcación Una estructura de bifurcación más completa es: Si (condición = true) entonces si no Fin condición Proceso 1 Proceso 2 Esta estructura se programa en Maple como: [> if (condición) then Sentencias de MAPLE (Proceso 1) else Sentencias de MAPLE (Proceso 2) fi;
10
Departamento de Matemática Aplicada y Métodos Informáticos 9 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo Programar el ejemplo anterior con la secuencia if – else - fi [> if (a<=b) then mensaje:='a_es_menor_o_igual_que_b': else mensaje:='a_es_mayor_que_b': fi: [> print(mensaje); [> a:=9: b:=3:
11
Departamento de Matemática Aplicada y Métodos Informáticos 10 Universidad Politécnica de Madrid Ingeniería de Minas Estructuras de bifurcación (caso general) Una estructura de bifurcación completa es: Si (condición 1 = true) entonces Si no, si (condición 2 = true) entonces Si no, si (condición n = true) entonces Si no Proceso 1 Proceso 2 Proceso n Proceso n+1 Fin condición …
12
Departamento de Matemática Aplicada y Métodos Informáticos 11 Universidad Politécnica de Madrid Ingeniería de Minas Estructuras de bifurcación (caso general) Notas: 1)El proceso i-ésimo se realiza si las primeras i-1 condiciones son false y la i-ésima es true, independientemente de si las n-i restantes condiciones son true o false. 2) El proceso n+1 sólo se realiza si son false las n condiciones.
13
Departamento de Matemática Aplicada y Métodos Informáticos 12 Universidad Politécnica de Madrid Ingeniería de Minas Estructuras de bifurcación (caso general) [> if (condición 1) then Sentencias de MAPLE (Proceso 1) elif (condición 2) then Sentencias de MAPLE (Proceso 2) elif (condición 3) then Sentencias de MAPLE (Proceso 3) else Sentencias de MAPLE (Proceso 4) fi; Esta estructura se programa en Maple como:
14
Departamento de Matemática Aplicada y Métodos Informáticos 13 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo Cálculo de TODAS LAS RAÍCES de una ecuación desegundo grado: a·x 2 + b·x + c = 0 La ecuación anterior se define por los valores de a, b y c. (DATOS) Las soluciones de la ecuación están dadas por la fórmula: -b + b 2 – 4·a·c 2·a por lo que pueden darse 3 situaciones distintas:
15
Departamento de Matemática Aplicada y Métodos Informáticos 14 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo (cont.) -b + b 2 – 4·a·c 2·a Si (b 2 – 4·a·c) > 0 entonces hay 2 raíces reales distintas -b + b 2 – 4·a·c 2·a -b - b 2 – 4·a·c 2·a x 1 = x 2 = si no, si (b 2 – 4·a·c) = 0 entonces hay 1 raíz real doble x = -b / (2·a) si no ………
16
Departamento de Matemática Aplicada y Métodos Informáticos 15 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo (cont.) -b + b 2 – 4·a·c 2·a si no hay dos raíces complejas conjugadas Preal = -b/(2·a) Pimag = 4·a·c -b 2 2·a Fin de las condiciones. x 1 = Preal + Pimag*I x 2 = Preal - Pimag*I
17
Departamento de Matemática Aplicada y Métodos Informáticos 16 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo (cont.) [> restart; with(linalg): with(plots): [> a:=3.: b:=-1.: c:=2.3: [> discr:=b*b-4*a*c:
18
Departamento de Matemática Aplicada y Métodos Informáticos 17 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo (cont.) > if (discr > 0) then print("Soluciones reales distintas"); x1:=(-b+sqrt(discr))/(2*a); x2:=(-b-sqrt(discr))/(2*a); elif (discr = 0.) then print("Solución real doble"); x:= -b/(2*a); else print("Soluciones complejas conjugadas"); Preal:=-b/(2*a); Pimag:=sqrt(-discr)/(2*a); x1:= Preal + Pimag*I; x2:= Preal - Pimag*I; fi;
19
Departamento de Matemática Aplicada y Métodos Informáticos 18 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo (cont.) “Soluciones complejas conjugadas” Preal:= 0.1666666666 Pimag:= 0.8595864640 x1:= 0.1666666666 + 0.8595864640 I x2:= 0.1666666666 - 0.8595864640 I
20
Departamento de Matemática Aplicada y Métodos Informáticos 19 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 1 Acumular las sumas de los 50 primeros números naturales Mientras la suma sea inferior a 25 escribiremos el valor del último número sumado,el valor de la suma y el mensaje "Inferior a 25“ Mientras la suma esté entre 25 y 150 escribiremos el valor del último número sumado,el valor de la suma y el mensaje “Entre 25 y 150“ Mientras la suma esté entre 150 y 175 escribiremos el valor del último número sumado,el valor de la suma y el mensaje “Entre 150 y 175“ En otro caso escribiremos el valor del último número sumado, el valor de la suma y el mensaje: “Esto se dispara“
21
Departamento de Matemática Aplicada y Métodos Informáticos 20 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 1 [> suma:=0: [> for i from 1 to 50 by 1 do suma:= suma+i: if (suma < 25) then print(i, suma, "Inferior a 25"); elif (suma < 150) then print(i, suma, "Entre 25 y 150"); elif (suma < 175) then print(i, suma, "Entre 150 y 175"); else print(i, suma, "Esto se dispara"); fi: od:
22
Departamento de Matemática Aplicada y Métodos Informáticos 21 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio: Ecuación cúbica y 3 + p·y = q Niccolo Fontana (Tartaglia) (Brescia, 1500 – Venecia, 1557) redescubre la forma de reolver ecuaciones cúbicas reducidas Scipione del Ferro (Bolonia, 1455 – Bolonia 1526) descubre cómo resolver las ecuaciones cúbicas reducidas. Pero muere sin publicarlo En su lecho de muerte, revela el secreto a un estudiante suyo, Antionio M. del Fiore que reta a Tartaglia a un “cartelli” Tartaglia, ocupado en traducciones del sánscrito no publica su método …. pero se lo cuenta a Cardano (por cierto, se lo cuenta en tercetos)
23
Departamento de Matemática Aplicada y Métodos Informáticos 22 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica a.x 3 + b·x 2 + c·x = d y 3 + p·y = q Girolamo Cardano (Pavia, 1501 – Roma, 1576) Descubre que ambas ecuaciones tienen soluciones relacionadas si (Ecuación Cúbica General) (Ecuación Cúbica Reducida) p = c - 1 a ( b2b2 3·a ) q = d - + 1 a ( c·b 3·a ) 2·b 3 27·a 2 x = y – (b/(3·a))
24
Departamento de Matemática Aplicada y Métodos Informáticos 23 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica y 3 + p·y = q Cardano publica la fórmula que le reveló Tartaglia (y que, probablemente, leyó en manuscritos de del Ferro) Fórmula que hoy se conoce con el nombre de FORMULA DE CARDANO
25
Departamento de Matemática Aplicada y Métodos Informáticos 24 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica Conocida una solución de la ecuación cúbica mediante la fórmula de Cardano: x 1 = y – (b/(3·a)) las otras dos soluciones son las soluciones de la ecuación de segundo grado: · x 2 + ·x + = 0 donde = a = b + ·x 1 = c + ·x 1 ¡ PERO EL PROBLEMA AÚN NO ESTABA RESUELTO !
26
Departamento de Matemática Aplicada y Métodos Informáticos 25 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica En ocasiones, las raíces cuadradas que aparecían en la fórmula de Cardano: afectaban a valores negativos … y no se conocían los números complejos. Rafael Bombelli (Bolonia, 1526 -¿Roma?, 1572) usa los llamados números imaginarios (pero sólo para poder operar con la fórmula de Cardano en algún caso).
27
Departamento de Matemática Aplicada y Métodos Informáticos 26 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica Procedimiento de Ferro – Tartaglia – Cardano - Bombelli a.x 3 + b·x 2 + c·x = d (Datos: a, b, c y d) Calcular: p = c - 1 a ( b2b2 3·a ) q = d - + 1 a ( c·b 3·a ) 2·b 3 27·a 2 Con ellos calcular: r = ( q 2 ) 2 + ( p 3 ) 3 Dada la ecuación cúbica:
28
Departamento de Matemática Aplicada y Métodos Informáticos 27 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica Si (r > 0) entonces: si no, si (r < 0) entonces: ……………………………………
29
Departamento de Matemática Aplicada y Métodos Informáticos 28 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica si no, si (r < 0) entonces: Si (s > 0) entonces: si no, si (s < 0) entonces: si no: Si (t > 0) entonces: si no: si no: ………………….
30
Departamento de Matemática Aplicada y Métodos Informáticos 29 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica si no: Conocido “y” por el procedimiento anterior x 1 = y – (b/(3·a)) y se resuelve la ecuación de segundo grado: · x 2 + ·x + = 0 donde = a = b + ·x 1 = c + ·x 1
31
Departamento de Matemática Aplicada y Métodos Informáticos 30 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 2: Ecuación cúbica PROGRAMAR EN MAPLE EL PROCEDIMIENTO ANTERIOR
32
Departamento de Matemática Aplicada y Métodos Informáticos 31 Universidad Politécnica de Madrid Ingeniería de Minas Los tercetos de Tartaglia Cuando el cubo y las cosas juntas[x 3 + px] Se igualan a cualquier número discreto:[x 3 + px = q] Se buscan otros dos que difieran en él.[u – v = q] Luego, tendrás por costumbre Que su producto sea siempre igual Al cubo de la tercera parte de las cosas conocidas. [uv = (p/3) 3 ] Como regla general, lo que queda De la diferencia de sus raíces cúbicas Será igual a tu cosa principal.
33
Departamento de Matemática Aplicada y Métodos Informáticos 32 Universidad Politécnica de Madrid Ingeniería de Minas El vértice del ángulo recto de una escuadra que se desliza apoyando sus dos lados sobre una circunferencia, describe otra circunferencia. Ejercicio 3: el círculo de Monge
34
Departamento de Matemática Aplicada y Métodos Informáticos 33 Universidad Politécnica de Madrid Ingeniería de Minas El vértice del ángulo recto de una escuadra que se desliza apoyando sus dos lados sobre una elipse,..... ¿qué tipo de curva describe? Pero... si cambiamos por una elipse la circunferencia sobre la que se desliza la escuadra? Ejercicio 3: el círculo de Monge
35
Departamento de Matemática Aplicada y Métodos Informáticos 34 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 3: el círculo de Monge Creador de la Geometría Descriptiva y pionero de la Geometría Diferencial. Fundador de l’Ecole Polytechnique de Paris. Comprometido con la Revolución Francesa llegando a ocupar el cargo de ministro en los gobiernos republicanos (fue él quien firmó la orden de decapitación de Luis XVI, al ocupar en esos días el cargo de Primer Ministro en funciones) Expedicionario a Egipto con Napoleón Tuvo una vida intensa. Pero, sobre todo,... Gaspard Monge fue un magnífico profesor Gaspard MONGE (Beaune 1746 – París 1818)
36
Departamento de Matemática Aplicada y Métodos Informáticos 35 Universidad Politécnica de Madrid Ingeniería de Minas Gaspard MONGE demostró matemáticamente que la curva que describía el vértice del ángulo recto de una escuadra que se desliza sobre una elipse encerraba..... UN CÍRCULO (llamado desde entonces EL CÍRCULO DE MONGE) Ejercicio 3: el círculo de Monge
37
Departamento de Matemática Aplicada y Métodos Informáticos 36 Universidad Politécnica de Madrid Ingeniería de Minas s i = a 2 / (a 2 + p i 2 ·b 2 ) 1/2 t i = -b·( 1 – (s i /a) 2 ) 1/2 Ejercicio 3: el círculo de Monge ii b a i = 2· ·i/ N (i = 0, 1,..., N) x i = a·cos( i ) y i = b·sin( i ) xixi yiyi -b·x i / (a 2 ·(1 – (x i / a) 2 ) 1/2 ) si i < b·x i / (a 2 ·(1 – (x i / a) 2 ) 1/2 ) si i > p i = vivi uiui
38
Departamento de Matemática Aplicada y Métodos Informáticos 37 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 3: el círculo de Monge Si 0 < i < /2: i = s i, i = t i Si /2 < i < : i = s i, i = -t i Si < i < 3· /2: i = -s i, i = -t i Si 3· /2 < i < 2· : i = -s i, i = t i p i 2 ·x i + p i ·( i – y i )+ i 1+p i 2 u i = v i = y i – p i ·(u i – x i ) Si 3· /2= i : Si 0 = i o si i = 2· : u i =a, v i =-b u i = -a, v i = -b Casos especiales: Si /2 = i : u i = a, v i = b Si = i : u i = -a, v i = b
39
Departamento de Matemática Aplicada y Métodos Informáticos 38 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 3 Desde i=0 hasta N con paso 1 hacer θ[i] ← 2 π i / N x[i] ← a·cos(θ[i]) y[i] ← b·sin(θ[i]) A) Calcular p[i] s[i] = a 2 / (a 2 + p[i] 2 ·b 2 ) 1/2 t[i] = -b·( 1 – (s[i] /a) 2 ) 1/2 B) Calcular ξ[i] y ψ[i] Fin del bucle en i C) Calcular u[i] y v[i]
40
Departamento de Matemática Aplicada y Métodos Informáticos 39 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 3 A) Cálculo de p[i] p[i] ← -b·x[i] / (a 2 ·(1 – (x[i] / a) 2 ) 1/2 ) Si θ[i] < π hacer Si no, hacer p[i] ← b·x[i] / (a 2 ·(1 – (x[i] / a) 2 ) 1/2 ) Fin condición
41
Departamento de Matemática Aplicada y Métodos Informáticos 40 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 3 B) Cálculo de ξ[i] y ψ[i] Si (θ[i] > 0 and θ[i] < π /2) hacer Si no, si (θ[i] > π /2 and θ[i] < π ) hacer Fin condición ξ[i] = s[i], ψ[i] = t[i] ξ[i] = s[i], ψ[i] = -t[i] Si no, si (θ[i] > π and θ[i] < 3 π /2) hacer ξ[i] = -s[i], ψ[i] = -t[i] Si no, hacer ξ[i] = -s[i], ψ[i] = t[i]
42
Departamento de Matemática Aplicada y Métodos Informáticos 41 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 3 C) Cálculo de u[i] y v[i] Si (θ[i] = 0 or θ[i] = 2. π ) hacer Si no, si θ[i] = π /2 hacer Fin condición Si no, hacer p[i] 2 ·x[i] + p[i]·( i – y[i])+ i 1+p[i] 2 u[i] = v[i] = y[i] + p[i]·(u[i] – x[i]) u[i] = a,v[i] = -b u[i] = a,v[i] = b Si no, si θ[i] = π hacer u[i] = -a,v[i] = b Si no, si θ[i] = 3· π /2 hacer u[i] = -a,v[i] = -b
43
Departamento de Matemática Aplicada y Métodos Informáticos 42 Universidad Politécnica de Madrid Ingeniería de Minas Bucles condicionales Mientras (condición = true) hacer Fin condición Sentencias que se repiten Nota: entre las sentencias que se repiten debe haber al menos una que haga que modifique el valor de condición para evitar que el bucle se repita eternamente
44
Departamento de Matemática Aplicada y Métodos Informáticos 43 Universidad Politécnica de Madrid Ingeniería de Minas Bucles condicionales El bucle condicional se programa en Maple como: while (condición) do Sentencias de MAPLE que se repiten od; >
45
Departamento de Matemática Aplicada y Métodos Informáticos 44 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo Sumar los primeros números naturales hasta que el resultado sea superior a un valor M dado o el último sumando sea superior a un número N dado Considérese M = 200 y N = 40
46
Departamento de Matemática Aplicada y Métodos Informáticos 45 Universidad Politécnica de Madrid Ingeniería de Minas Ejemplo [> restart: [> N := 40: M := 200: [> suma := 0: [> n :=0: [> while ((suma <= M) and (n <= N)) do suma := suma + n: n := n + 1: od: [> print("la suma es:",suma, "el último sumando es:",n-1);,,,"la suma es:"210 "el último sumando es:"20
47
Departamento de Matemática Aplicada y Métodos Informáticos 46 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 4 (Método de bipartición) Sea la función f(x) (en general no lineal), de la que sabemos que es continua en el intervalo [a, b] y que f(a)·f(b) < 0. El método de bipartición permite determinar un punto x* en el cual f(x*) ≈ 0 de la siguiente manera:
48
Departamento de Matemática Aplicada y Métodos Informáticos 47 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 4 (Método de bipartición) (cont.) x* a b f(x)f(x) f(a). f(b) < 0a < x* < b c = (a+b)/2 Si f(a). f(c) < 0a < x* < c Si no c < x* < b x* a b f(x)f(x) El intervalo de búsqueda se ha reducido a la mitad
49
Departamento de Matemática Aplicada y Métodos Informáticos 48 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 4 (Método de bipartición) (cont.) Criterio de parada: Cuando |b-a| sea muy pequeño (< ε) o se hayan realizado muchas iteraciones (> maxiter). Como solución se toma: x*=(a+b)/2
50
Departamento de Matemática Aplicada y Métodos Informáticos 49 Universidad Politécnica de Madrid Ingeniería de Minas Ejercicio 4 (Método de bipartición) (cont.) Determinar la raíz de la ecuación 8x - cos x – 2x 2 = 0 en [0, π/6] 1) Definir f 2) a ← 0; b ← π/6; 3) maxiter ← 100; ε ← 0.0001; 4) iter ← 0; Mientras (|b-a| ≥ ε y iter ≤maxiter) hacer: Fin bucle condicional Si f(a)*f(c) < 0 entonces: c ← (a+b)/2 b ← c Si no, hacer: a ← c Fin condición iter ← iter + 1;
51
Departamento de Matemática Aplicada y Métodos Informáticos 50 Universidad Politécnica de Madrid Ingeniería de Minas [> restart: [> f:=x-> 8*x-cos(x)-2*x^2: [> a:=0.: b:=Pi/6: maxiter:=100: eps:=0.0001: iter:=0: [> while (evalf(abs(b-a)>=eps) and (iter<=maxiter)) do c:=evalf((a+b)/2): if(f(a)*f(c) < 0) then b:=c: else a:=c: fi: iter:=iter+1: od: [> print(iter,(a+b)/2, f((a+b)/2); Ejercicio 4 (Método de bipartición) (cont.),,13.0.1280554378-0.00016498880
52
Departamento de Matemática Aplicada y Métodos Informáticos 51 Universidad Politécnica de Madrid Ingeniería de Minas
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.