aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md11
-rw-r--r--semestre 3/architecture des ordinateurs/1- Représentation de l'information.md18
-rw-r--r--semestre 3/architecture des ordinateurs/scripts/bin_to_hex.exs38
-rw-r--r--semestre 3/mathématiques discrètes/1- Ensembles, relations, fonctions.md2
4 files changed, 47 insertions, 22 deletions
diff --git a/README.md b/README.md
index e0c9ae4..64e1159 100644
--- a/README.md
+++ b/README.md
@@ -2,22 +2,23 @@
Dans ce repository, vous trouvez tous mes cours à
[Sorbonne Université](https://sorbonne-universite.fr).
-Je suis en double licence Sciences - Philosophie avec une spécialisation en informatique.
+Je suis en double licence Informatique - Philosophie.
+J'ai suivi des cours de physique au premier semestre et de mathématiques généralistes au premier
+et deuxième semestre.
Le contenu est censuré pour éviter d'envoyer des données personnelles sur internet sans le
consentement des intéressés.
Si vous trouvez une information sensible, n'hésitez pas à m'envoyer
-[un mail](mailto:me@anhgelus.world).
+[un mail](mailto:william@herges.fr).
## Organisation
Chaque semestre possède son propre dossier contenant toutes les UE.
Chaque UE possède son propre dossier.
Les fichiers markdown (`.md`) ont été écris avec Obsidian.
-Les fichiers $\LaTeX$ (`.tex`) ont été écris avec NeoVim.
-Les fichiers C (`.c`) ont été écris avec Vim.
+Les autres fichiers ont été écrits avec NeoVim ou avec un IDE Jetbrains.
## Licence
Ce repository est sous licence CC BY-NC-SA 4.0.
Aucun fichier ne m'appartenant pas n'a été publié.
Si vous pensez qu'un fichier vous appartenant est disponible, contactez moi
-[par mail](mailto:me@anhgelus.world).
+[par mail](mailto:william@herges.fr).
diff --git a/semestre 3/architecture des ordinateurs/1- Représentation de l'information.md b/semestre 3/architecture des ordinateurs/1- Représentation de l'information.md
index 9545578..ee2a51c 100644
--- a/semestre 3/architecture des ordinateurs/1- Représentation de l'information.md
+++ b/semestre 3/architecture des ordinateurs/1- Représentation de l'information.md
@@ -240,21 +240,7 @@ def bin_to_hex(b):
return hex
```
-```elixir
-def bin_to_hex(b) do
- bin_to_hex_rec(b, [])
-end
-
-defp bin_to_hex_rec(before, after) when before != "" do
- {b, a} = String.split_at(before, -4)
- #TODO: convert algo
- bin_to_hex_rec(b, [a | after])
-end
-
-defp bin_to_hex_rec("", after) do
- after
-end
-```
+Voir le dossier `scripts` pour la version elixir.
Pour réaliser une addition en binaire, on a besoin que les deux mots fassent la même taille
@@ -290,4 +276,4 @@ $$ = \mathrm{0b}1\ldots1 = -1 $$
Donc, on a que $\bar N$ doit être décalé de 1, d'où le plus 1
|> cela est dû au fait que l'intervalle ne soit pas symétrique
-Voir le moodle pour la suite \ No newline at end of file
+Voir le moodle pour la suite
diff --git a/semestre 3/architecture des ordinateurs/scripts/bin_to_hex.exs b/semestre 3/architecture des ordinateurs/scripts/bin_to_hex.exs
new file mode 100644
index 0000000..8d6e629
--- /dev/null
+++ b/semestre 3/architecture des ordinateurs/scripts/bin_to_hex.exs
@@ -0,0 +1,38 @@
+defmodule Conv do
+ def bin_to_hex(b) do
+ bin_to_hex_rec(b, [])
+ end
+
+ defp bin_to_hex_rec(before, aft) when before != "" do
+ {b, a} = String.split_at(before, -4)
+ s = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
+ bin_to_hex_rec(b, [Enum.at(s, bin_to_dec(a)) | aft])
+ end
+
+ defp bin_to_hex_rec("", aft) do
+ aft
+ end
+
+ def bin_to_dec(b) do
+ bin_to_dec_rec(b, 0, 0)
+ end
+
+ defp bin_to_dec_rec(before, aft, i) when before != "" do
+ {b, a} = String.split_at(before, -1)
+ bin_to_dec_rec(b, case a do
+ "0" -> aft
+ "1" -> aft + Integer.pow(2, i)
+ end, i + 1)
+ end
+
+ defp bin_to_dec_rec("", aft, _i) do
+ aft
+ end
+end
+
+Conv.bin_to_hex("1111")
+|> IO.puts() # must print f
+
+Conv.bin_to_hex("11101011")
+|> IO.puts() # must print EB
+
diff --git a/semestre 3/mathématiques discrètes/1- Ensembles, relations, fonctions.md b/semestre 3/mathématiques discrètes/1- Ensembles, relations, fonctions.md
index 8baee50..b0066aa 100644
--- a/semestre 3/mathématiques discrètes/1- Ensembles, relations, fonctions.md
+++ b/semestre 3/mathématiques discrètes/1- Ensembles, relations, fonctions.md
@@ -117,7 +117,7 @@ Si $E$ est un ensemble fini contenant $n$ éléments, alors $|\mathcal{P}(E)|=2^
**Définition**
Soit $E$ un ensemble.
-Quand on partitionne $E$, on construit des parties deux à deux disjointes.
+Quand on partitionne $E$, on construit des parties non vides deux à deux disjointes.
Une partition de $E$ est une famille $(A_i)_{i\in I}$ de parties de $E$ telle que :
- $A_i\neq\varnothing$