Probleme sur les nombre premier.

m4ss1n1ss4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,
Étant donné que si un nombre n'a pas de diviseur entre 1 et sa racine, on dit qu'il est premier.Donc j'ai voulu partir de ce principe pour créer un programme qui dit si un nombre et premier ou non, et j'ai procéder comme ceci :
program premier;
var n:integer;
    i,y:real;
begin 
   writeln('Saisissez un entier');
   readln(n);
   for i:= 2 to (sqrt(n)) do
      if (n)mod(i) =0 then 
        writeln('le nombre n''est pas premier')
      else 
        writeln('le nombre est premier');
end
  

le souci c'est que a la compilation, ça m'affiche 'control variable type is not valid'.
Merci de votre aide.

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, le compilateur ne t'indique pas à quelle ligne l'erreur se produit?
0
m4ss1n1ss4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Salut, c'est a cette ligne:
for i:= 2 to (sqrt(n)) do

Et il me met le curseur juste avant le i.
0
Utilisateur anonyme
 
Bonjour

Tout d’abord merci d’avoir essayé d’utiliser la coloration syntaxique. Cependant le résultat pourrait être encore mieux en forçant le langage. Voici un petit tuto sur la bonne utilisation des balises de code https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Pour ton problème, en plus de souligner le i, ton IDE te renvoie certainement un message d’erreur.

Et ce message doit dire un truc du genre, « c’est pas le bon type de variable ».

Quelques soit le langage, la variable d’itération d’un for doit être un entier.
0
Utilisateur anonyme
 
Petite précision, pour un for par défaut, comme c’est ton cas
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
en effet, le message d'erreur obtenu est: "control variable type is not valid".
moi, avec un autre compilateur, j'obtiens "Ordinal expression expected".
0
m4ss1n1ss4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
en effet, mettre le i en "integer" résout ce problème mais cette fois si une autre erreur dans la même ligne mais dans (sqrt(n)) et le message d'erreur est "Expression type not compatible with control variable type"
0
Utilisateur anonyme
 
Le même genre de message donc....
C’est de quel type une racine?
0