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` :
|
||||
```
|
||||
+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
|
||||
|
|
@ -24,7 +24,7 @@ On peut étendre ce transfert en traversant plusieurs étoiles :
|
|||
+f1(X1) X1;
|
||||
-f1(X2) +f2(X2);
|
||||
-f2(X3) +f3(X3);
|
||||
@-f3(a);
|
||||
-f3(a);
|
||||
```
|
||||
|
||||
## Effacement
|
||||
|
|
@ -35,7 +35,7 @@ conservation d'étoiles.
|
|||
|
||||
```
|
||||
+f(X) +g(X);
|
||||
@-f(a);
|
||||
-f(a);
|
||||
```
|
||||
|
||||
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;
|
||||
+f(X) +g(X);
|
||||
@-f(a);
|
||||
-f(a);
|
||||
```
|
||||
|
||||
## Multi-focus
|
||||
|
|
|
|||
|
|
@ -7,8 +7,63 @@ weight: 5
|
|||
|
||||
## 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
|
||||
|
||||
## 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