Misterprepa

Scilab pour les nuls #2 – Les boucles

Sommaire

Combien d’élèves de prepa ECS, ECE et ECT se reconnaîtront dans ces phrases que j’ai pu entendre tellement de fois durant mes trois années passées en prépa? « Scilab c’est vraiment du chinois », « L’informatique de toute façon je suis nul et je ne comprends rien donc pourquoi la travailler? », « En DS ou aux concours, si je vois une question d’informatique, je la saute et je passe à la suivante, c’est du temps de perdu de toute façon… » Que d’erreurs qui peuvent coûter cher le jour J dans l’optique d’une intégration!  Certes les questions d’informatiques restent minoritaires aux concours BCE et Écricome, pour autant, elles sont une constante dans chacune des épreuves au cours des années. Elles sont en général en plus plutôt bien coefficientée. Il vaut donc mieux les réussir. Ceci est d’autant plus vrai qu’elles sont en général assez simples et que maîtriser quelques bases d’informatique peut suffire pour y obtenir le maximum de points dans la grande majorité des cas. Voici donc une nouvelle série pour les éternels fâchés du Scilab, afin de vous donner tous les conseils et les moyens afin de cartonner dans ce domaine et d’obtenir l’école de vos rêves. Continuons aujourd’hui avec les boucles, éléments centraux du programme d’informatique d’ECS.



1- La boucle If

Comme nous l’expliquions précédemment , cette boucle sert à effectuer une disjonction de cas dans les opérations à effectuer dans le programme. On aura le choix entre deux voies d’opérations, et l’orientation de l’une ou de l’autre dépendra de l’accomplissement ou non d’une condition.

Le programme commencera toujours par un If suivi de la condition que l’on souhaite tester. Attention! Il s’agit souvent de comparer deux valeurs obtenues dans le programme ou encore une valeur par rapport à une autre de référence. Or le signe inférieur ou égal n’existe pas sur Scilab, tout comme le signe supérieur ou égal!sur Scilab, il faudra écrire <= ou >=.

Ensuite, le programme continuera par un Then, introduisant aux lignes suivantes les opérations à faire si la condition est vérifiée (en effet « Then » signifie « Alors » en anglais). Le Then peut être placé sur la même ligne que le If suivi de la condition, ou à la ligne suivante. Dans les deux cas le programme sera correcte. Il faudra par contre de toute façon passer après lui a la ligne avant de mettre les opérations à effectuer dans le programme.

A la fin de cette liste d’opérations à effectuer si la condition est réalisée, on passera à la ligne avant d’écrire Else qui introduira aux lignes suivantes les opérations à effectuer si la condition n’est cette fois pas réalisée (« Else » signifie cette fois « Sinon » en anglais).

On concluera la boucle par un End situé sur la dernière ligne.

NB: la partie suivant Else dans le programme est parfaitement facultative. En effet, on peut imaginer une boucle où on aura des opérations à effectuer si et seulement si la condition est réalisée. On écrira alors directement après le Then suivi des opérations le end



2- La boucle For

Dans la leçon 1, nous vous expliquions que la boucle For servait à introduire une boucle qui comprendrait un certains nombres d’itérations.

On écrira en première ligne de la boucle For i=a:b. C’est à dire que l’on fixe un indice i qui au cours de la boucle évoluera entre deux entiers a et b, c’est à dire prendra toutes les valeurs entières possibles en partant de a pour aller à Berlin.

Ensuite on effectue les opérations à faire pour chaque valeur prise par i. Parfois i peut lui-même également être présent dans la phase de calcul, mais ce n’est en aucun cas une obligations simplement une possibilité!!

Attention dans la phase de calcul: il faut parfois définir une variable « tiroir » pour conserver une valeur que l’on remplace mais dont on aura encore besoin après. Par exemple si À prend la valeur B et B prend la valeur À,  si l’on écrit À=B et B=A, on finira avec dans A et dans B la même valeur originalement présente dans A. Il faudra donc une ligne supplémentaire et écrire C=A,A=B puis B=C.

Comme la boucle If, la boucle For se terminera par un End sur une ligne à part.

 

3- La boucle While

Finissons aujourd’hui avec la boucle While, qui est elle sensée offrir un moyen pour ceux le voulant de répéter une opération tant qu’une condition est réalisée.

On écrira à la première ligne While, suivi de la condition (en effet « While » signifie en anglais « Tant que »). Attention!!!! Il faut que l’on soit sûr avant toute chose que la condition est sûre d’être un jour réalisée! Sinon on risque juste de faire tourner indéfiniment notre programme sans aucun résultat… Si un tel cas peut exister en fonction des valeurs rentrées au départ dans le programme par l’utilisateur, il faut alors intégrer la boucle While dans une boucle If prenant ce cas en compte, afin d’être sûr que le programme ait une fin.

Comme les autres boucles, après la phase d’opération, il faudra terminer la boucle While par un End qui aura sa propre ligne.

 

NB: il est possible et même parfois nécessaire d’imbriquer les boucles les unes dans les autres. Il faudra par contre à ce moment-là respecter leurs syntaxes en oubliant aucun Then, Else ou autre End.



Newsletter
Picture of Julien Vacherot
Julien Vacherot
Étudiant à HEC Paris en Stratégie fiscale et juridique internationale et responsable géopolitique, j'ai pour but de vous faire partager ma passion et de vous aider dans cette matière et partout où c'est possible