Partage
  • Partager sur Facebook
  • Partager sur Twitter

Projet - "Calculatteur" de masse molaire

    24 mars 2018 à 16:09:08

    Bonjour, je dois rendre un projet d'ici quelques mois, ça consiste à "développer" un script pour pouvoir calculer la masse molaire d'une espèce chimique. J'aimerais faire une case ou l'on rentre la formule brute et faire le calcul par la suite lors que le bouton "calculer" est actionné, cependant je ne sais pas quelle fonction utiliser, j'en ai trouvé plusieurs, mais je n'arrive pas à avancer, ce que j'aimerais faire c'est de vérifier les lettres puis de chercher s'ils sont dans un tableau, leur affecter la valeur de leur masse molaire multiplié par un ou le chiffre qui précède la formule.

    var formule="";
    	
    	var element = ["","H", "He", "Li"];
    		element[1] = new Array ("H",1);
    		element[2] = new Array ("He",4);
    		element[3] = new Array ("Li",7);
    		
    	function start(){
        	    formule=document.getElementById('formule').value;

    Petite update :

    var element = { 'H':1
                         ,'He':4
                         ,'Li':7
                        };
          
          for (var i=0; i < element.length; i++);
    		var espace = element[i]
    		
    		function start(){
    			var formule=document.getElementById('formule').value;  
    			console.log('Formule : ' + formule);
    			var result = getElementValue(formule);  
    			document.getElementById('resultat').innerHTML = result; //affichage du réltat
    			splitString(formule, espace); //divise la chaine de caractère
    			}
    			
    		function getElementValue(valToCheck){
    			if(typeof(valToCheck)!='undefined' && valToCheck!=null){
    				if(element.hasOwnProperty(valToCheck)){
    					return element[valToCheck];
    				}else{
    					return 0;
    				}
    			}
    		}			
    		 
    		function splitString(stringToSplit, separator) {
    			var arrayOfStrings = stringToSplit.split(separator);
    			
    			console.log('La chaine d\'origine est : "' + stringToSplit + '"');
    			console.log('Le délimiteur est : "' + separator + '"');
    			console.log("Le tableau comporte " + arrayOfStrings.length + " elements : ");
    			
    			 for (var i=0; i < stringToSplit.length; i++);
    				console.log(arrayOfStrings[i] + " / ");
    			}



    -
    Edité par MarinDerouet 24 mars 2018 à 18:26:06

    • Partager sur Facebook
    • Partager sur Twitter
      24 mars 2018 à 23:07:06

      Bonjour,

      Tu en est où du coup ?

      • Partager sur Facebook
      • Partager sur Twitter
        25 mars 2018 à 1:43:44

        Black_remy a écrit:

        Bonjour,

        Tu en est où du coup ?


        Bh toujours a mon update, j'aimerais diviser la chaine de caractère en fonction des atome qui sont présents dans le tableau "element" mais j'y arrive pas :/ A moi que tu ais une autre solution ?
        • Partager sur Facebook
        • Partager sur Twitter
          25 mars 2018 à 3:33:54

          Développe ton sens logique.

          L’association de données, la corrélations entre elles, l'organisation, etc.

          Tu doit savoir le faire naturellement.

          La manipulations de données est la partie essentielle d'un programmeur.

          • Partager sur Facebook
          • Partager sur Twitter
          Autodidacte, j'essaye d'apprendre le pourquoi du comment :)
            25 mars 2018 à 10:06:43

            Oui mais je suis pas programmeur... Je fait option ISN et on a fait a peine quelques cours sur le développement web et c'était juste des sorte d'exemple sur des tableau rien à avoir avec ce que je doit faire maintenant.
            • Partager sur Facebook
            • Partager sur Twitter
              25 mars 2018 à 19:56:44

              <input type="text" id="formula">
              <button type="button" id="calculate">Calculate</button>
              <div id="resultat"></div>
              // Petite partie du tableau périodique avec les masses atomiques
              var atoms = {
              	H: 1.00794,
               	Li: 6.941,
                Be: 9.012182,
                Na: 22.989770,
                Mg: 24.3050,
                K: 39.0983,
                Ca: 40.078,
                Rb: 85.4678
              };
              document.getElementById('calculate').addEventListener('click', () => {
                  let formula = document.getElementById('formula').value;
                  document.getElementById('resultat').innerHTML = "";
              
                  if (formula)
                  {
                      formula = formula.split(' '); // La formule doit avoir des espaces entres chaque types
                      let totalMass = 0; // On commence par une masse de zéro
              	
                      for (let atom in atoms)
                      		for (let i = 0; i < formula.length; i++)
                        			if (formula[i] == atom)
                          				totalMass += atoms[atom]; // On additionne les masses atomiques de la formule
                            
                  		document.getElementById('resultat').innerHTML = totalMass;
                  }
                  else
                  		console.error('La formule est vide!');
              });

              Quelque chose comme ça ?
              • Partager sur Facebook
              • Partager sur Twitter
              Autodidacte, j'essaye d'apprendre le pourquoi du comment :)
                25 mars 2018 à 20:24:45

                Zirpoo a écrit:

                <input type="text" id="formula">
                <button type="button" id="calculate">Calculate</button>
                <div id="resultat"></div>
                // Petite partie du tableau périodique avec les masses atomiques
                var atoms = {
                	H: 1.00794,
                 	Li: 6.941,
                  Be: 9.012182,
                  Na: 22.989770,
                  Mg: 24.3050,
                  K: 39.0983,
                  Ca: 40.078,
                  Rb: 85.4678
                };
                document.getElementById('calculate').addEventListener('click', () => {
                    let formula = document.getElementById('formula').value;
                    document.getElementById('resultat').innerHTML = "";
                
                    if (formula)
                    {
                        formula = formula.split(' '); // La formule doit avoir des espaces entres chaque types
                        let totalMass = 0; // On commence par une masse de zéro
                	
                        for (let atom in atoms)
                        		for (let i = 0; i < formula.length; i++)
                          			if (formula[i] == atom)
                            				totalMass += atoms[atom]; // On additionne les masses atomiques de la formule
                              
                    		document.getElementById('resultat').innerHTML = totalMass;
                    }
                    else
                    		console.error('La formule est vide!');
                });


                Quelque chose comme ça ?


                Je te remercie énormement en effet cela fonctionne, je vais essayer de commencer le truc par comprendre bien en détaille et essayer de rajouter le "systeme de nombre stœchiométrique" sinon j'espère que tu sera encore la pour m'aider :c
                • Partager sur Facebook
                • Partager sur Twitter

                Projet - "Calculatteur" de masse molaire

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown