login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > JS > Rekenmachines > Harmonisch gemiddelde berekenen

Harmonisch gemiddelde berekenen

Auteur: Jero3n - 23 april 2008 - 09:27 - Gekeurd door: marten - Hits: 8559 - Aantal punten: 5.00 (1 stem)



Hoi sima's 

Ik weet dat dit script een beetje nutteloos is, maar ik heb het vooral gemaakt om te leren.
Hopelijk kunnen jullie me dus ook wat tips geven.
Negatief kritiek is ok, maar alleen als je daar commentaar bij geeft 

Code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <style type="text/css">
  4.  
  5. html, body {
  6. margin: 0;
  7. font-family: Arial;
  8. }
  9.  
  10. h3 {
  11. border-bottom: 2px solid #000;
  12. line-height: 20px;
  13. }
  14.  
  15. h4 {
  16. font-weight: bold;
  17. font-size: 13pt;
  18. }
  19.  
  20. #linkerbar {
  21. position: absolute;
  22. left: 5px;
  23. top: 0px;
  24. padding: 10px;
  25. width: 50%;
  26. border-right: 2px solid #000;
  27. }
  28.  
  29. #rechterbar {
  30. margin-left: 53%;
  31. padding: 0px;
  32. margin-right: 15px;
  33. }
  34.  
  35.  
  36. <script type="text/javascript">
  37.  
  38. var aantal = 1;
  39.  
  40. function bereken() {
  41. document.getElementById("bezig").style.display = "block";
  42.  
  43. //Defineer wat variabelen
  44. alfabet = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
  45. getalleninput = document.form.getallen.value;
  46. getallen = getalleninput.split(",");
  47. aantal_getallen = getallen.length;
  48.  
  49. uitwerking = "<br /><h4>Invoer " + aantal + "</h4>";
  50. aantal++;
  51.  
  52. uitwerking += "<tt>Ingevoerde getallen</tt><br />" + getalleninput;
  53.  
  54. //Formule teller
  55. formule_teller = aantal_getallen;
  56. var x = 0;
  57. while (x<aantal_getallen) {
  58. formule_teller = formule_teller + "*" + alfabet[x];
  59. x++;
  60. }
  61.  
  62. //Formule noemer
  63. formule_noemer = "";
  64. for(x = 0; x<aantal_getallen; x++) {
  65. for(y = 0; y<aantal_getallen; y++) {
  66. if(alfabet[y] == alfabet[x]) {
  67. continue;
  68. }
  69. if(y!=aantal_getallen-1)
  70. {
  71. formule_noemer = formule_noemer + alfabet[y] + "*";
  72. }
  73. else {
  74. formule_noemer = formule_noemer + alfabet[y];
  75. }
  76. }
  77. if(x!=aantal_getallen-1)
  78. {
  79. formule_noemer = formule_noemer + "+";
  80. }
  81. }
  82. formule_noemer = formule_noemer.substr(0,formule_noemer.length-1);
  83.  
  84. uitwerking += "<br /><br /><tt>Formule maken</tt><br />" + formule_teller + "<br /><hr noshade=noshade color=black width=100 align=left>" + formule_noemer;
  85.  
  86. //Formule->Som teller
  87. teller = formule_teller;
  88. noemer = formule_noemer;
  89. for(x = 0; x<aantal_getallen; x++)
  90. {
  91. teller = teller.replace(alfabet[x],getallen[x]);
  92. }
  93.  
  94. //Formule->Som noemer
  95. noemer = formule_noemer;
  96. for(x = 0; x<=aantal_getallen; x++)
  97. {
  98. for(y = 0; y<aantal_getallen; y++)
  99. {
  100. if (getallen[y] == getallen[x]) {
  101. continue;
  102. }
  103. noemer = noemer.replace(alfabet[y],getallen[y]);
  104. }
  105. }
  106.  
  107.  
  108. //Schrijf sommen op
  109. uitwerking += "<br /><br /><tt>Getallen invullen</tt><br />" + teller + "<br /><hr noshade=noshade color=black width=100 align=left>" + noemer;
  110.  
  111. //Bereken teller en noemer en schrijf op
  112. teller = eval(teller);
  113. noemer = eval(noemer);
  114.  
  115. //Schrijf uitkomsten op
  116. uitwerking += "<br /><br /><tt>Teller & noemer berekenen</tt><br />" + teller + "<br /><hr noshade=noshade color=black width=100 align=left>" + noemer;
  117.  
  118. //Bereken antwoord
  119. antwoord = eval(teller / noemer);
  120. uitwerking += "<br /><br /><tt>Antwoord</tt><br />" + antwoord;
  121.  
  122. document.getElementById("bezig").style.display = "none";
  123.  
  124. //Schrijf antwoord op
  125. content = document.getElementById("uitkomst").innerHTML;
  126. document.getElementById("uitkomst").innerHTML = uitwerking + content;
  127. }
  128.  
  129. function numbersonly(myfield, e, dec)
  130. {
  131. var key;
  132. var keychar;
  133.  
  134. if (window.event)
  135. key = window.event.keyCode;
  136. else if (e)
  137. key = e.which;
  138. else
  139. return true;
  140. keychar = String.fromCharCode(key);
  141.  
  142. // control keys
  143. if ((key==null) || (key==0) || (key==8) ||
  144. (key==9) || (key==13) || (key==27) )
  145. return true;
  146.  
  147. // numbers
  148. else if ((("0123456789,").indexOf(keychar) > -1))
  149. return true;
  150.  
  151. // decimal point jump
  152. else if (dec && (keychar == "."))
  153. {
  154. myfield.form.elements[dec].focus();
  155. return false;
  156. }
  157. else
  158. return false;
  159. }
  160.  
  161. //-->
  162. </head>
  163. <div id="linkerbar">
  164. <h1>Bereken harmonisch gemiddelde</h1><br />
  165. <h3>Inleiding</h3>
  166. Dit is een script om het harmonisch gemiddelde van een aantal getallen te berekenen.
  167. Op het moment werkt dit voor maximaal 2 getallen, omdat ik het nog niet werkend krijg met meer getallen
  168. Dit ben ik wel aan het uitproberen dus.
  169. <h3>Wat is het harmonisch gemiddelde</h3>
  170. Het harmonisch gemiddelde wordt gebruikt als men het gemiddelde moet berekenen van niet eensluidende waarnemingen.
  171. Vooral op het gebied van (sportieve) prestaties en snelheden komt men dit tegen.
  172. Bijvoorbeeld een auto rijdt van Amsterdam naar Rotterdam en terug.
  173. Men moet dan eerst de gemiddelde snelheid voor de heenreis berekenen
  174. en vervolgens de gemiddelde snelheid voor de terugreis. Daaropvolgend moet men
  175. het gemiddelde van deze twee gemiddelde snelheden nemen.
  176. <h3>Je getallen</h3>
  177. <form name="form">
  178. Getallen gescheiden door komma's:<br />
  179. <textarea rows="3" cols="45%" name="getallen" id="getallen" onkeypress="return numbersonly(this, event)">6,7</textarea><br />
  180. <input type="button" onclick="javascript:bereken()" value="Bereken" />
  181. </form>
  182. </div>
  183. <div id="rechterbar">
  184. <br />
  185. <h3>Antwoord(en)</h3>
  186. <div id="bezig" style="display: none;">
  187. <i>Bezig met berekenen...</i>
  188. </div>
  189. <div id="uitkomst">
  190. </div>
  191. </div>
  192. </body>
  193. </html>
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (5)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.025s