Les sous-routines
Il arrive parfois que vous ayez besoin d'un même code à de multiples endroits dans votre programme. Dans ce cas, vous pouvez alors mettre ce code dans une "sous-routine" et lui donner un nom. Maintenant, vous pouvez exécuter cette partie de code en appelant simplement son nom dans une tâche. Regardons sur un exemple.
sub turn_around(int pwr)
{
OnRev(OUT_C, pwr); Wait(900);
OnFwd(OUT_AC, pwr);
}
task main()
{
OnFwd(OUT_AC, 75);
Wait(1000);
turn_around(75);
Wait(2000);
turn_around(75);
Wait(1000);
turn_around(75);
Off(OUT_AC);
}
Dans ce programme nous avons défini une sous-routine qui fait tourner le robot autour de son centre. La tâche main appelle la sous-routine 3 fois. Notez que nous l'appelons en écrivant son nom et en lui passant un argument numérique à l'intérieur des parenthèses. Si la sous-routine n'accepte pas d'arguments, il suffit de mettre les parenthèses avec rien dedans. Ça ressemble beaucoup aux commandes que nous avons déjà vu. Le principal avantage des sous-routines est qu'elles ne sont stockées qu'une seule fois dans le NXT et cela libère de la mémoire. Mais lorsque la sous-routine est petite, il peut être préférable d'utilisé les fonction inline à la place. Celles ci ne sont pas copiées séparément mais copiées à chaque endroit où elles sont utilisées. Cela utilise plus de mémoire mais il n'y a pas de limite au nombre de fonctions inline. Elles peuvent être déclarées comme ceci :
Dostları ilə paylaş: |