• Publicidad

Diario de aprendizaje de un perlero desde cero

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor Zeokat » 2007-07-28 08:33 @397

Me pongo con el siguiente ejercicio:

9) Operaciones con matrices.

A ver si repaso estas operaciones que ya se me olvidaron jejeje. :oops:
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380

Publicidad

Notapor explorer » 2007-07-28 09:25 @434

Como ejercicios para el futuro, estaría bien reescribir estos programas, pero intentando reducirlos a la mitad, a la tercera y a la cuarta parte (o menos). :D
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor creating021 » 2007-07-28 09:40 @444

explorer escribiste:
creating021 escribiste:Cuando usas esa formula estás encontrando el área de un cuadrilátero regular y dividiéndolo por dos... si el triángulo no es de 90º no puedes usar la fórmula (sin partir el triángulo)... es más, ni siquiera la fórmula de Herón es válida para todos los triángulos (ver geometría hiperbólica y curvatura del espacio-tiempo) aunque con ingenio y mucho tiempo de trabajo se puede lograr.
Por favor, creating021, entra en el enlace que he puesto a la página de Wikipedia. Y presta especial atención al gráfico animado de la derecha.

He revisado media docena de páginas más, de matemáticas, y todas ponen lo mismo. Se puede aplicar la formula independientemente de si es o no un triángulo rectángulo. Nada de partir el triángulo. Si se dispone de una base y de una altura, es fácil calcular su área.

¿Tienes un contraejemplo?

http://descartes.cnice.mecd.es/3_eso/Fi ... ugeo_2.htm
http://www.dmae.upct.es/~pepemar/triangulo/area.htm (el primer applet es particularmente divertido)
http://mimosa.cnice.mecd.es/clobo/geoweb/area5.htm (último applet, todas las combinaciones de base y altura)


Si... supongamos que tienes un triángulo isósceles, 10 cm. los lados mayores y 5 el menor.

Encuentra el área _sin_ usar pitágoras y usando la fórmula propuesta (b*a/2) de este triángulo (10 cm. los mayores y 5 el menor).

Como verás, en el mismo dibujo animado que comentas, parten el triángulo (de forma imaginaria) en dos (a la mitad) llamándola altura y encontrándola por medio del teorema de pitágoras (ya que forma dos triángulos rectos)... después duplican el área triangular original formando un cuadrilátero regular (base x altura) y lo dividen para tener el triángulo.

Bien, con cualquiera de los dos lo puedes lograr, solo que con Herón te ahorras tiempo y recursos al no tener que encontrar la altura.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor creating021 » 2007-07-28 09:43 @446

explorer escribiste:Como ejercicios para el futuro, estaría bien reescribir estos programas, pero intentando reducirlos a la mitad, a la tercera y a la cuarta parte (o menos). :D


Y ahora que lo comentas o lo quiero hacer unificado (como un solo programa) para hacer un suit matemático-geométrico y agregar un par de cosas.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Norther » 2007-07-28 10:32 @480

Al menos no apuntas muy alto... :roll:
Norther
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2007-07-24 13:47 @616
Ubicación: Asturias

Notapor explorer » 2007-07-28 11:30 @520

creating021 escribiste:
explorer escribiste:¿Tienes un contraejemplo?


Si... supongamos que tienes un triángulo isósceles, 10 cm. los lados mayores y 5 el menor.

Encuentra el área _sin_ usar pitágoras y usando la fórmula propuesta (b*a/2) de este triángulo (10 cm. los mayores y 5 el menor).


Muy fácil... usando trigonometría básica:

Para conocer la altura h del triángulo isósceles necesitamos conocer el ángulo α entre el lado mayor y el menor.

Sabemos que 10 * cos α = 2,5. 2,5 es la mitad de la base de lado 5, hasta el punto donde se cruza con la altura h, por lo que también sabemos que 10 * sin α = h.

Bueno, de la primera fórmula sacamos que el ángulo es α = 1,318 rad. Aplicándolo a la segunda tenemos que h = 9,6824.

Luego la superficie del triángulo es S = base * h / 2 = 5 * 9,6824 / 2 = 24,2061.

Comprobémoslo con la fórmula de Herón:

S = 1/4 * sqr( (10+10+5) * (10+10-5) * (10-10+5) * (10-10+5) ) = 24,2061.

Aquí no se está discutiendo si el número de operaciones es mayor o menor. Estamos viendo que si el usuario dispone de la base y la altura, se puede aplicar la fórmula a cualquier triángulo para poder saber su superficie. Si dispone sólo de la longitud de los lados naturalmente que puede usar Herón, pero aquí estamos hablando de una afirmación que todavía no has demostrado, de la que la base*altura/2 no es aplicable a triángulos distintos de los rectángulos.

creating021 escribiste:Como verás, en el mismo dibujo animado que comentas, parten el triángulo (de forma imaginaria) en dos (a la mitad) llamándola altura y encontrándola por medio del teorema de pitágoras (ya que forma dos triángulos rectos)... después duplican el área triangular original formando un cuadrilátero regular (base x altura) y lo dividen para tener el triángulo.

O yo estoy ciego o no estamos viendo el mismo dibujo. Yo no veo por ninguna parte que la altura divida el triángulo por la mitad.

Imagen

No hay fórmula de pitágoras. Lo que hacen es: dividen el triángulo en dos partes (distintas). Pero en la siguiente secuencia lo que hacen es duplicar la superficie del triángulo y colocar sobre uno de los lados, formando un paralelepípedo (cuya superficie es S=base*altura). De este segundo triángulo lo dividen por la altura, esta vez sí, y "mueven" la parte del triángulo más a la derecha a la parte izquierda del paralelepípedo, para convertirlo en un rectángulo (así es como se demuestra el cálculo de la superficie de un paralelepípedo). Bueno, pues si la superficie de este rectángulo es base por altura, como hemos duplicado el área del triangulo original, significa que su área es la mitad.

Si hubieras visto alguno de los applets que te ponía más arriba verías que la fórmula se aplica a TODO triángulo.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor creating021 » 2007-07-28 12:04 @544

Je, je bueno, me explico:

Mi demostración es la siguiente:
Requieres de una segunda ecuación para encontrarlo y esto requiere partir el triángulo para encontrar una área distinta (un cuadrado, por eso b*a).
¿Que tipo de demostración es esa si la ecuación es correcta?

Bueno que estos triángulos "carecen" de una altura definida y digo que "carecen" puesto que no está explicita y creo (sólo creo) que a nivel aplicativo es mas útil ingresar los 3 lados y que el programa haga el resto.
Mi demostración no es matemática sino funcional y si estoy siendo muy "cabeciduro" lo siento.

No hay fórmula de pitágoras. Lo que hacen es: dividen el triángulo en dos partes (distintas). Pero en la siguiente secuencia lo que hacen es duplicar la superficie del triángulo y colocar sobre uno de los lados, formando un paralelepípedo (cuya superficie es S=base*altura). De este segundo triángulo lo dividen por la altura, esta vez sí, y "mueven" la parte del triángulo más a la derecha a la parte izquierda del paralelepípedo, para convertirlo en un rectángulo (así es como se demuestra el cálculo de la superficie de un paralelepípedo). Bueno, pues si la superficie de este rectángulo es base por altura, como hemos duplicado el área del triangulo original, significa que su área es la mitad.

:lol: Como quieras, por ahora me quedo con Herón, simple y limpio.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Zeokat » 2007-07-28 12:50 @576

La formula de Herón me parece que tiene unas limitaciones, esta claro que es la forma más sencilla. Pero creo recordar que en triángulos con forma de alfiler esta fórmula falla. El caso de triángulo con forma de alfiler se da si introduces dimensiones para dos de los lados pequeñas en relación al otro lado, por ejemplo:
Código: Seleccionar todo
a= 2
b= 7
c= 500

;)
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380

Notapor creating021 » 2007-07-28 14:01 @625

Zeokat escribiste:La formula de Herón me parece que tiene unas limitaciones, esta claro que es la forma más sencilla. Pero creo recordar que en triángulos con forma de alfiler esta fórmula falla. El caso de triángulo con forma de alfiler se da si introduces dimensiones para dos de los lados pequeñas en relación al otro lado, por ejemplo:
Código: Seleccionar todo
a= 2
b= 7
c= 500

;)

Ese no es un triángulo según el teorema del seno :wink:
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor explorer » 2007-07-28 16:08 @714

JAJAJA.... ¡ay!, ¡¡¡que me parto!!!
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

AnteriorSiguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron