diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp
index 03c531ff8deab8c0382e9f79e5f533f85687019c..2359e6848bdef9d9e2dfa7c5611f9c221ab2c673 100644
--- a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp
+++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp
@@ -25,9 +25,7 @@ int main() {
     
     f(tab, 2, 3);
     
-    for (i = 0; i < tab.size(); i++) 
-        cout << tab[i] << " ";
-    cout << endl;
+    cout << tab[3] << endl;
     
     return 0;
 }
\ No newline at end of file
diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp
index 5a101c0c9d481c8616561fd72a4afbc71677fd51..e791bc5da99c83958c181cf05cc423d965ccae3d 100644
--- a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp
+++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp
@@ -25,9 +25,7 @@ int main() {
     
     f(tab, 1, 3);
     
-    for (i = 0; i < tab.size(); i++) 
-        cout << tab[i] << " ";
-    cout << endl;
+    cout << tab[1] << endl;
     
     return 0;
 }
\ No newline at end of file
diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp
index a7b652f309a8a9d53191e6abdf2cc4f591f617b1..970b5f643a2ddcc1a64f0cd005875813a7e4da58 100644
--- a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp
+++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp
@@ -7,31 +7,21 @@ int g(int n) {
     return (n + 1) * (n - 1);
 }
 
-void f(vector<int> t, int a, int b, bool &c, int &d) {
-    if (a == b || t[a] == t[b]) c = false;
-    else {
-        if (t[a] < t[b]) {
-            c = true;
-            d = g(t[b] - t[a]);
-        } else {
-            c = false;
-            d = g(t[a] - t[b]);
-        }
-    }
+void f(vector<int> t, int a, int b, int &c) {
+    if (t[a] < t[b]) c = g(t[b] - t[a]);
+    else             c = g(t[a] - t[b]);
 }
     
 int main() {
     int i;
     vector<int> tab = {2, 4, 5, 8};
-    bool b;
     int r = -1;
     int x = 2;
     int y = 3;
     
-    f(tab, x, y, b, r);
+    f(tab, x, y, r);
     
-    cout << tab[x] << (b ? " < " : " >= ") << tab[y] << 
-        ", r = " << r << endl;
+    cout << r << endl;
     
     return 0;
 }
\ No newline at end of file
diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp
index 04b280046281ff9eb37477b957bc8a6f51096ae0..dd66b26b60c836f5ad92d2e6b375abe1f4503734 100644
--- a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp
+++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp
@@ -7,31 +7,21 @@ int g(int n) {
     return (n + 1) * (n - 1);
 }
 
-void f(vector<int> t, int a, int b, bool &c, int &d) {
-    if (a == b || t[a] == t[b]) c = false;
-    else {
-        if (t[a] < t[b]) {
-            c = true;
-            d = g(t[b] - t[a]);
-        } else {
-            c = false;
-            d = g(t[a] - t[b]);
-        }
-    }
+void f(vector<int> t, int a, int b, int &c) {
+    if (t[a] < t[b]) c = g(t[b] - t[a]);
+    else             c = g(t[a] - t[b]);
 }
     
 int main() {
     int i;
     vector<int> tab = {3, 1, 2, 6};
-    bool b;
     int r = -1;
     int x = 0;
     int y = 2;
     
-    f(tab, x, y, b, r);
+    f(tab, x, y, r);
     
-    cout << tab[x] << (b ? " < " : " >= ") << tab[y] << 
-        ", r = " << r << endl;
+    cout << r << endl;
     
     return 0;
 }
\ No newline at end of file
diff --git a/test~coding~readingCppPrograms.fr/data/procedure_math_exam_1.cpp b/test~coding~readingCppPrograms.fr/data/procedure_math_exam_1.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..6edf8463b01585b5fe9cfa5833740718ba6bbc97
--- /dev/null
+++ b/test~coding~readingCppPrograms.fr/data/procedure_math_exam_1.cpp
@@ -0,0 +1,16 @@
+#include <iostream>
+
+using namespace std;
+
+void Blaise(int &acc, int n) {
+    acc = n * (n+1) / 2;
+}
+
+int main() {
+    int somme = 0;
+
+    Blaise(somme, 8);
+    cout << "Blaise dit que la somme est de : " << somme << endl;
+
+    return 0;
+}
diff --git a/test~coding~readingCppPrograms.fr/data/procedure_math_exam_2.cpp b/test~coding~readingCppPrograms.fr/data/procedure_math_exam_2.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..58990475969ccb1de6ece1d60bbd15b516a36c04
--- /dev/null
+++ b/test~coding~readingCppPrograms.fr/data/procedure_math_exam_2.cpp
@@ -0,0 +1,25 @@
+#include <iostream>
+#include <math.h>
+
+using namespace std;
+
+
+bool premier(int n) {
+
+    if (n % 2 == 0) return true;
+	for (int d = 3; floor(sqrt(n)+1); d=d+2)
+		if (n % d == 0)
+			return false;
+	return true;
+}
+
+int main() {
+
+    if (premier(21))
+    	cout << "Prim" << endl;
+    else
+    	cout << "Pas Prim" << endl;
+
+
+    return 0;
+}
diff --git a/test~coding~readingCppPrograms.fr/data/procedure_math_pratice_1.cpp b/test~coding~readingCppPrograms.fr/data/procedure_math_pratice_1.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..42a0793308f8c586952a0b898cb82de10ea40c3c
--- /dev/null
+++ b/test~coding~readingCppPrograms.fr/data/procedure_math_pratice_1.cpp
@@ -0,0 +1,16 @@
+#include <iostream>
+
+using namespace std;
+
+void Blaise(int &acc, int n) {
+    acc = n * (n+1) / 2;
+}
+
+int main() {
+    int somme = 0;
+
+    Blaise(somme, 8);
+    cout << "Blaise dit que la somme est de : " << somme << endl;
+
+    return 0;
+}
\ No newline at end of file