Título: Ejercicio Problema de Bala de Cañon. Resuelto. Publicado por: necro1991 en 2 Octubre 2010, 00:48 am Esto es un Ejercicio...
Se debe hacer en python, Java y C++ (Orientado a Objetos) Con Clase Projectile. En el libro que ingrese en la parte de abajo tiene como hacerlo en python bueno de echo ya esta echo ai poco a poco y muy bien explicado el problema es que esta en ingles... Citar Si alguien esta interesado en postear el codigo en otro lenguaje aparte de C++, Python y Java... Adelante asi aprendemos de todo un poco; Favor de dar explicaciones de cada parte Ahi que poner tambien las explicaciones para que sepamos como se va moviendo el programa, para que todos sepan que estamos haciendo bien y que estamos haciendo mal (Como Puedan). Bueno Adelante Y Suerte.! :) Para El Domingo Pongo mis Resultados! =] ("Por Exceso de Tarea Recibida, Lo tienen antes del Jueves") Citar Example Program: Cannonball Pistas:Before launching into a detailed discussion of how to write your own classes, let’s take a short detour to see how useful new classes can be. 10.2.1 Especificacion del Programa Supongamos que queremos escribir un programa que simula el vuelo de una bala de cañón (o cualquier otro proyectil, como una bala, el béisbol o lanzamiento de peso). Estamos particularmente interesados en saber hasta qué punto la bala viajará cuando se dispara a diferentes ángulos de lanzamiento y la velocidad inicial. La entrada al programa será el ángulo de lanzamiento (En grados), la velocidad inicial (en metros por segundo) y la altura inicial (en metros). La salida será la distancia que viaja el proyectil antes de golpear el suelo (en metros). Si ignoramos los efectos de la resistencia al viento y se supone que la bala de cañón se mantiene cerca de la superficie terrestre (Es decir, no estamos tratando de ponerla en órbita), se trata de un problema clásico de la física relativamente simple. La aceleración de la gravedad cerca de la superficie de la Tierra es de unos 9,8 metros por segundo, por segundo. Esto significa que si un objeto se lanza hacia arriba a una velocidad de 20 metros por segundo, después de pasado un segundo, su velocidad de subida se ha desacelerado a 20-9.8 = 10.2 metros por segundo. Después de un segundo, la velocidad será sólo 0.4 metros por segundo, y poco después se empiezan a caer. Para aquellos que saben un poco de cálculo, no es difícil obtener una fórmula que da la posición de nuestro bala de cañón en cualquier momento dado de su vuelo. En lugar de adoptar el enfoque de cálculo, sin embargo, nuestro programa utilizará la simulación para rastrear el momento bala de cañón por el momento. Usando un poco de trigonometría simple para empezar, junto con la relación evidente que la distancia de un objeto se desplaza en una determinada cantidad de tiempo es igual a veces su tasa de la cantidad de tiempo (d = rt), podemos resolver este problema algorítmico. Recuerden el Valor de Pi es: 3.1416 Y De La Gravedad. Extra: Se tiene que Hacer "una clase projectile", Y un intervalo que nos diga cada cuanto tiempo quiere saber en que posicion se encuentra la bala cuando viaja. Ejemplo: (x,y) = (0,0) El intervalo lo quiero de 0.5 segundos (x,y) = (0,0) 0 segundos... Se lanza... (x,y) = (15,85) 0.5 segundos (x,y) = (27,115) 1 segundo ... (x,y) = (n,n) n segundos hasta llegar al suelo... La referencia de este programa lo encontre en el siguiente libro: http://www.google.com.mx/url?sa=t&source=web&cd=2&ved=0CCAQFjAB&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.111.6062%26rep%3Drep1%26type%3Dpdf&rct=j&q=Python%20Programming%3A%20An%20Introduction%20to%20Computer%20Science%20pdf&ei=hGSmTPLAGMK88gbWy4n4AQ&usg=AFQjCNFyDFAoTuPioXb1mYk0Wel9_z9u_w&cad=rja (http://www.google.com.mx/url?sa=t&source=web&cd=2&ved=0CCAQFjAB&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.111.6062%26rep%3Drep1%26type%3Dpdf&rct=j&q=Python%20Programming%3A%20An%20Introduction%20to%20Computer%20Science%20pdf&ei=hGSmTPLAGMK88gbWy4n4AQ&usg=AFQjCNFyDFAoTuPioXb1mYk0Wel9_z9u_w&cad=rja) Nombre:Python Programming: An Introduction to Computer Science Autor: John M. Zelle, Ph.D. Pagina en el Libro: 156 "capitulo 10" Pagina en el PDF: 164 //Gracias a todos los que estan dando sugerencias las estoy tomando en cuenta ya que como saben soy nuevo :D Título: ¡Mis Resultados! Publicado por: necro1991 en 2 Octubre 2010, 07:36 am Mis Resultados:
Python 2.7: Citar from math import pi, cos, sin class Projectile: def __init__(self, angle, velocity, height): self.xpos = 0.0 self.ypos = height a=pi*angle theta = a / 180.0 self.xvel = velocity * cos(theta) self.yvel = velocity * sin(theta) def update(self, time): self.xpos = self.xpos + time * self.xvel yvel1 = self.yvel - 9.8 * time self.ypos = self.ypos + time * (self.yvel + yvel1) / 2.0 self.yvel = yvel1 def getY(self): return self.ypos def getX(self): return self.xpos def getInputs(): print 'Dame el angulo en Grados' a = input() print 'Dame el valor inicial de la velocidad m/s' v = input() print 'Dame la altura inicial en metros' h = input() print 'Introduce el intervalo del calculo' t = input() return a,v,h,t def main(): angle,vel,h0,time = getInputs() cball = Projectile(angle, vel, h0) while cball.getY() >= 0: cball.update(time) print 'X:', cball.getX() print 'Y:', cball.getY() print ' ' print 'Distancia Viajada:', cball.getX(), 'metros' if __name__ == "__main__": main() raw_input() Java: Citar package clasess; import java.io.*; import java.math.*; import java.io.IOException; public class Main { ///Menu Principal: public static void main(String[] args) throws IOException{ //Valores Determinados En caso de que no ingresen valores projectile a = new projectile(); a.setxpos(0); a.setypos(0); a.setxvel(0); a.setyvel(0); a.captura(); a.imprime(); ////////////////////////////////// }} /////////////////////CLASES DE CADA OBJETO//////////////////// class projectile { private double xpos; private double ypos; private double xvel; private double yvel; //Posiciones public double getxpos () { return xpos; }; public void setxpos (double i_xpos) { xpos=i_xpos; } public double getypos () { return ypos; }; public void setypos (double i_ypos) { ypos=i_ypos; } //Velcoidades public double getxvel () { return xvel; }; public void setxvel (double i_xvel) { xvel=i_xvel; } public double getyvel () { return yvel; }; public void setyvel (double i_yvel) { yvel=i_yvel; } public void captura() throws IOException { BufferedReader lee = new BufferedReader(new InputStreamReader(System.in)); int a,v,h,t;double pi=3.1416,aa,tetha;double bb,r,yvel1,r1,r2,r3,r4,r5; System.out.println("Dame el angulo en grados"); a = Integer.parseInt(lee.readLine()); System.out.println("Dame el valor inicial de la velocidad m/s"); v= Integer.parseInt(lee.readLine()); System.out.println("Dame la altura inicial en metros"); h= Integer.parseInt(lee.readLine()); System.out.println("Dame el intervalo de calculacion"); t= Integer.parseInt(lee.readLine()); //Calculando velocidades en x & en y aa=pi*a; tetha=aa/180; xvel=v*Math.sin(tetha); yvel=v*Math.cos(tetha); //Iniciando el Ciclo //Posicion de Xpos & Ypos while(ypos>=0){ //Trabajando con la X bb=t*xvel; r = xpos +bb; xpos=r; //Trabajando con la Y r1=9.8*t; yvel1 = yvel - r1; //Posicion de Y r2=yvel+yvel1; r3=r2/2.0; r4=t*r3; r5 = ypos + r4; ypos=r5; yvel = yvel1; System.out.println(" "); System.out.println("X: "+xpos+" "); System.out.println("Y: "+ypos +" "); } } public void imprime(){ //System.out.println("X: "+xvel+" "); System.out.println("Distancia recorrida es:"+xpos+""); } } C++: Citar Sorry.! Vi que nadie participo... Si quieren adelante participen Ingresando el codigo en C++, El tema lo dejo abierto para ver quien lo quiera poner Nota: Citar Lo Pueden hacer en otro lenguaje bien... Para aprender Con un Gracias Por participar me conformo xD jajaja :D Título: Re: The Cannonball problem (Problema de Bala de Cañon). (Python, Java & C++) Publicado por: [L]ord [R]NA en 2 Octubre 2010, 07:56 am Creo que seria mejor si concretamente pones el ejercicio y dejas que cada quien busque la teoria. El post se te esta haciendo muy largo y muchos se van y no comentan cuando ven posts asi de largos. Es solo una sugerencia.
Saludos, LordRNA Título: RE: problema de Bala de Cañon. (Java & C++) Python Semi-Resuelto Publicado por: necro1991 en 2 Octubre 2010, 16:01 pm Creo que seria mejor si concretamente pones el ejercicio y dejas que cada quien busque la teoria. El post se te esta haciendo muy largo y muchos se van y no comentan cuando ven posts asi de largos. Es solo una sugerencia. Saludos, LordRNA Ok Gracias.! :) ahurita lo cambio. pero primero quiero terminar el de clase por que el objetivo es ese jejeje =] Título: Re: Ejercicio Problema de Bala de Cañon. Resuelto. Publicado por: ¡Micronet! en 16 Octubre 2010, 00:05 am Casualidad... una amiga me paso ese problema jajaja
no te enojes amigo. No todos te van a responder siempre... Código: #include <iostream> Derecho de Autor: Cruz! :) ^^ |