Advertisement
Guest User

Untitled

a guest
May 28th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.40 KB | None | 0 0
  1. <!DOCTYPE HTML>
  2. <html lang = "pl">
  3. <head>
  4.  
  5. <title> Zadanie 10-11 Marcin Iwanowicz </title>
  6.  
  7. <style type = "text/css">
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. </style>
  28. <script type="text/javascript">
  29.  
  30. </script>
  31. </head>
  32. <body>
  33. <form name = "formularz" onsubmit = "return false" method = "post">
  34. <script type = "text/javascript">
  35.  
  36.  
  37. var tablica = [];
  38. var suma = 0;
  39. var wynik = 0;
  40.  
  41. tablica.push(new Pytanie1("Jakiego koloru jest banan?", "pytanie1", ["Żółtego"],["Zielonego", "Czerwonego"]));
  42. tablica.push(new Pytanie2("Które z podanych niżej nazw zalicza się do owoców:", "pytanie2", ["Jabłko", "Gruszka"], ["Ziemniak","Arbuz"]));
  43. tablica.push(new Pytanie3("Czy foton świeci?", "pytanie3", true));
  44. tablica.push(new Pytanie4("Jakiego koloru jest niebieski samochód?", "pytanie4", "Niebieskiego"));
  45. tablica.push(new Pytanie5("Dopasuj definicje do poszczególnych pojęć:", "pytanie5", [["niebieski", "niebieski"], ["czerwony", "czerwony"], ["zielony", "zielony"]]));
  46.  
  47.  
  48.  
  49.  
  50. function sprawdzOdpowiedzi() {
  51. for(var i=0;i<tablica.length;i++)
  52. suma += tablica[i].sprawdz();
  53. wynik = suma/tablica.length;
  54. document.getElementById("wyniki").innerHTML = "<p>Wynik: " + wynik*100 + "%";
  55. document.getElementById("sprawdz").disabled = true;
  56. }
  57.  
  58.  
  59. function Pytanie1(trescPytania, nazwaPytania, odpPoprawna, odpNiepoprawne) {
  60.  
  61. this.trescPytania = trescPytania;
  62. this.nazwaPytania = nazwaPytania;
  63. this.odpPoprawna = odpPoprawna;
  64. this.odpNiepoprawne = odpNiepoprawne;
  65.  
  66. //utworzenie tablicy odpowiedzi i przemieszanie jej
  67. var odpowiedzi = [];
  68. odpowiedzi.push(odpPoprawna);
  69. for(i=0;i<this.odpNiepoprawne.length;i++)
  70. odpowiedzi.push(odpNiepoprawne[i]);
  71. odpowiedzi.sort(function() {return 0.5 - Math.random()});
  72.  
  73. this.odpowiedzi = odpowiedzi;
  74.  
  75. document.write("<fieldset>");
  76. document.write("<legend>" + this.trescPytania + "</legend>");
  77.  
  78. for(var i=0;i<odpowiedzi.length;i++) {
  79. if(odpPoprawna == this.odpowiedzi[i])
  80. document.write("<input type='radio' name='" + this.nazwaPytania + "' value='poprawna'>" + odpowiedzi[i] + "</input><br />");
  81. else
  82. document.write("<input type='radio' name='" + this.nazwaPytania + "' value='niepoprawna'>" + odpowiedzi[i] + "</input><br />");
  83. }
  84.  
  85. document.write("</fieldset>");
  86.  
  87. }
  88.  
  89. Pytanie1.prototype.sprawdz = function() {
  90.  
  91. var wynik = 0;
  92. var quiz = document.getElementsByName(this.nazwaPytania);
  93.  
  94. for(var i=0;i<this.odpowiedzi.length;i++)
  95. if(quiz[i].checked)
  96. if(quiz[i].value == "poprawna")
  97. wynik = 1;
  98.  
  99. return wynik;
  100.  
  101. }
  102.  
  103. function Pytanie2(trescPytania, nazwaPytania, odpPoprawne, odpNiepoprawne) {
  104.  
  105. this.trescPytania = trescPytania;
  106. this.nazwaPytania = nazwaPytania;
  107. this.odpPoprawne = odpPoprawne;
  108. this.odpNiepoprawne = odpNiepoprawne;
  109.  
  110. //utworzenie tablicy odpowiedzi i przemieszanie jej
  111. var odpowiedzi = [];
  112. for(i=0;i<this.odpPoprawne.length;i++)
  113. odpowiedzi.push(odpPoprawne[i]);
  114. for(i=0;i<this.odpNiepoprawne.length;i++)
  115. odpowiedzi.push(odpNiepoprawne[i]);
  116. odpowiedzi.sort(function() {return 0.5 - Math.random()});
  117.  
  118. this.odpowiedzi = odpowiedzi;
  119.  
  120. document.write("<fieldset>");
  121. document.write("<legend>" + this.trescPytania + "</legend>");
  122.  
  123. for(var i=0;i<odpowiedzi.length;i++) {
  124. if(odpPoprawne.includes(this.odpowiedzi[i]))
  125. document.write("<input type='checkbox' name='" + this.nazwaPytania + "' value='poprawna'>" + odpowiedzi[i] + "</input><br />");
  126. else
  127. document.write("<input type='checkbox' name='" + this.nazwaPytania + "' value='niepoprawna'>" + odpowiedzi[i] + "</input><br />");
  128. }
  129.  
  130. document.write("</fieldset>");
  131.  
  132. }
  133.  
  134. Pytanie2.prototype.sprawdz = function() {
  135.  
  136. var suma = 0;
  137. var wynik = 0;
  138. var quiz = document.getElementsByName(this.nazwaPytania);
  139.  
  140. for(var i=0;i<this.odpowiedzi.length;i++)
  141. if(quiz[i].checked)
  142. if(quiz[i].value == "poprawna")
  143. suma++;
  144. else if(quiz[i].value == "niepoprawna") {
  145. suma = 0;
  146. break;
  147. }
  148.  
  149. wynik = suma/this.odpPoprawne.length;
  150.  
  151. return wynik;
  152.  
  153. }
  154.  
  155. function Pytanie3(trescPytania, nazwaPytania, Prawda) {
  156.  
  157. this.trescPytania = trescPytania;
  158. this.nazwaPytania = nazwaPytania;
  159. this.Prawda = Prawda;
  160.  
  161. document.write("<fieldset>");
  162. document.write("<legend>" + this.trescPytania + "</legend>");
  163. document.write("<input type='radio' name='" + this.nazwaPytania + "' value='true'>Prawda</input><br />");
  164. document.write("<input type='radio' name='" + this.nazwaPytania + "' value='false'>Fałsz</input><br />");
  165. document.write("</fieldset>");
  166.  
  167. }
  168.  
  169. Pytanie3.prototype.sprawdz = function() {
  170.  
  171. var wynik = 0;
  172. var prawda = "" + this.czyPrawda;
  173. var quiz = document.getElementsByName(this.nazwaPytania);
  174.  
  175. for(var i=0;i<2;i++)
  176. if(quiz[i].checked)
  177. if(quiz[i].value == prawda)
  178. wynik = 1;
  179.  
  180. return wynik;
  181.  
  182. }
  183.  
  184. function Pytanie4(trescPytania, nazwaPytania, odpPoprawna) {
  185.  
  186. this.trescPytania = trescPytania;
  187. this.nazwaPytania = nazwaPytania;
  188. this.odpPoprawna = odpPoprawna.trim().toLowerCase();
  189.  
  190. document.write("<fieldset>");
  191. document.write("<legend>" + this.trescPytania + "</legend>");
  192. document.write("<input type='text' name='" + this.nazwaPytania + "' placeholder='Wpisz odpowiedź tutaj' /><br />");
  193. document.write("</fieldset>");
  194.  
  195. }
  196.  
  197. Pytanie4.prototype.sprawdz = function() {
  198.  
  199. var wynik = 0;
  200. var tresc = document.getElementsByName(this.nazwaPytania)[0].value;
  201.  
  202. if(tresc.trim().toLowerCase() == this.odpowiedzPoprawna)
  203. wynik = 1;
  204.  
  205. return wynik;
  206.  
  207. }
  208.  
  209. function Pytanie5(trescPytania, nazwaPytania, definicje) {
  210.  
  211. this.trescPytania = trescPytania;
  212. this.nazwaPytania = nazwaPytania;
  213. this.definicje = definicje;
  214.  
  215. //def1 składuje nazwy, def2 składuje definicje
  216. this.tab1 = [];
  217. this.tab2 = [];
  218. var i, j;
  219.  
  220. for(i=0;i<definicje.length;i++) {
  221. this.tab1.push(definicje[i][0]);
  222. this.tab2.push(definicje[i][1]);
  223. }
  224.  
  225. //przemieszanie tablic tab1 oraz tab2
  226. this.tab1.sort(function() {return 0.5 - Math.random()});
  227. this.tab2.sort(function() {return 0.5 - Math.random()});
  228.  
  229. document.write("<fieldset>");
  230. document.write("<legend>" + this.trescPytania + "</legend>");
  231. document.write("<ul>");
  232.  
  233. for(i=0;i<this.tab1.length;i++) {
  234. document.write("<li name='" + this.nazwaPytania + "'>" + this.tab1[i] + "</li>");
  235. document.write("<select name='" + this.nazwaPytania + "'>");
  236.  
  237. for(j=0;j<this.tab2.length;j++)
  238. document.write("<option value='" + this.tab2[j] + "'>" + this.tab2[j] + "</option>");
  239.  
  240. document.write("</select>");
  241. }
  242.  
  243. document.write("</ul>");
  244. document.write("</fieldset>");
  245. }
  246.  
  247. Pytanie5.prototype.sprawdz = function() {
  248.  
  249. var wynik = 0;
  250. var suma = 0;
  251. var quiz = document.getElementsByName(this.nazwaPytania);
  252. for(var i=0;i<quiz.length;i++)
  253. for(var j=0;j<this.definicje.length;j++)
  254. if(quiz[i].innerHTML == this.definicje[j][0])
  255. if(quiz[++i][quiz[i].selectedIndex].value == this.definicje[j][1])
  256. suma++;
  257.  
  258. wynik = suma/this.definicje.length;
  259. return wynik;
  260. }
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269. </script>
  270.  
  271. <input type="submit" id="sprawdz" value="Sprawdź odpowiedzi" onclick="sprawdzOdpowiedzi();" />
  272. <div id="wyniki"></div>
  273. </form>
  274. </div>
  275. </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement