git.iko.soy/ilyakooo0.github.io
on master help sign in
Fixed typos in linal/kollok data. Fixed repeating text in linal.kollok. Added saving of linal/kollok.
96d0aa7ilyakooo0
javascript/js.cookie.jsnew file+165
@@ -0,0 +1,165 @@
1+/*!
2+ * JavaScript Cookie v2.2.0
3+ * https://github.com/js-cookie/js-cookie
4+ *
5+ * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
6+ * Released under the MIT license
7+ */
8+;(function (factory) {
9+ var registeredInModuleLoader = false;
10+ if (typeof define === 'function' && define.amd) {
11+ define(factory);
12+ registeredInModuleLoader = true;
13+ }
14+ if (typeof exports === 'object') {
15+ module.exports = factory();
16+ registeredInModuleLoader = true;
17+ }
18+ if (!registeredInModuleLoader) {
19+ var OldCookies = window.Cookies;
20+ var api = window.Cookies = factory();
21+ api.noConflict = function () {
22+ window.Cookies = OldCookies;
23+ return api;
24+ };
25+ }
26+}(function () {
27+ function extend () {
28+ var i = 0;
29+ var result = {};
30+ for (; i < arguments.length; i++) {
31+ var attributes = arguments[ i ];
32+ for (var key in attributes) {
33+ result[key] = attributes[key];
34+ }
35+ }
36+ return result;
37+ }
38+
39+ function init (converter) {
40+ function api (key, value, attributes) {
41+ var result;
42+ if (typeof document === 'undefined') {
43+ return;
44+ }
45+
46+ // Write
47+
48+ if (arguments.length > 1) {
49+ attributes = extend({
50+ path: '/'
51+ }, api.defaults, attributes);
52+
53+ if (typeof attributes.expires === 'number') {
54+ var expires = new Date();
55+ expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
56+ attributes.expires = expires;
57+ }
58+
59+ // We're using "expires" because "max-age" is not supported by IE
60+ attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
61+
62+ try {
63+ result = JSON.stringify(value);
64+ if (/^[\{\[]/.test(result)) {
65+ value = result;
66+ }
67+ } catch (e) {}
68+
69+ if (!converter.write) {
70+ value = encodeURIComponent(String(value))
71+ .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
72+ } else {
73+ value = converter.write(value, key);
74+ }
75+
76+ key = encodeURIComponent(String(key));
77+ key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
78+ key = key.replace(/[\(\)]/g, escape);
79+
80+ var stringifiedAttributes = '';
81+
82+ for (var attributeName in attributes) {
83+ if (!attributes[attributeName]) {
84+ continue;
85+ }
86+ stringifiedAttributes += '; ' + attributeName;
87+ if (attributes[attributeName] === true) {
88+ continue;
89+ }
90+ stringifiedAttributes += '=' + attributes[attributeName];
91+ }
92+ return (document.cookie = key + '=' + value + stringifiedAttributes);
93+ }
94+
95+ // Read
96+
97+ if (!key) {
98+ result = {};
99+ }
100+
101+ // To prevent the for loop in the first place assign an empty array
102+ // in case there are no cookies at all. Also prevents odd result when
103+ // calling "get()"
104+ var cookies = document.cookie ? document.cookie.split('; ') : [];
105+ var rdecode = /(%[0-9A-Z]{2})+/g;
106+ var i = 0;
107+
108+ for (; i < cookies.length; i++) {
109+ var parts = cookies[i].split('=');
110+ var cookie = parts.slice(1).join('=');
111+
112+ if (!this.json && cookie.charAt(0) === '"') {
113+ cookie = cookie.slice(1, -1);
114+ }
115+
116+ try {
117+ var name = parts[0].replace(rdecode, decodeURIComponent);
118+ cookie = converter.read ?
119+ converter.read(cookie, name) : converter(cookie, name) ||
120+ cookie.replace(rdecode, decodeURIComponent);
121+
122+ if (this.json) {
123+ try {
124+ cookie = JSON.parse(cookie);
125+ } catch (e) {}
126+ }
127+
128+ if (key === name) {
129+ result = cookie;
130+ break;
131+ }
132+
133+ if (!key) {
134+ result[name] = cookie;
135+ }
136+ } catch (e) {}
137+ }
138+
139+ return result;
140+ }
141+
142+ api.set = api;
143+ api.get = function (key) {
144+ return api.call(api, key);
145+ };
146+ api.getJSON = function () {
147+ return api.apply({
148+ json: true
149+ }, [].slice.call(arguments));
150+ };
151+ api.defaults = {};
152+
153+ api.remove = function (key, attributes) {
154+ api(key, '', extend(attributes, {
155+ expires: -1
156+ }));
157+ };
158+
159+ api.withConverter = init;
160+
161+ return api;
162+ }
163+
164+ return init(function () {});
165+}));
javascript/kollok.js+73−5
@@ -1,11 +1,11 @@
1−function update() {
1+function generateStore() {
2 let t = $("#kollokTheor").prop("checked")
2 let t = $("#kollokTheor").prop("checked")
3 let o = $("#kollokOpr").prop("checked")
3 let o = $("#kollokOpr").prop("checked")
4 let k1 = $("#kollok1").prop("checked")
4 let k1 = $("#kollok1").prop("checked")
5 let k2 = $("#kollok2").prop("checked")
5 let k2 = $("#kollok2").prop("checked")
6 let k3 = $("#kollok3").prop("checked")
6 let k3 = $("#kollok3").prop("checked")
7 let k4 = $("#kollok4").prop("checked")
7 let k4 = $("#kollok4").prop("checked")
8−
8+
9 let out = []
9 let out = []
10
10
11 if (t) {
11 if (t) {
@@ -37,10 +37,67 @@ function update() {
37 out = out.concat(opr[3])
37 out = out.concat(opr[3])
38 }
38 }
39 }
39 }
40+
41+ return out
42+}
40
43
44+function update() {
45+
46+ let obj = Cookies.getJSON('kollok');
47+
48+ let s = generateStore()
49+
50+ let ii = [...s.keys()].filter(function(elt) {return obj.store.indexOf(elt) == -1})
51+
52+ if (ii.length == 0) {
53+ obj.store = []
54+ ii = [...s.keys()]
55+ }
56+
41− let tt = out[Math.floor(Math.random()*out.length)]
57+ let i = Math.floor(Math.random()*ii.length)
58+
59+ let tt = s.splice(ii[i], 1)[0]
60+ obj.store.push(ii[i])
42
61
43 $("#kollokText").text(tt)
62 $("#kollokText").text(tt)
63+
64+ Cookies.set('kollok', obj);
65+}
66+
67+function reevaluate() {
68+ let t = $("#kollokTheor").prop("checked")
69+ let o = $("#kollokOpr").prop("checked")
70+ let k1 = $("#kollok1").prop("checked")
71+ let k2 = $("#kollok2").prop("checked")
72+ let k3 = $("#kollok3").prop("checked")
73+ let k4 = $("#kollok4").prop("checked")
74+ let obj = Cookies.get('kollok');
75+ if ((obj == undefined) || !(t == obj.t && o == obj.o && k1 == obj.k1 && k2 == obj.k2 && k3 == obj.k3 && k4 == obj.k4)) {
76+ obj = {
77+ "t": t,
78+ "o": o,
79+ "k1": k1,
80+ "k2": k2,
81+ "k3": k3,
82+ "k4": k4,
83+ "store": []
84+ }
85+ }
86+ Cookies.set('kollok', obj);
87+}
88+
89+function read() {
90+ let obj = Cookies.getJSON('kollok');
91+
92+ if (obj != undefined) {
93+ $("#kollokTheor").prop("checked", obj.t);
94+ $("#kollokOpr").prop("checked", obj.o);
95+ $("#kollok1").prop("checked", obj.k1);
96+ $("#kollok2").prop("checked", obj.k2);
97+ $("#kollok3").prop("checked", obj.k3);
98+ $("#kollok4").prop("checked", obj.k4);
99+ }
100+
44}
101}
45
102
46var opr = []
103var opr = []
@@ -51,7 +108,18 @@ window.onload = function() {
51 $.getJSON("/linal/kollok_/theory.json", function(result) {
108 $.getJSON("/linal/kollok_/theory.json", function(result) {
52 opr = result["opr"]
109 opr = result["opr"]
53 theor = result["theor"]
110 theor = result["theor"]
111+
112+ read()
113+
114+ reevaluate()
115+
116+ $("#kollokTheor").change(reevaluate)
117+ $("#kollokOpr").change(reevaluate)
118+ $("#kollok1").change(reevaluate)
119+ $("#kollok2").change(reevaluate)
120+ $("#kollok3").change(reevaluate)
121+ $("#kollok4").change(reevaluate)
122+ $("#fightMeKollok").click(update);
123+
54 });
124 });
55−
56− $("#fightMeKollok").click(update);
57}
125}
linal/kollok_/kollok.html+1
@@ -6,6 +6,7 @@ tag: Linal
6custom_js:
6custom_js:
7 - kollok
7 - kollok
8 - jquery
8 - jquery
9+ - js.cookie
9---
10---
10
11
11 <h1 id="sosalovoCenter">kollok</h1>
12 <h1 id="sosalovoCenter">kollok</h1>
linal/kollok_/theory.json+3−3
@@ -33,7 +33,7 @@
33 ],
33 ],
34 [
34 [
35 "Сформулируйте теорему о структуре общего решения однородной системы линейных алгебраических уравнений.",
35 "Сформулируйте теорему о структуре общего решения однородной системы линейных алгебраических уравнений.",
36− "Сформулируйтетеоремуоструктуреобщегорешениянеоднороднойсистемылинейныхалгебраическихуравнений.",
36+ "Сформулируйте теорему о структуре общего решения неоднородной системы линейных алгебраических уравнений.",
37 "Что такое алгебраическая и тригонометрическая форма записи комплексного числа?",
37 "Что такое алгебраическая и тригонометрическая форма записи комплексного числа?",
38 "Дайте определения модуля и аргумента комплексного числа. Что такое главное значение аргумента комплексного числа?",
38 "Дайте определения модуля и аргумента комплексного числа. Что такое главное значение аргумента комплексного числа?",
39 "Сложение, умножение комплексных чисел. Что происходит с аргументами и модулями комплексных чисел при умножении?",
39 "Сложение, умножение комплексных чисел. Что происходит с аргументами и модулями комплексных чисел при умножении?",
@@ -136,14 +136,14 @@
136 "Сформулируйте определения ядра и образа линейного отображения.",
136 "Сформулируйте определения ядра и образа линейного отображения.",
137 "Сформулируйте утверждение о связи размерностей ядра и образа линейного отображения.",
137 "Сформулируйте утверждение о связи размерностей ядра и образа линейного отображения.",
138 "Дайте определения собственного вектора и собственного значения линейного оператора.",
138 "Дайте определения собственного вектора и собственного значения линейного оператора.",
139− "Дайте определения характеристического уравнения и характеристического многочлена квадратной матри- цы.",
139+ "Дайте определения характеристического уравнения и характеристического многочлена квадратной матрицы.",
140 "Сформулируйте утверждение о связи характеристического уравнения и спектра линейного оператора.",
140 "Сформулируйте утверждение о связи характеристического уравнения и спектра линейного оператора.",
141 "Дайте определение собственного подпространства.",
141 "Дайте определение собственного подпространства.",
142 "Дайте определения алгебраической и геометрической кратности собственного значения. Какое неравенство их связывает?",
142 "Дайте определения алгебраической и геометрической кратности собственного значения. Какое неравенство их связывает?",
143 "Дайте определение следа матрицы. Как меняется след матрицы оператора при замене базиса?",
143 "Дайте определение следа матрицы. Как меняется след матрицы оператора при замене базиса?",
144 "Каким свойством обладают собственные векторы линейного оператора, отвечающие различным собственным значениям?",
144 "Каким свойством обладают собственные векторы линейного оператора, отвечающие различным собственным значениям?",
145 "Сформулируйте критерий диагональности матрицы оператора.",
145 "Сформулируйте критерий диагональности матрицы оператора.",
146− "Сформулируйте критерий диагонализируемости матрицы оператора с использованием понятия геометриче- ской кратности.",
146+ "Сформулируйте критерий диагонализируемости матрицы оператора с использованием понятия геометрической кратности.",
147 "Сформулируйте теорему Гамильтона-Кэли.",
147 "Сформулируйте теорему Гамильтона-Кэли.",
148 "Дайте определение жордановой клетки. Сформулируйте теорему о жордановой нормальной форме матрицы оператора."
148 "Дайте определение жордановой клетки. Сформулируйте теорему о жордановой нормальной форме матрицы оператора."
149 ],
149 ],