summaryrefslogtreecommitdiff
path: root/sem_5/HLIN505_Java/HLIN505/src/TP2
diff options
context:
space:
mode:
Diffstat (limited to 'sem_5/HLIN505_Java/HLIN505/src/TP2')
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java11
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java5
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java28
-rw-r--r--sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java19
4 files changed, 63 insertions, 0 deletions
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java
new file mode 100644
index 0000000..5d3cb70
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java
@@ -0,0 +1,11 @@
+package TP2;
+
+public class Constante extends Exp {
+ float val;
+ public float eval() {
+ return val;
+ }
+ public Constante(float x) {
+ val = x;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java
new file mode 100644
index 0000000..b465d4c
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java
@@ -0,0 +1,5 @@
+package TP2;
+
+public abstract class Exp {
+ public abstract float eval ();
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java
new file mode 100644
index 0000000..30cfc2e
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java
@@ -0,0 +1,28 @@
+package TP2;
+
+public class ExpComp extends Exp{
+ private Exp val1;
+ private Exp val2;
+ private String op;
+
+ public ExpComp (Exp v1,String op, Exp v2) {
+ val1= v1;
+ this.op = op;
+ val2=v2;
+ }
+
+ public float eval() {
+ switch (op) {
+ case "*":
+ return val1.eval()*val2.eval();
+ case "/":
+ return val1.eval()/val2.eval();
+ case "+":
+ return val1.eval()+val2.eval();
+ case "-":
+ return val1.eval()-val2.eval();
+ default :
+ return 0;
+ }
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java
new file mode 100644
index 0000000..de235ce
--- /dev/null
+++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java
@@ -0,0 +1,19 @@
+package TP2;
+
+public class Main {
+
+ public static void main(String[] args) {
+ Constante a = new Constante(5);
+ Constante b = new Constante(2);
+ Constante c = new Constante(3);
+ ExpComp e1 = new ExpComp(a,"+",b);
+ ExpComp e2 = new ExpComp(e1,"*",c);
+ ExpComp e3 = new ExpComp(new Constante(4),"*",e2);
+ System.out.println(a.eval());
+ System.out.println(e1.eval());
+ System.out.println(e2.eval());
+ System.out.println(e3.eval());
+
+ }
+
+}