Moto parabolico per la 3E

x = x0 + v0x t
t = (x – x0)/v0x

y = y0 + v0y t + 1/2 g t^2
y = y0 + v0y (x – x0)/v0x + 1/2 g (x – x0)^2 / v0x^2
y = y0 + v0y/v0x x – v0y/v0x x0 + 1/2 g x^2/v0x^2 – 1/2 g 2 x x0/v0x^2 + 1/2 g x0^2/v0x^2
y = (1/2 g/v0x^2) x^2 + (v0y/v0x – g x0/v0x^2) x + (y0 – v0y/v0x x0 + 1/2 g x0^2 / v0x^2)

y = a x^2 + b x + c
a = 13,92
b = -1,961
c = 0,169

g = 9,8

13,92 = 1/2 g/v0x^2
-1,961 = v0y/v0x – g x0/v0x^2
y0 = 0
0,169 = v0y/v0x x0 + 1/2 g x0^2 / v0x^2

Sistema da risolvere
13,92 = 1/2 g/v0x^2
-1,961 = v0y/v0x – g x0/v0x^2
0,169 = v0y/v0x x0 + 1/2 g x0^2 / v0x^2

Ricavare: v0x, v0y, x0

Frazione per la 3E

Inserire nei costruttori e nei vari metodi il controllo delle situazioni di errore ovvero quando il risultato è impossibile (denominatore 0). In  tal caso non deve essere eseguito il calcolo sulla frazione e deve essere visualizzato un messaggio di avviso con i valori delle frazioni coinvolte nell’operazione.

Frazione.java

public class Frazione {
	
	public int num, den;
	
	public Frazione(int numVal, int denVal) {
		num = numVal;
		den = denVal;
	}
	
	public Frazione() {
		num = 0;
		den = 1;
	}

	public Frazione(int numero) {
		num = numero;
		den = 1;
	}
	
	public void add(Frazione f) {
		int denComune = den * f.den;
		num = num * f.den + f.num * den;
		den = denComune;
		int d = Int.mcd(num, den); 
		num /= d;
		den /= d;
	}
	
	public void sot(Frazione f) {
		int denComune = den * f.den;
		num = num * f.den - f.num * den;
		den = denComune;
		int d = Int.mcd(num, den); 
		num /= d;
		den /= d;
	}
	
	public void mol(Frazione f) {
		num *= f.num;
		den *= f.den;
		int d = Int.mcd(num, den); 
		num /= d;
		den /= d;
	}
	
	public void div(Frazione f) {
		num *= f.den;
		den *= f.num;
		int d = Int.mcd(num, den); 
		num /= d;
		den /= d;
	}
	
	@Override
	public String toString() {
		return num + "/" + den;
	}

}

Int.java

public class Int {

	// Algoritmo di Euclide per la ricerca del MCD
	public static int mcd(int a, int b) {
		int t;
		while (b != 0) {
			t = b;
			b = a % b;
			a = t;
		}
		return a;
	}

}