Inscription / Connexion Nouveau Sujet
Niveau concours
Partager :

Boucle Algobox

Posté par
myrayaa
05-04-14 à 11:33

Bonjour,
est ce quelqu'un sait si possible de quitter une boucle avant ça fin si oui c'est quoi ce mot clé. je m'explique par un exemple.
pour déterminer si n est premier
for (i,2,sqrt(n)) faire
    si n % i == 0 alors n n'est pas premier

Application
n=1001 la boucle s'exécute 30 (sqrt(1001)=31.63..) fois alors que des la 12eme fois (i=13) on sait qu'il n'est pas premier et on peut quitter à ce moment.
Je sais que ça existe sur la calculette "stop" mais pour algobox???
c'est juste un problème d'obtimisation
Merci davance

Posté par
pgeod
re : Boucle Algobox 05-04-14 à 12:16

Je crois que le exit() comme en langage C n'existe pas sous Algobox.
De toute façon, ce n'est pas une manière structurée de quitter un programme

Pour quitter cette boucle proprement,
lors que le test est satisfait, on peut écrire par exemple :

i = 1
while (i < sqrt(n)) AND (n % i != 0)
i = i + 1
endwhile

OU bien :

i = 1
while (i < sqrt(n)) AND (i != 0)
if n % i == 0
     alors n n'est pas premier
           i = 0
     sinon i = i + 1
  endif
endwhile

Posté par
myrayaa
re : Boucle Algobox 05-04-14 à 12:32

Merci,
mais je vote pour la 2eme car dans la première je quitte la boucle sans savoir par lequel des deux test donc sans savoir si premier ou pas!

Posté par
pgeod
re : Boucle Algobox 05-04-14 à 12:54



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !