---
title: "Exercices" 
weight: 8
---

# Exercices

## Conditions (pseudo-)imbriquées

Représenter (naïvement) la condition suivante avec une constellation de telle
sorte à ce qu'elle retourne `message(use more duct tape);` avec la constellation
`@+it_moves(1); @+it_should_move(0);` : 

```
if it moves and it should move
  no problem
if it moves and it should not move 
  use more duct tape
if it does not move and it should move
  use more lube
if it does not move and it should not move
  no problem
```

{{< details title="Solution" open=false >}}
```
-it_moves(1) -it_should_move(1) message(no problem);
-it_moves(1) -it_should_move(0) message(use more duct tape);
-it_moves(0) -it_should_move(1) message(use more lube);
-it_moves(0) -it_should_move(0) message(no problem);

@+it_moves(1);
@+it_should_move(0);
```
{{< /details >}}

{{< hint info >}}
Il n'est pas nativement possible la condition suivante :
```
if it moves
  if it should move
    no problem
  else 
    use more duct tape
else
  if it should move
    use more lube
  else
    no problem
```
car cela requiert des mécanismes de liaisons séquentielles.
{{< /hint >}}