Skip to content
Snippets Groups Projects
Commit 36049d4b authored by orestis.malaspin's avatar orestis.malaspin
Browse files

ajout chapitre

parent 72ef1d88
Branches
No related tags found
No related merge requests found
......@@ -27,7 +27,7 @@ REVEALOPRIONS += --highlight-style espresso
# all: cours.pdf cours.html
all: intro.html
all: intro.html variables.html
# cours.pdf: cours.md Makefile
# pandoc -s $(BEAMEROPTIONS) -o $@ $<
......@@ -35,5 +35,8 @@ all: intro.html
intro.html: intro.md Makefile
pandoc -s $(REVEALOPRIONS) -o $@ $<
variables.html: variables.md Makefile
pandoc -s $(REVEALOPRIONS) -o $@ $<
clean:
rm -rf intro.html
\ No newline at end of file
---
title: Cours de programmation séquentielle
subtitle: Variables
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>
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>
width:
1500
height:
1500
<!-- slide-numbers: true -->
---
# Les variables
## Lien entre une valeur et un symbole
- Symbole liant un *identifiant* avec une *valeur*.
- Le *type* de la valeur peut être quelconque.
- Pour *déclarer* une variable il faut utiliser la forme:
`let symbole = valeur`{.rust}.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x = 5; // entier 32 bits
println!("La valeur de x est: {}", x); // affichage
let y = "La valeur 5 est liée avec la variable x"; // Chaîne de caractères
println!("La valeur de y est: {}", y); // affichage
}
</code></pre>
- En rust le type d'une variable est **inféré** (quand c'est possible).
- Sinon il faut le donner explicitement:
`let symbole: type = valeur`{.rust}.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x: i32 = 5; // entier 32 bits
println!("La valeur de x est: {}", x); // affichage
}
</code></pre>
## Quelques règles
- Les mot-clés du langage sont interdits pour nommer les variables.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let if = 7;
}
</code></pre>
- Une variable ne peut pas être utilisée si elle n'est pas déclarée.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
println!("La valeur de x est: {}", x); // affichage
}
</code></pre>
- On peut déclarer une variable, puis l'initialiser.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x; // Déclaration
x = 5; // Assignation, on préfère écrire `let x = 5;`
println!("La valeur de x est: {}", x); // affichage
let y = "La valeur 5 est liée avec la variable x"; // Chaîne de caractères
println!("La valeur de y est: {}", y); // affichage
}
</code></pre>
- On peut explicit
## Mutabilité/**Immutabilité**
- Les variables sont **immutables** par défaut.
- Une variable immutable **ne peut pas** être modifiée.
- Si on essaie le compilateur refuser de compiler le programme.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x = 5; //
println!("La valeur de x est: {}", x);
x = 6;
println!("La valeur de x est: {}", x);
}
</code></pre>
## **Mutiabilité**/Immutabilité
- Pour rendre une variable **mutable** il faut utilise la forme:
`let mut symbole = valeur`{.rust}.
- Une variable mutable **peut** être modifiée.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let mut x = 5;
println!("La valeur de x est: {}", x);
x = 6;
println!("La valeur de x est: {}", x);
}
</code></pre>
## Constantes
- Les variables immutables ressemblent aux *constantes*.
- On les déclare avec la forme:
`const SYMBOLE: type = valeur;`{.rust}
- Plusieurs différences notables:
1. On ne peut pas utiliser `mut`{.rust}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment