diff --git a/fonctions.md b/fonctions.md new file mode 100644 index 0000000000000000000000000000000000000000..50d95e86d717b88bf7f29fe057c1d2a714f9df32 --- /dev/null +++ b/fonctions.md @@ -0,0 +1,63 @@ +--- +title: Cours de programmation séquentielle +subtitle: Fonctions +author: Orestis Malaspinas +<!-- date: 25 avril 2018 --> +sansfont: Sans Serif +<!-- header-includes: + <link rel="stylesheet" href="reveal.js/lib/css/zenburn.css" > + <link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme"> + <link rel="stylesheet" href="css/console.css" id="theme"> + <script src="jquery/dist/jquery.min.js"></script> --> + <!-- <script src="reveal.js/lib/js/classList.js"></script> --> + <!-- <script src="reveal.js/plugin/zoom-js/zoom.js"></script> --> + <!-- <script src="reveal.js/plugin/highlight/highlight.js"></script> --> + <!-- <script src="js/remote-diagrams.js"></script> --> + <!-- <script src="reveal.js/plugin/notes/notes.js"></script> --> +<!-- include-after: + <script src="js/playRust.js"></script> + <script src="js/remote-code.js"></script> + <script src="js/remote-diagrams.js"></script> + <script src="js/em-artiste.js"></script> --> +<!-- slide-numbers: true --> +--- + +# Les instructions et les expressions + +## Les instructions (statements) + +- Une **instruction** est une commande effectuant une action mais ne retournant aucune valeur. +- Exemple: + + ```{.lang-rust} + let x = 1; // une instruction + ``` +- On ne peut pas assigner une instruction + +<pre><code data-trim="hljs rust" class="lang-rust"> + fn main() { + let y = (let x = 1); + } +</code></pre> + +## Les expressions + +- Une **expression** est une combinaison de variables, d'opérations, ... retournant une valeur. +- Exemple: + + ```{.lang-rust} + 3 + 5 + ``` + +- La plupart du code rust est une expression. +- N'importe quel bloc peut effectuer des opérations et retourner une valeur. + +<pre><code data-trim="hljs rust" class="lang-rust"> + fn main() { + let y = { + let x = 5 + 3; + x - 9 + }; + println!("5 + 3 - 9 = {}", y); + } +</code></pre>