Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Explication algorithme nombre premier

Posté par
nimbu
18-08-14 à 10:36

Bonjour,

J'ai eu cet algorithme (sous Algobox) sur les nombres premiers et je ne comprends pas certaines commandes.

Voici l'algorithme (mode editeur de texte) :
===========================
VARIABLES
  n EST_DU_TYPE NOMBRE
  d EST_DU_TYPE NOMBRE
  q EST_DU_TYPE NOMBRE
  divise EST_DU_TYPE NOMBRE
  x EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
  LIRE n
  divise PREND_LA_VALEUR 0
  POUR d ALLANT_DE 2 A floor(n/2)
    DEBUT_POUR
    q PREND_LA_VALEUR  n%d
    SI (q==0) ALORS
      DEBUT_SI
      divise PREND_LA_VALEUR 1
      x PREND_LA_VALEUR n/d
      AFFICHER x
      AFFICHER " "
      FIN_SI
    FIN_POUR
  AFFICHER* " "
  AFFICHER n
  SI (divise == 1) ALORS
    DEBUT_SI
    AFFICHER* " n'est pas premier"
    FIN_SI
    SINON
      DEBUT_SINON
      AFFICHER* " est premier"
      FIN_SINON
FIN_ALGORITHME

=======================================

Si je comprends bien:
Ligne 9 => Pour mettre la variable a 0 (sécurité)
Ligne 10 => de 2 a floor (n/2) : 2 car par définition, un nombre premier est supérieur a 2, floor correspond a la partie entière de n/2; n/2 car un diviseur ne dépasse jamais la moitie du nombre

Mais par contre, je ne vois pas pourquoi "SI (q==0) ALORS [...]  divise PREND_LA_VALEUR 1" et non plus la partie "SI (divise == 1) ALORS"

Quelle est l'utilité de ces lignes ? J'ai essayer le mode pas a pas, mais je ne comprends toujours pas.

Merci d'avance.

Posté par
blumaise
re : Explication algorithme nombre premier 18-08-14 à 11:33

q est le reste de la division euclidienne de n par d

S'il vaut 0, c'est que d divise n, on affiche le quotient et la variable divise prend la valeur 1 pour indiquer que n n'est pas premier.



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

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

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 !