Index du Forum


 
 Index du ForumFAQRechercherS’enregistrerConnexion

:: programmation avec scilab (4):Boucle incrémentale ::

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> ~~ semestre 1~~ -> l'algorithmique et langage C
Sujet précédent :: Sujet suivant  
Auteur Message
Admin
Administrateur

Hors ligne

Inscrit le: 28 Oct 2011
Messages: 94
Point(s): 346
Moyenne de points: 3,68
Groupe: GROUPE 1

MessagePosté le: Jeu 17 Nov - 11:38 (2011)    Sujet du message: programmation avec scilab (4):Boucle incrémentale Répondre en citant

 

 

 

 
La boucle incrémentale correspond à la boucle où on utilise un compteur de boucle (pour ... variant de ... à ...)

for variable = valeur_initiale:valeur_finale

liste_instructions

end

Dans ce cas, la variable varie de la valeur initiale à la valeur finale avec un pas de 1.

for variable = valeur_initiale:pas:valeur_finale

liste_instructions

end

Dans ce cas, la variable varie de la valeur initiale à la valeur finale avec le pas spécifié (non nul).

Exemple : création d'une matrice M de dimension
 
avec M(k,l)=k-l .

M = zeros(5,10) // création de la matrice avec des valeurs nulles
for k=1:5, for l=1:10, M(k,l)=k-l; end; end;
disp(M)

Note : La forme générale de l'instruction for ... end est :

for variable = matrice

liste_instructions

end

Dans ce cas, la variable varie en prenant chaque valeur de la matrice.

Exemple :
premiers = [2 3 5 7 11 13 17 19];
for i=premiers
printf("%d est premier\n", i);
end

Note : l'instruction continue permet d'aller à la fin de la liste d'instructions d'une boucle for ou while,

et l'instruction break permet de sortir d'une boucle for ou while.

Exemple : créer le script suivant et l'éxécuter. Ce script affiche tous les nombres premiers inférieurs ou égaux à m .

// lire un entier > 1 :
//
// do
// read m
// while m<=1
condition = %T;
while condition
printf('Entrer un entier > 1 : ');
m = scanf('%d');
condition = (m<=1);
end

// teste tous les nombres entre 2 et m
// et écrit ceux qui sont premiers
for n=2:m
/// test si n est un nombre premier ///

// cas n pair
if (n==2) then
printf('%d est premier\n', n);
continue // aller à la fin de la boucle for
elseif modulo(n,2)==0 then
// n est pair et >= 4 donc n'est pas premier
continue // aller à la fin de la boucle for
end;

p=2;
while (p*p <= n)
if (modulo(n,p)==0) then
break; // sortir de la boucle while car n n'est pas premier
end
p = p+1;
end;
if (p*p > n) then
printf('%d est premier\n', n);
end
end 

_________________
A friend In need Is a friend Indeed


ما الفشل إلا هزيمة مؤقتة تخلق لك فرص النجاح


Revenir en haut
Skype
Publicité






MessagePosté le: Jeu 17 Nov - 11:38 (2011)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> ~~ semestre 1~~ -> l'algorithmique et langage C Toutes les heures sont au format GMT
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Texno x0.3 © theme by Larme D'Ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com