Add exercises
This commit is contained in:
parent
6be1fcd5c7
commit
305c35db76
|
|
@ -12,7 +12,7 @@ Ouvrez votre éditeur de code favori et pratiquons avec le LSC !
|
||||||
Une interaction simple entre deux étoiles avec transfert de la constante `a` :
|
Une interaction simple entre deux étoiles avec transfert de la constante `a` :
|
||||||
```
|
```
|
||||||
+f(X) X; 's1
|
+f(X) X; 's1
|
||||||
@-f(a); 's2
|
-f(a); 's2
|
||||||
```
|
```
|
||||||
|
|
||||||
Les deux étoiles `s1` et `s2` se sont fusionnées en interagissant le long de
|
Les deux étoiles `s1` et `s2` se sont fusionnées en interagissant le long de
|
||||||
|
|
@ -24,7 +24,7 @@ On peut étendre ce transfert en traversant plusieurs étoiles :
|
||||||
+f1(X1) X1;
|
+f1(X1) X1;
|
||||||
-f1(X2) +f2(X2);
|
-f1(X2) +f2(X2);
|
||||||
-f2(X3) +f3(X3);
|
-f2(X3) +f3(X3);
|
||||||
@-f3(a);
|
-f3(a);
|
||||||
```
|
```
|
||||||
|
|
||||||
## Effacement
|
## Effacement
|
||||||
|
|
@ -35,7 +35,7 @@ conservation d'étoiles.
|
||||||
|
|
||||||
```
|
```
|
||||||
+f(X) +g(X);
|
+f(X) +g(X);
|
||||||
@-f(a);
|
-f(a);
|
||||||
```
|
```
|
||||||
|
|
||||||
Ci-dessus, on a bien une interaction, mais le résultat est un rayon polarisé
|
Ci-dessus, on a bien une interaction, mais le résultat est un rayon polarisé
|
||||||
|
|
@ -46,7 +46,7 @@ On peut rajouter une étoile afin d'obtenir un résultat :
|
||||||
```
|
```
|
||||||
-g(X) X;
|
-g(X) X;
|
||||||
+f(X) +g(X);
|
+f(X) +g(X);
|
||||||
@-f(a);
|
-f(a);
|
||||||
```
|
```
|
||||||
|
|
||||||
## Multi-focus
|
## Multi-focus
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,63 @@ weight: 5
|
||||||
|
|
||||||
## Chemins
|
## Chemins
|
||||||
|
|
||||||
## Effacement partiel
|
Ajouter des étoiles aux constellations suivantes de sorte à obtenir `ok` après
|
||||||
|
exécution.
|
||||||
|
|
||||||
|
1. `-1 ok;`
|
||||||
|
|
||||||
|
2. `-1; +2;`
|
||||||
|
|
||||||
|
3. `-1 ok; -2 +3;`
|
||||||
|
|
||||||
|
4. `-1 ok; -2 +3 ok;`
|
||||||
|
|
||||||
|
5. `+f(a) +f(b); +g(a); @+g(b);`
|
||||||
|
|
||||||
## Altération de mémoire
|
## Altération de mémoire
|
||||||
|
|
||||||
## Tables de vérité
|
Considérons la constellation suivante représentant des registres dans lesquels
|
||||||
|
on peut stocker des données (ils sont tous initialisés à `0`) :
|
||||||
|
```
|
||||||
|
' initialisation
|
||||||
|
+ia(0); +ib(0);
|
||||||
|
|
||||||
|
@-ra(X) +a(X); ' registre a
|
||||||
|
@-rb(X) +b(X); ' registre b
|
||||||
|
```
|
||||||
|
|
||||||
|
Pour chaque question, vous pouvez soit ajouter des étoiles à la constellation
|
||||||
|
de départ ou modifier celles que vous avez ajoutées.
|
||||||
|
|
||||||
|
1. Comment relier les étoiles d'initialisation de sorte à initialiser le
|
||||||
|
registre `a` à `0` ?
|
||||||
|
|
||||||
|
2. Comment afficher la valeur de `a` et ainsi obtenir `a(0)` en sortie ?
|
||||||
|
|
||||||
|
3. Comment mettre à jour `a` à la valeur `1` ?
|
||||||
|
|
||||||
|
4. Comment copier la valeur de `a` dans `b` et afficher `b` ?
|
||||||
|
|
||||||
|
5. Comment supprimer le registre `b` et le rendre inutilisable ?
|
||||||
|
|
||||||
|
## Portes logiques
|
||||||
|
|
||||||
|
On veut simuler des portes logiques par des constellations calculant des
|
||||||
|
fonctions sur `{0,1}`.
|
||||||
|
|
||||||
|
1. Ecrire une constellation calculant la négation de telle sorte à ce qu'elle
|
||||||
|
produise `1` en sortie lorsqu'ajoutée à l'étoile `@-not(0 X) X;` et `0`
|
||||||
|
lorsqu'ajoutée à `@-not(1 X) X`.
|
||||||
|
|
||||||
|
2. Comment afficher la table de vérité de la négation avec une seule étoile,
|
||||||
|
de sorte à ce qu'on obtienne en sortie `table_not(0 1); table_not(1 0);` ?
|
||||||
|
|
||||||
|
3. Ecrire de deux manières différentes des constellations calculant la
|
||||||
|
conjonction et la disjonction et afficher leur table de vérité de la même façon
|
||||||
|
que pour la question précédente.
|
||||||
|
|
||||||
|
4. Utiliser la disjonction et la négation pour afficher la table de vérité
|
||||||
|
de l'implication sachant que `A => B = not(A) \/ B`.
|
||||||
|
|
||||||
|
5. Utiliser l'implication et la conjonction pour afficher la table de vérité
|
||||||
|
de l'équivalence logique sachant que `A <=> B = (A => B) /\ (B => A)`.
|
||||||
Loading…
Reference in New Issue