IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

trouver diviseur d'un nombre


Sujet :

Scilab

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut trouver diviseur d'un nombre
    Bonjour,

    Dans le cadre d'un projet de maths, nous devons travailler sur Scilab. Nous cherchons entre autre à trouver tous les diviseurs d'un nombre donné.
    Nous avons écrit ce programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Mode d'affichage
    mode(0);
    tic()
    n=input("Entrer la valeur de votre nombre entier n: ")
    facteur=diviseurs(n)
    temps=toc()
    disp(facteur)
    mais il ne fonctionne pas.
    cela affiche

    Entrer la valeur de votre nombre entier n: 45
     n  =
     
        45.  
    Variable non définie : diviseurs
    on essaye aussi tout simplement de taper dans la console "diviseurs(45)" mais cela ne fonctionne pas non plus.

    Où pourrait-se trouver l'erreur ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Qu'est-ce que "diviseurs" ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    C'est une fonction qui est censée calculer tous les diviseurs d'un nombre.
    On l'a trouvée sur internet

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Il faut charger la fonction avec exec avant de l'utiliser.

    Si le fichier diviseurs.sce se trouve dans le dossier courant :

    Si le fichier se trouve dans un autre dossier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    scepath = ... // chemin du dossier contenant diviseurs.sce
     
    exec(fullfile(scepath, "diviseurs.sce"))
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    ça ne marche pas non plus...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    -->exec('diviseur.sce')
     
    -->//Mode d'affichage
     
    -->mode(0);
    Entrer la valeur de votre nombre entier n: 45
     n  =
     
        45.  
    facteur=diviseurs(n)
                         !--error 4 
    Variable non définie : diviseurs
    at line       5 of exec file called by :    
    exec('diviseur.sce')

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Tout ceci est bien confus…

    Vous parlez de la fonction « diviseurs » qui se trouve dans le Module Lycée
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    En effet ça marche maintenant !

    Merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/06/2015, 18h08
  2. Afficher tous les diviseurs d'un nombre
    Par momo1367 dans le forum Pascal
    Réponses: 8
    Dernier message: 26/11/2013, 21h25
  3. [Débutant] Trouver des suites de nombres dans un vecteur
    Par Drastalouf dans le forum MATLAB
    Réponses: 1
    Dernier message: 01/06/2010, 22h34
  4. [MySQL] Trouver une plage de nombre
    Par luc648 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/04/2009, 16h26
  5. Trouver le plus petit nombre
    Par IDE dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 22/10/2006, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo