From 75bdb42cd66041edac01d0677bd8a3b82824a25b Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 12 Sep 2023 16:35:48 +0200 Subject: [PATCH] vault backup: 2023-09-12 16:35:48 --- .obsidian/workspace.json | 25 ++++++++++++++++------- Algo/Séminaire/Chapter 5 - Recursivity.md | 10 ++++++++- Algo/Séminaire/Exercices seminaire.md | 13 ++++++++++++ 3 files changed, 40 insertions(+), 8 deletions(-) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 26d5727..1756ea8 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -10,6 +10,18 @@ { "id": "c82ce15f72f65a11", "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Algo/Séminaire/Exercices seminaire.md", + "mode": "source", + "source": false + } + } + }, + { + "id": "64e3f10f354fdce4", + "type": "leaf", "state": { "type": "markdown", "state": { @@ -85,7 +97,7 @@ "state": { "type": "backlink", "state": { - "file": "Algo/Séminaire/Chapter 5 - Recursivity.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +114,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Algo/Séminaire/Chapter 5 - Recursivity.md", + "file": "Algo/Séminaire/Exercices seminaire.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -125,7 +137,7 @@ "state": { "type": "outline", "state": { - "file": "Algo/Séminaire/Chapter 5 - Recursivity.md" + "file": "Algo/Séminaire/Exercices seminaire.md" } } }, @@ -156,12 +168,13 @@ "command-palette:Open command palette": false } }, - "active": "c473a791e2b34194", + "active": "c82ce15f72f65a11", "lastOpenFiles": [ + "Algo/Séminaire/Chapter 5 - Recursivity.md", + "Algo/Séminaire/Exercices seminaire.md", "Algo/Séminaire/assets/fact function response.png", "Algo/Séminaire/assets/recursivite-meme.png", "Pasted image 20230912155138.png", - "Algo/Séminaire/Chapter 5 - Recursivity.md", "Algo/Séminaire/Chapter 4 - A bit of imperative.md", "Algo/Chapter 0 - A bit of imperative/0.1 - Print.md", "Algo/Séminaire/Untitled", @@ -169,7 +182,6 @@ "Algo/Séminaire/Chapter 1 - CAML basics.md", "Algo/Séminaire/Chapter 2 - Functions.md", "Mathématiques/Séminaire/Logics/Logics.md", - "Algo/Séminaire/Exercices seminaire.md", "Algo/Chapter 0 - A bit of imperative", "Algo/Séminaire/Chapter 3 - Case analysis.md", "README.md", @@ -186,7 +198,6 @@ "Mathématiques/Séminaire/Logics/Pasted image 20230904101453.png", "Mathématiques/Séminaire/Logics/Pasted image 20230904100934.png", "Mathématiques/Séminaire", - "Mathématiques/Séminaire/Logics/Pasted image 20230904100125.png", "2023-09-01.md", "Algo", "Mathématiques", diff --git a/Algo/Séminaire/Chapter 5 - Recursivity.md b/Algo/Séminaire/Chapter 5 - Recursivity.md index 90de627..284e9e7 100644 --- a/Algo/Séminaire/Chapter 5 - Recursivity.md +++ b/Algo/Séminaire/Chapter 5 - Recursivity.md @@ -53,4 +53,12 @@ val countdown = int -> unit = () 3 2 1 -- : unit = () \ No newline at end of file +- : unit = () +``` +Flowchart of CAML evaluation +```mermaid +flowchart LR + +A[ctd 3] --> B[ctd 2] --> C[ctd 1] --> D[ctd 0] --> E[ctd -1] --> F[ ] --> E --> D --> C --> B --> A +``` +> ctd is countdown \ No newline at end of file diff --git a/Algo/Séminaire/Exercices seminaire.md b/Algo/Séminaire/Exercices seminaire.md index 1e72ce0..a1e9263 100644 --- a/Algo/Séminaire/Exercices seminaire.md +++ b/Algo/Séminaire/Exercices seminaire.md @@ -247,3 +247,16 @@ val or3-simple: bool*bool*bool -> bool = ```Ocaml let time_difference (d1, md1, sd1, pos1) (d2, md2, sd2, pos2) ``` + +## Exercise 4.2 +```Ocaml +let rec suite n = let a = 0 in + if n <= 0 then + a + else + a + suite (4*(n-1) - 1);; + + +let rec sequence = function + | 0 -> 1 + | n -> 4* sequence(n-1) - 1;; \ No newline at end of file