diff --git a/serie1/ex5.md b/serie1/ex5.md
new file mode 100644
index 0000000000000000000000000000000000000000..4254cdea549e8eef5bc666b8d2cd83bec5c937d1
--- /dev/null
+++ b/serie1/ex5.md
@@ -0,0 +1,47 @@
+On dispose des méthodes suivantes:
+
+```java
+void g(int n, float x) { ... }
+void h(short s) { ... }
+```
+
+Et des déclarations suivantes:
+
+```java
+int i;
+byte b;
+float f;
+double d;
+```
+
+Spécifiez si les appels suivants sont corrects ou non tout en justfiant vos
+réponses:
+
+```java
+g(i, f) // Oui, car on passe à la fonction respectivement un int et un float
+        // exactement comme le spécifie la signature de la fonction g
+
+g(b+1, f)   // Oui, cela fonction car car b + 1 sera implicitement converti en
+            //int
+
+g(b, f) // Oui, cela fonctionne car le b sera implicitement converti en int
+
+g(i, i) // Oui, cela fonctionne car le 2ème i sera implicitement converti en
+        // float
+
+g(i, 2*f) // Oui, cela va fonctionner car le 2 qui est un int sera implicitement
+            // converti en float
+
+g(i, 2.0*f) // Non, cela ne va pas fonctionner car 2.0 qui est un double ne
+            // pourra pas être implicitement converti en float
+
+h(b) // Oui, cela va fonctionner car b sera implicitement converti en short
+
+h(b+1) // Non, cela ne va pas fonctionner car b+1 sera implicitement converti en
+        // int cependant la fonction peut accepter uniquement un short
+
+h(5) // Oui, cela fonctionne car 5 est dans le $D_{f}$ d'un short
+
+h(5.0) // Non, cela ne va pas fonctionner car un double (5.0) ne peut pas être
+        // implicitement converti en short
+```