Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="ru">
- <head>
- <title>Лабораторная работа №1</title>
- <meta charset="UTF-8" />
- </head>
- <body>
- <script>
- var peremenn = "";
- var prog = 0;
- /*
- *проверка введённых данных на правильность
- *
- *проверка каждого символа на соответствие
- *
- *@глобальные переменные res, str
- *@param mass
- *return res
- */
- function validate(mass) {
- var res = true;
- var str = "";
- for (var i = 0; i < mass.length; i++) {
- if (
- mass[i][0] < "A" ||
- mass[i][0] > "z" ||
- mass[i][1] < "0" ||
- mass[i][1] > "9" ||
- mass[i].length >= 3
- ) {
- str += "Ошибка в " + i + " элементе\n";
- res = false;
- }
- }
- if (!res) alert(str);
- return res;
- }
- /*
- *объединение множеств
- *
- *вывод всех уникальных значений из 2 множеств
- *
- *@глобальные переменные res
- *@param A,B;
- *return res;
- */
- function Union(A, B) {
- var res = [],
- str = "";
- var t = A.length;
- res = A;
- for (var i = 0; i < B.length; i++) {
- var odin = false;
- for (var j = 0; j < res.length; j++) {
- if (B[i] == res[j]) odin = true;
- }
- if (odin == false) {
- res[t] = B[i];
- t++;
- }
- }
- return "Результат объединения массивов:" + res;
- }
- /*
- *пересечение множеств
- *
- *вывод уникальных элементов которые находятся в 2 множествах одновременно
- *
- *@глобальные переменные res,str,t;
- *@param A,B;
- *return res;
- */
- function Crossing(A, B) {
- var res = [],
- str = "";
- var t = 0;
- for (var i = 0; i < A.length; i++)
- for (var j = 0; j < B.length; j++)
- if (A[i] == B[j]) {
- var odin = false;
- for (var k = 0; k < res.length; k++)
- if (res[k] == B[j]) odin = true;
- if (odin == false) {
- res[t] = B[j];
- t++;
- }
- }
- return "Результат пересечения массивов:" + res;
- }
- /*
- * Исключение множества
- *
- * Вывод всех уникальных значений из множества А за исключением тех элементов которые находятся в B
- *
- *@глобальные переменные res,str,t;
- *@param A,B;
- *return res;
- */
- function Сomplement(A, B) {
- var res = [],
- str = "";
- var t = A.length;
- res = A;
- for (var i = 0; i < A.length; i++)
- for (var j = 0; j < B.length; j++)
- if (A[i] != B[j]) {
- var odin = false;
- for (var k = 0; k < res.length; k++)
- if (res[k] == B[j]) odin = true;
- if (odin == false) {
- res[t] = B[j];
- t++;
- }
- }
- return "Результат дополнения массивов:" + res;
- }
- /*
- * Cимметрическую разность множеств
- *
- * Вывод всех уникальных значений из 2 множеств за исключением тех элементов где они повторяются
- *
- *@глобальные переменные res,str,t;
- *@param A,B;
- *return str;
- */
- function sim(A, B) {
- var res = [],
- str = "";
- var t = 0;
- for (var i = 0; i < A.length; i++)
- for (var j = 0; j < B.length; j++)
- if (A[i] == B[j]) {
- var odin = false;
- for (var k = 0; k < res.length; k++)
- if (res[k] == B[j]) odin = true;
- if (odin == false) {
- res[t] = B[j];
- t++;
- }
- }
- for (var i = 0; i < A.length && i < B.length; i++)
- for (var j = 0; j < res.length; j++)
- if (A[i] != res[j]) str += " " + A[i];
- else if (B[i] != res[j]) str += " " + B[i];
- return "Результат симметрической разности массивов:" + str;
- }
- /*
- * Отрицание множества
- *
- * Все элементы универсалльного множества за исключением множества А
- *
- *@глобальные переменные G,str,t;
- *@param A;
- *return str;
- */
- function otr(A) {
- var G = [],
- str = "",
- res = [];
- var t = 0;
- for (var i = "0".codePointAt(0); i <= "9".codePointAt(0); i++) {
- for (var j = "A".codePointAt(0); j <= "Z".codePointAt(0); j++) {
- G[t] = String.fromCodePoint(j);
- G[t] += String.fromCodePoint(i);
- t++;
- }
- for (var j = "a".codePointAt(0); j <= "z".codePointAt(0); j++) {
- G[t] = String.fromCodePoint(j);
- G[t] += String.fromCodePoint(i);
- t++;
- }
- }
- t = 0;
- for (var i = 0; i < A.length; i++)
- for (var j = 0; j < G.length; j++) {
- if (A[i] == G[j]) {
- G[j] = 0;
- }
- }
- for (var j = 0; j < G.length; j++) {
- if (G[j] != 0) str += " " + G[j];
- }
- return "Результат отрицания:" + str;
- }
- function getDataUser() {
- var A = document.getElementById("massA").value;
- A = A.split(" ");
- if (!validate(A)) return;
- var B = document.getElementById("massB").value;
- B = B.split(" ");
- if (!validate(B)) return;
- if (prog == 1)
- document.getElementById("result").innerHTML = Union(A, B);
- else if (prog == 2)
- document.getElementById("result").innerHTML = Crossing(A, B);
- else if (prog == 3)
- document.getElementById("result").innerHTML = Сomplement(A, B);
- else if (prog == 4)
- document.getElementById("result").innerHTML = sim(A, B);
- else if (prog == 5)
- document.getElementById("result").innerHTML = otr(A);
- }
- </script>
- <form>
- Первый массив <input name="A" id="massA" /> <br />
- Второй массив <input name="B" id="massB" /> <br />
- <input
- type="button"
- value="Объединение"
- onClick="prog = 1;getDataUser() "
- />
- <input
- type="button"
- value="Пересечение"
- onClick="prog = 2;getDataUser() "
- />
- <input
- type="button"
- value="Дополнение"
- onClick="prog = 3;getDataUser() "
- />
- <input
- type="button"
- value="Симметрическая разность"
- onClick="prog = 4;getDataUser()"
- />
- <input
- type="button"
- value="Отрицание"
- onClick="prog = 5;getDataUser() "
- />
- </form>
- <div id="result"></div>
- <div>
- <h1>Примеры</h1>
- <p>Первый массив: a1 g3 h6</p>
- <p>Второй массив: g3 j6 f4</p>
- </div>
- </body>
- </html>
Add Comment
Please, Sign In to add comment