Langage Scilab

Notification de cookies

Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Plus d'informations

les boucles en Scilab

Une structure répétitive, également appelée structure itérative ou encore boucle, permet de répéter plusieurs fois l' exécution d'une ou plusieurs instructions.

On identifie en règle générale deux types de répétitive :

  • for
  • while

1. boucle for

L’instruction for permet d’effectuer des boucles, c’est-à-dire d’effectuer une action donnée plusieurs fois. La plupart du temps, une boucle est effectuée sur des valeurs entières, qui vont d’une valeur d’index de départ à une valeur d’index de fin.

a. syntaxe

for compteur=debut:pas:fin
   instructions ..
end

Dans le script Scilab suivant, nous affichons la valeur de i, de 1 à 5.

for i = 1 : 5
   disp(i)
end

Nous pouvons utiliser une forme plus complète afin d’afficher les entiers impairs de 1 à 5. Pour ce faire, nous définissons le pas 

for i = 1 : 2 : 5
   disp(i)
end

b. Exemple 1 :

Ecrire un programme pour calculer et afficher la somme de 100 premiers nombres entiers ?

s=0
for val=1:100
   s=s+val
end
disp(s," la somme est : ")

c. Exemple 2 :

Ecrire un programme permettant de lire un nombre entier N puis calcule son factoriel. 

N=input("saisir un nombre")
f=1
for i=2:N
   f=f*i
end
disp(f," le factoriel est :")

2. boucle while

L’instruction while permet d’effectuer une boucle tant qu’une expression booléenne est vraie. Au début de la boucle,si l’expression est vraie, les instructions dans le corps de la boucle sont exécutées. Lorsque l’expression devient fausse (unévénement qui doit survenir à un certain moment), la boucle est terminée.

a. syntaxe

while(condition)
   //instructions si la condition est vraie
end

Dans le script suivant, nous calculons la somme des nombres de 1 à 10 avec une instruction while. 

s=0
i=1
while ( i<= 10 )
   s=s+i
   i=i+1
end

b. Exemple 1 :

Ecrire un programme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.

n=input("saisir un nombre ")
while (n<1 | n>3)
   n=input("saisir un nombre")
end
disp("bravo !")

c. Exemple 2 :

Ecrire un programme permettant de lire un nombre entier N puis calcule son factoriel.

N=input("saisir un nombre ")
i=1
f=1
while(i<N)
  i=i+1
   f=f*i  
end
disp(f, "le factoriel est : ")

3. Instructions break et continue 

L’instruction break permet d’interrompre une boucle. Habituellement, nous utilisons cette instruction dans les boucles où, une fois que certaines conditions sont satisfaites, les boucles ne doivent pas être continuées.
L’instruction continue permet de passer à la boucle suivante, de sorte que les instructions dans le corps de la boucle ne sont pas exécutées cette fois. Lorsque l’instruction continue est exécutée, Scilab ignore les autres instructions et passe directementà l’instruction while ou for et évalue la boucle suivante. 

a. Exemple 1 :

disp("debut")
for i=1:10
   if(i==5)then
      break
   end
   disp(i)
end
disp("fin")

le programme affichera : 

debut
1
2
3
4
fin

b. Exemple 2 :

disp("debut")
for i=1:10
   if(i==5)then
      continue
   end
   disp(i)
end
disp("fin")

le programme affichera : 

debut
1
2
3
4
6
7
8
9
10
fin

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :