Skip to content

Le robot impatient

Vicky edited this page Nov 18, 2023 · 9 revisions

Depuis le début, je vous parle de parallélisme et jusqu'à présent vous vous demandez : Et le parallélisme alors ?

Et bien c'est le moment de le découvrir !

Dans le tuto précédent, l'utilisateur avait tout son temps pour renseigner son nom.

Maintenant nous allons voir comme programmer un robot impatient qui n'attend qu'un temps limité pour la réponse avant d'agir.

Le robot pose sa question :

displayNewMessage('Comment tu t'appelle ?')

puis il attend 5 secondes et s'en va.
Pendant ces 5 secondes, l'utilisateur peut répondre... ou pas...

Au même instant, deux choix s'offrent à lui :

  • Répondre à l'utilisateur qui a répondu dans les temps
  • Partir au bout du temps imparti.

⚠️ Réflexion en cours...Je ne suis pas sûre de ce que j'avance. Je me base sur ce que je comprend du tuto du développeur du langage

Donc en parallèle Lire la réponse répondre et attendre la réponse partir

Dans le langage FunSug, cela se traduit par :

parallel exitAfter 1 finished ||
	var theName := awaitHumanText()
	displayNewMessage('Hello, ' + theName + '!')
||
	waitSeconds(5)
	displayNewMessage('Oops, I have an emergency! Bye!')

En lisant le code ci dessus, on peut comprendre que c'est soit l'un soit l'autre et que || signifie or et provoquer une confusion dans notre esprit.

Deux chemins s'offrent à nous et on ne peut pas les prendre en parallèle alors qu'on s'attend, dans le parallélisme à programmer deux branches parallèles, deux actions qui se passent en même temps.

parallel ||
	block1
||
	block2

Par exemple :
pendant que la pluie tombe
||
L'orage gronde