From 00c8014aebc1d9a6d74ced01eb363f32521f65f2 Mon Sep 17 00:00:00 2001 From: cuqmbr Date: Tue, 7 Dec 2021 17:41:06 +0200 Subject: [PATCH] copied master branch --- Boolean-Algebra/favicon.png | Bin 0 -> 613 bytes {Lab-2 => Boolean-Algebra}/index.html | 48 +- Boolean-Algebra/script.js | 809 ++++++++++++++++++++++++++ Lab-2/script.js | 570 ------------------ Set-Algebra/Complement.png | Bin 0 -> 1926 bytes Set-Algebra/Intersection.png | Bin 0 -> 2150 bytes Set-Algebra/Substraction.png | Bin 0 -> 2264 bytes Set-Algebra/Union.png | Bin 0 -> 2360 bytes Set-Algebra/favicon.png | Bin 0 -> 795 bytes Set-Algebra/index.html | 94 +++ Set-Algebra/script.js | 377 ++++++++++++ fonts/MyriadPro-Light.ttf | Bin 0 -> 98236 bytes fonts/MyriadPro-Light.woff | Bin 0 -> 44404 bytes fonts/MyriadPro-Regular.woff | Bin 0 -> 44524 bytes img/Boolean-Algebra.png | Bin 0 -> 2475 bytes img/Set-Algebra.png | Bin 0 -> 4125 bytes img/favicon.png | Bin 0 -> 8939 bytes index.html | 48 ++ style.css | 85 ++- 19 files changed, 1445 insertions(+), 586 deletions(-) create mode 100644 Boolean-Algebra/favicon.png rename {Lab-2 => Boolean-Algebra}/index.html (61%) create mode 100644 Boolean-Algebra/script.js delete mode 100644 Lab-2/script.js create mode 100644 Set-Algebra/Complement.png create mode 100644 Set-Algebra/Intersection.png create mode 100644 Set-Algebra/Substraction.png create mode 100644 Set-Algebra/Union.png create mode 100644 Set-Algebra/favicon.png create mode 100644 Set-Algebra/index.html create mode 100644 Set-Algebra/script.js create mode 100644 fonts/MyriadPro-Light.ttf create mode 100644 fonts/MyriadPro-Light.woff create mode 100644 fonts/MyriadPro-Regular.woff create mode 100644 img/Boolean-Algebra.png create mode 100644 img/Set-Algebra.png create mode 100644 img/favicon.png create mode 100644 index.html diff --git a/Boolean-Algebra/favicon.png b/Boolean-Algebra/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3037e3f4a5e1f1115e4180530e1a461ebfa0cd GIT binary patch literal 613 zcmV-r0-F7aP)*fjtK|WJA%Hgi22%jN zS-&x_F!%$2Iv+eLD4g+gqOfUkp|1drYh1Ym@67s*v1a{8S4(k*S-)|qv^xiIBeAPw zGt~y)28<=yZrA81H|@^YG+j{=&owcfu}uKYfUU%AR|5{}&e&Vl$50tuQv6KYCui(U z-n+R307!5t(1j*AA%tbsdjLiN&YiKRS_1a~4z&chWm44FQ4&j~5BTUnMIcJz5gnAp zf_{QNLK)Z=^&UEaGJ31|gq#coQq3*tA6un?phzB5f_1jnE4GFeKcdgmGNH89b(RD8Bo(R%4_ z$0ckf-o?%{@Nc%@8>AhxBl_`aApN1JW6lHVv=t?B?iLkk#~q&MAv;}>;PT#+sNtqT zH8M71U*z@lb%+#4Nh}inR+fNAbLD%X_NqlD z0qVG5A72GkSKb*4A=Hdy|GLgttek`&AKgO)2He9IwO(dCZNFG->WH2|YyANWPc6@D zKE{Epr7^4ihQjO8pMbH_8`;h;r@OtL_Z#yMe - - Boolean Algebra + + Boolean Algebra Calculator @@ -18,9 +18,9 @@
@@ -34,11 +34,11 @@

Value A =

-
+

Value B =

-
+
@@ -46,11 +46,18 @@

Formulua

-

+

+
+ +
+
+ + +

Result

@@ -92,6 +99,33 @@
+ +
+
+

Truth Table

+
+
+
+
+
+ +
+
+

Perfect Disjunctive Normal Form

+
+
+
+
+
+ +
+
+

Perfect Conjunctive Normal Form

+
+
+
+
+
diff --git a/Boolean-Algebra/script.js b/Boolean-Algebra/script.js new file mode 100644 index 0000000..969379c --- /dev/null +++ b/Boolean-Algebra/script.js @@ -0,0 +1,809 @@ +//#region Basic Functionallity + +let maxNumOfValues = 26; +let currNumOfValues = 2; + +function AddValue() { + + if (currNumOfValues < 26) { + + let charNum = 65 + currNumOfValues; + currNumOfValues++; + + let delBtn = document.querySelectorAll('#delBtn'); + if (delBtn[delBtn.length - 1]) { + delBtn[delBtn.length - 1].style="display: none;"; + } + + node = document.getElementById('values'); + node.insertAdjacentHTML('beforeend', `
+

Value &#${charNum} =

+
+
`); + + } else { + alert('You have reached a limint of available values'); + } +} + +let VALUES = new Set(); +let userValues = new Array(); + +function FetchValues() { + + userValues = new Array(); + + for (let i = 0; i < currNumOfValues; i++) { + + let inputField = document.getElementById(`value${i}`); + let currCharStr = String.fromCharCode(65 + i); + + if (inputField.value === '1' || inputField.value === 'true' || inputField.value === 'True'|| inputField.value === 'TRUE' || inputField.value === 't' || inputField.value === 'T') { + VALUES.add(currCharStr); + userValues.push([currCharStr, true]); + } else if (inputField.value === '0' || inputField.value === 'false' || inputField.value === 'False' || inputField.value === 'FALSE' || inputField.value === 'f' || inputField.value === 'F') { + VALUES.add(currCharStr); + userValues.push([currCharStr, false]); + } + } + + for (const iterator in VALUES) { + console.log(iterator, VALUES[iterator]); + } +} + +// Evaluate given formula and display the result +function Evaluate() { + + ToggleAll(false); + + FetchValues(); + + let formulaField = document.getElementById('formula'); + + let formulaChraArray = formulaField.value.split(''); + let formulaRPNArray = ConvertToRPNArray(formulaChraArray); + let formulaValuesRPNArray = ConvertCharsToValues(formulaRPNArray); + + let result = SolveRPNFormula(formulaValuesRPNArray); + if (result == undefined) return; + let readableResult = ConvertToReadableResult(result); + + let resultField = document.getElementById('result'); + resultField.value = readableResult; +} + +//#endregion + +//#region Boolean Operations + +function Negation(value) { + + if (value != undefined) { return !value; } +} + +function Conjunction(firstValue, secondValue) { + + if (firstValue === true && secondValue === true) { + return true; + } else if (firstValue === false && secondValue === true || firstValue === true && secondValue === false || firstValue === false && secondValue === false) { + return false; + } +} + +function Disjunction(firstValue, secondValue) { + + if (firstValue === true || secondValue === true) { + return true; + } else if (firstValue === false && secondValue === false) { + return false; + } +} + +function Equivalence(firstValue, secondValue) { + + if (firstValue === secondValue) { + return true; + } else if (firstValue !== secondValue) { + return false; + } +} + +//#endregion + +//#region Essential Functions + +function ConvertToRPNArray(chars) { + + let _values_stack = new Array(); + let _actions_stack = new Array(); + + for (let i = 0; i < chars.length; i++) { + const element = chars[i]; + + if (!OPERATORS.has(element) && !BRACKETS.has(element)) { + + _values_stack.push(element); + } else if (OPERATORS.has(element)) { + + while (GetActionPriority(_actions_stack[_actions_stack.length - 1]) >= GetActionPriority(element)) { + + let last = _actions_stack.pop(); + + if (last != '(') { + _values_stack.push(last); + } else { + break; + } + } + + if (_actions_stack[0] == undefined || GetActionPriority(_actions_stack[_actions_stack.length - 1]) < GetActionPriority(element)) { + + _actions_stack.push(element); + } + } else if (BRACKETS.has(element)) { + + if (element == '(') { + + _actions_stack.push(element); + } + + if (element == ')') { + + let _last = _actions_stack.pop(); + + while (_last != '(') { + + _values_stack.push(_last); + _last = _actions_stack.pop(); + } + } + } else { + Error('The programm cant solve given formula. Do you typed everything right? Maybe you forgot to define some value?'); + } + } + + while (_actions_stack[0] != undefined) { + + _values_stack.push(_actions_stack.pop()); + } + + return _values_stack; +} + +function ConvertCharsToValues(RPNArray) { + + let valuesRNPArray = new Array(); + + RPNArray.forEach(element => { + + if (VALUES.has(element)) { + valuesRNPArray.push(GetValueFromIndex(element)); + } else if (element !== '(' || element !== ')') { + valuesRNPArray.push(element); + } + }); + + return valuesRNPArray; +} + +function SolveRPNFormula(valuesRPNArray) { + + let stepByStepResults = new Array(); + + let _stack = new Array(); + + for (let i = 0; i < valuesRPNArray.length; i++) { + const element = valuesRPNArray[i]; + + if (OPERATORS.has(element)) { + + if (element == '!') { + + let _currValue = _stack.pop(); + + let _result = Negation(_currValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '*') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Conjunction(_firstValue, _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '+') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Disjunction(_firstValue, _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '>') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Disjunction(Negation(_firstValue), _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '=') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Equivalence(_firstValue, _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } + } else { + + _stack.push(element); + } + } + + return _stack[0]; +} + +//#endregion + +//#region Step By Step + +// Evalutae formula and display steps in the interface +function StepByStep() { + + FetchValues(); + + let formulaField = document.getElementById('formula'); + + let formulaChraArray = formulaField.value.split(''); + let formulaRPNArray = ConvertToRPNArray(formulaChraArray); + let formulaValuesRPNArray = ConvertCharsToValues(formulaRPNArray); + + let result = SolveRPNFormula(formulaValuesRPNArray); + if (result == undefined) return; + let readableResult = ConvertToReadableResult(result); + + let resultField = document.getElementById('result'); + resultField.value = readableResult; + + let stepsActionsArray = GetCharSteps(formulaRPNArray); + let stepsResultsArray = GetStepsResults(formulaValuesRPNArray); + + // console.log(stepsActionsArray); + // console.log(stepsResultsArray); + + if (stepsResultsArray.length > 0) { + + ToggleAll(false); + ToggleSteps(true); + + for (let i = 0; i < stepsActionsArray.length; i++) { + const action = stepsActionsArray[i]; + const result = stepsResultsArray[i]; + + + stepsWrapper.insertAdjacentHTML('beforeend', `
+

${i+1}.

+
+
`); + } + } + + // Get steps in form of characters + function GetCharSteps(RPNArray) { + + let stepsArray = new Array(); + + let _stack = new Array(); + + for (let i = 0; i < RPNArray.length; i++) { + const element = RPNArray[i]; + + if (OPERATORS.has(element)) { + + if (element == '!') { + + let _currValue = _stack.pop(); + + let _result; + + if (_currValue.length <= 2) { + _result = '!'.concat(_currValue); + } else { + _result = '!'.concat('(').concat(_currValue).concat(')'); + } + + _stack.push(_result); + stepsArray.push([_result]); + + } else if (element == '*') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result; + + let _firstHasExclemMark = Boolean(_firstValue.split('').filter(x => x === '!').length); + let _secondHasExclemMark = Boolean(_secondValue.split('').filter(x => x === '!').length); + + if (_firstValue.length <= 2 && _secondValue.length <= 2) { + _result = _firstValue.concat('*').concat(_secondValue); + } else if (_firstValue.length <= 2 && _secondValue.length > 2) { + + if (_secondHasExclemMark) { + + _result = _firstValue.concat('*').concat(_secondValue); + } else { + _result = + _firstValue.concat('*').concat('(').concat(_secondValue).concat(')'); + } + } else if (_firstValue.length > 2 && _secondValue.length <= 2) { + + if (_firstHasExclemMark) { + + _result = _firstValue.concat('*').concat(_secondValue); + } else { + + _result = '('.concat(_firstValue).concat(')').concat('*').concat(_secondValue); + } + } else if (_firstValue.length > 2 && _secondValue.length > 2) { + + if (_firstHasExclemMark && _secondHasExclemMark) { + + _result = _firstValue.concat('*').concat(_secondValue); + } if (_firstHasExclemMark && !_secondHasExclemMark) { + + _result = _firstValue.concat('*').concat('(').concat(_secondValue).concat(')'); + } else if (!_firstHasExclemMark && _secondHasExclemMark) { + + _result = '('.concat(_firstValue).concat(')').concat('*').concat(_secondValue);; + } else { + + _result = '('.concat(_firstValue).concat(')').concat('*').concat('(').concat(_secondValue).concat(')'); + } + } + + _stack.push(_result); + stepsArray.push([_result]); + + } else if (element == '+') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = _firstValue.concat('+').concat(_secondValue); + + _stack.push(_result); + stepsArray.push([_result]); + + } else if (element == '>') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = _firstValue.concat('>').concat(_secondValue); + + _stack.push(_result); + stepsArray.push([_result]); + + } else if (element == '=') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = _firstValue.concat('=').concat(_secondValue); + + _stack.push(_result); + stepsArray.push([_result]); + } + } else { + + _stack.push(element); + } + } + + return stepsArray; + // return _stack[0]; + } + + // Get a result of each step + function GetStepsResults(valuesRPNArray) { + + let stepByStepResults = new Array(); + + let _stack = new Array(); + + for (let i = 0; i < valuesRPNArray.length; i++) { + const element = valuesRPNArray[i]; + + if (OPERATORS.has(element)) { + + if (element == '!') { + + let _currValue = _stack.pop(); + + let _result = Negation(_currValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '*') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Conjunction(_firstValue, _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '+') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Disjunction(_firstValue, _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '>') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Disjunction(Negation(_firstValue), _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } else if (element == '=') { + + let _secondValue = _stack.pop(); + let _firstValue = _stack.pop(); + + let _result = Equivalence(_firstValue, _secondValue); + + _stack.push(_result); + stepByStepResults.push(ConvertToReadableResult(_result)); + + } + } else { + + _stack.push(element); + } + } + + return stepByStepResults; + } +} + +//#endregion + +//#region Truth Table + +// Generate truth table and display it in the interface +function BuildTruthTable() { + + let header = document.getElementById('formula').value.match(/[A-Z]/g); + let matrix = GenerateTruthTable(); + DisplayTruthTable(matrix, header); +} + +// Generate truth table +function GenerateTruthTable() { + + let formulaField = document.getElementById('formula'); + + let numColumns = formulaField.value.match(/[A-Z]/g).length; + let numRows = Math.pow(2, numColumns); + + // Initializing the truthTable + let truthTable = new Array(); + + for (let i = 0; i < numRows; i++) { + truthTable.push(new Array(numColumns + 1)); + } + + for (let c = 0; c < numColumns; c++) { + + let period = Math.pow(2, numColumns) / Math.pow(2, c+1); + let zeros = true; + + for (let r = 0; r < numRows; r++) { + + if (zeros) { + truthTable[r][c] = false; + } + + if (!zeros) { + truthTable[r][c] = true; + } + + if ((r+1) % period == 0) { + zeros = !zeros; + } + } + } + + //Evaluate the result for each row + for (let r = 0; r < truthTable.length; r++) { + truthTable[r][numColumns] = SolveRPNFormula(ConvertToRPNArray(formulaField.value.split('').map(x => x = ConvertCharsToValues(x, r)))); + } + + //Additional functions + function ConvertCharsToValues(index, row) { + return formulaField.value.match(/[A-Z]/g).indexOf(index) != -1 ? truthTable[row][formulaField.value.match(/[A-Z]/g).indexOf(index)] : index; + } + + return truthTable; +} + +// Display truth table in the interface +function DisplayTruthTable(matrix, header) { + + //Display the truth table in the interface + ToggleAll(false); + ToggleTruthTable(true); + + let truthTableWrapper = document.querySelector('#truthTableWrapper'); + + truthTableWrapper.insertAdjacentHTML('beforeend', `
+

+
+
`); + + for (let r = 0; r < matrix.length; r++) { + + let result = matrix[r].pop(); + + truthTableWrapper.insertAdjacentHTML('beforeend', `
+

+
+
`); + } +} + +//#endregion + +//#region PDNF & PCNF + +function BuildPDNF() { + + DisplayPDNF(GeneratePDNF()); +} + +function GeneratePDNF() { + + let pdnf = ''; + let mintermCount = 0; + + let header = document.getElementById('formula').value.match(/[A-Z]/g); + let matrix = GenerateTruthTable(); + + for (let r = 0; r < matrix.length; r++) { + if (matrix[r][matrix[r].length - 1] == 1) { + + pdnf += mintermCount != 0 ? '+(' : '('; + + for (let c = 0; c < matrix[r].length - 1; c++) { + pdnf += matrix[r][c] == 0 ? '!' + header[c] : header[c]; + pdnf += c != matrix[r].length - 2 ? '*' : ''; + } + + pdnf += ')'; + mintermCount++; + } + } + + return pdnf; +} + +function DisplayPDNF(pdnf) { + + ToggleAll(false); + TogglePDNF(true); + + let Wrapper = document.querySelector('#pdnfWrapper'); + + Wrapper.insertAdjacentHTML('beforeend', `
+

+
+
`); +} + + +function BuildPCNF() { + + DisplayPCNF(GeneratePCNF()); +} + +function GeneratePCNF() { + + let pcnf = ''; + let maxtermCount = 0; + + let header = document.getElementById('formula').value.match(/[A-Z]/g); + let matrix = GenerateTruthTable(); + + for (let r = 0; r < matrix.length; r++) { + if (matrix[r][matrix[r].length - 1] == 0) { + + pcnf += maxtermCount != 0 ? '*(' : '('; + + for (let c = 0; c < matrix[r].length - 1; c++) { + pcnf += matrix[r][c] == 1 ? '!' + header[c] : header[c]; + pcnf += c != matrix[r].length - 2 ? '+' : ''; + } + + pcnf += ')'; + maxtermCount++; + } + } + + return pcnf; +} + +function DisplayPCNF(pcnf) { + + ToggleAll(false); + TogglePCNF(true); + + let Wrapper = document.querySelector('#pcnfWrapper'); + + Wrapper.insertAdjacentHTML('beforeend', `
+

+
+
`); +} +//#endregion + +//#region Additional Functions (Essential too) + +function ToggleSteps(show) { + + let Node = document.querySelector('#stepsNode'); + let Wrapper = document.querySelector('#stepsWrapper'); + + if (show) { + Node.classList.remove('hide'); + Wrapper.querySelectorAll('#input-wrap').forEach((element) => { + element.remove(); + }); + } else { + Node.classList.add('hide'); + } +} + +function ToggleTruthTable(show) { + + let Node = document.querySelector('#truthTableNode'); + let Wrapper = document.querySelector('#truthTableWrapper'); + + if (show) { + Node.classList.remove('hide'); + Wrapper.querySelectorAll('#input-wrap').forEach((element) => { + element.remove(); + }); + } else { + Node.classList.add('hide'); + } +} + +function TogglePDNF(show) { + + let Node = document.querySelector('#pdnfNode'); + let Wrapper = document.querySelector('#pdnfWrapper'); + + if (show) { + Node.classList.remove('hide'); + Wrapper.querySelectorAll('#input-wrap').forEach((element) => { + element.remove(); + }); + } else { + Node.classList.add('hide'); + } +} + +function TogglePCNF(show) { + + let Node = document.querySelector('#pcnfNode'); + let Wrapper = document.querySelector('#pcnfWrapper'); + + if (show) { + Node.classList.remove('hide'); + Wrapper.querySelectorAll('#input-wrap').forEach((element) => { + element.remove(); + }); + } else { + Node.classList.add('hide'); + } +} + +function ToggleAll(show) { + ToggleSteps(show); + ToggleTruthTable(show); + TogglePDNF(show); + TogglePCNF(show); +} + +const OPERATORS = new Set(['!', '*', '+', '>', '=']); +const BRACKETS = new Set(['(', ')']); + +function GetActionPriority(action) { + + if (action == '!') { + return 5; + } else if (action == '*') { + return 4; + } else if (action == '+' || action == '>' || action == '=') { + return 3; + } else if (action == '(') { + return 2; + } else { + return 0; + } +} + +function GetValueFromIndex(valueIndex) { + + for (let i = 0; i < userValues.length; i++) { + const element = userValues[i]; + + if (element[0] == valueIndex) { + return element[1]; + } + } +} + +function ConvertToReadableResult(unconverted) { + + return unconverted === true ? '1' : '0'; +} + +function Error(errMsg) { + console.log(` [ERROR] ${errMsg}`); +} + +//#endregion + +//#region Check Input + +const symbols = ['0', '1']; +const specialSymbols = ['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete']; + +function checkInputValue(key, value) { + if (value.length < 1 && symbols.indexOf(key) !== -1) { + return true; + } else if (value.length == 1 && specialSymbols.indexOf(key) !== -1) { + return true; + } + else { + return false; + } +} + +const symbols2 = ['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', 'Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', + '>', '=', '+', '*', '!', '(', ')' +]; + +function checkInputProblem(key) { + return (symbols2.indexOf(key) != -1) ? true : false; +} + +//#endregion \ No newline at end of file diff --git a/Lab-2/script.js b/Lab-2/script.js deleted file mode 100644 index 94f6bdb..0000000 --- a/Lab-2/script.js +++ /dev/null @@ -1,570 +0,0 @@ -let maxNumOfValues = 26; -let currNumOfValues = 2; - -function AddValue() { - - if (currNumOfValues < 26) { - - let charNum = 65 + currNumOfValues; - currNumOfValues++; - - let delBtn = document.querySelectorAll('#delBtn'); - if (delBtn[delBtn.length - 1]) { - delBtn[delBtn.length - 1].style="display: none;"; - } - - node = document.getElementById('values'); - node.insertAdjacentHTML('beforeend', `
-

Value &#${charNum} =

-
-
`); - - } else { - alert('You have reached a limint of available values'); - } -} - -function DeleteValue(valNum) { - - let valueField = document.querySelector(`#valueField${valNum}`); - valueField.remove(); - currNumOfValues--; - - let delBtn = document.querySelectorAll('#delBtn'); - if (delBtn[delBtn.length - 1]) { - delBtn[delBtn.length - 1].style="display: inline-block;"; - } -} - - -let VALUES = new Set(); -let userValues = new Array(); - -function FetchValues() { - - userValues = new Array(); - - for (let i = 0; i < currNumOfValues; i++) { - - let inputField = document.getElementById(`value${i}`); - let currCharStr = String.fromCharCode(65 + i); - - if (inputField.value === '1' || inputField.value === 'true' || inputField.value === 'True'|| inputField.value === 'TRUE' || inputField.value === 't' || inputField.value === 'T') { - VALUES.add(currCharStr); - userValues.push([currCharStr, true]); - } else if (inputField.value === '0' || inputField.value === 'false' || inputField.value === 'False' || inputField.value === 'FALSE' || inputField.value === 'f' || inputField.value === 'F') { - VALUES.add(currCharStr); - userValues.push([currCharStr, false]); - } - } - - for (const iterator in VALUES) { - console.log(iterator, VALUES[iterator]); - } -} - -let stepByStep = false; - -function Evaluate() { - - FetchValues(); - - let formulaField = document.getElementById('formula'); - - let formulaChraArray = formulaField.value.split(''); - let formulaRPNArray = ConvertCharArrayToRPNArray(formulaChraArray); - let formulaValuesRPNArray = ConvertLettersToValues(formulaRPNArray); - - let result = SolveRPNFormula(formulaValuesRPNArray); - let readableResult = convertToReadableResult(result[0]); - - let resultField = document.getElementById('result'); - resultField.value = readableResult; - - - let stepsNode = document.querySelector('#stepsNode'); - let stepsWrapper = document.querySelector('#stepsWrapper'); - - stepsNode.classList.add('hide'); - stepsWrapper.querySelectorAll('#input-wrap').forEach((element) => { - element.remove(); - }); - - if (stepByStep) { - - stepsNode.classList.remove('hide'); - - let stepsActionsArray = StepByStepRPNFormula(formulaRPNArray); - let stepsResultsArray = result[1]; - - - for (let i = 0; i < stepsActionsArray.length; i++) { - const action = stepsActionsArray[i]; - const result = stepsResultsArray[i]; - - stepsWrapper.insertAdjacentHTML('beforeend', `
-

${i+1}.

-
-
`); - } - - stepByStep = false; - } -} - -function StepByStep() { - - stepByStep = true; - Evaluate(); -} - - -function Negation(value) { - - if (value != undefined) { return !value; } -} - -function Conjunction(firstValue, secondValue) { - - if (firstValue === true && secondValue === true) { - return true; - } else if (firstValue === false && secondValue === true || firstValue === true && secondValue === false || firstValue === false && secondValue === false) { - return false; - } -} - -function Disjunction(firstValue, secondValue) { - - if (firstValue === true || secondValue === true) { - return true; - } else if (firstValue === false && secondValue === false) { - return false; - } -} - -function Equivalence(firstValue, secondValue) { - - if (firstValue === secondValue) { - return true; - } else if (firstValue !== secondValue) { - return false; - } -} - - - - - - -function ConvertCharArrayToRPNArray(chars) { - - let _values_stack = new Array(); - let _actions_stack = new Array(); - - for (let i = 0; i < chars.length; i++) { - const element = chars[i]; - - if (VALUES.has(element)) { - - _values_stack.push(element); - } else if (OPERATORS.has(element)) { - - while (GetActionPriority(_actions_stack[_actions_stack.length - 1]) >= GetActionPriority(element)) { - - let last = _actions_stack.pop(); - - if (last != '(') { - _values_stack.push(last); - } else { - break; - } - } - - if (_actions_stack[0] == undefined || GetActionPriority(_actions_stack[_actions_stack.length - 1]) < GetActionPriority(element)) { - - _actions_stack.push(element); - } - } else if (BRACKETS.has(element)) { - - if (element == '(') { - - _actions_stack.push(element); - } - - if (element == ')') { - - let _last = _actions_stack.pop(); - - while (_last != '(') { - - _values_stack.push(_last); - _last = _actions_stack.pop(); - } - } - } else { - Error('The programm cant solve given formula. Do you typed everything right? Maybe you forgot to define some value?'); - } - } - - while (_actions_stack[0] != undefined) { - - _values_stack.push(_actions_stack.pop()); - } - - return _values_stack; -} - -function ConvertLettersToValues(RPNArray) { - - let valuesRNPArray = new Array(); - - RPNArray.forEach(element => { - - if (VALUES.has(element)) { - valuesRNPArray.push(GetValueFromIndex(element)); - } else if (element !== '(' || element !== ')') { - valuesRNPArray.push(element); - } - }); - - return valuesRNPArray; -} - -function SolveRPNFormula(valuesRPNArray) { - - let stepByStepResults = new Array(); - - let _stack = new Array(); - - for (let i = 0; i < valuesRPNArray.length; i++) { - const element = valuesRPNArray[i]; - - if (OPERATORS.has(element)) { - - if (element == '!') { - - let _currValue = _stack.pop(); - - let _result = Negation(_currValue); - - _stack.push(_result); - stepByStepResults.push(convertToReadableResult(_result)); - - } else if (element == '*') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = Conjunction(_firstValue, _secondValue); - - _stack.push(_result); - stepByStepResults.push(convertToReadableResult(_result)); - - } else if (element == '+') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = Disjunction(_firstValue, _secondValue); - - _stack.push(_result); - stepByStepResults.push(convertToReadableResult(_result)); - - } else if (element == '>') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = Disjunction(Negation(_firstValue), _secondValue); - - _stack.push(_result); - stepByStepResults.push(convertToReadableResult(_result)); - - } else if (element == '=') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = Equivalence(_firstValue, _secondValue); - - _stack.push(_result); - stepByStepResults.push(convertToReadableResult(_result)); - - } - } else { - - _stack.push(element); - } - } - - return [_stack[0], stepByStepResults]; -} - -function StepByStepRPNFormula(RPNArray) { - - let stepsArray = new Array(); - - let _stack = new Array(); - - for (let i = 0; i < RPNArray.length; i++) { - const element = RPNArray[i]; - - if (OPERATORS.has(element)) { - - if (element == '!') { - - let _currValue = _stack.pop(); - - let _result; - - if (_currValue.length <= 2) { - _result = '!'.concat(_currValue); - } else { - _result = '!'.concat('(').concat(_currValue).concat(')'); - } - - _stack.push(_result); - stepsArray.push([_result]); - - } else if (element == '*') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result; - - let _firstHasExclemMark = Boolean(_firstValue.split('').filter(x => x === '!').length); - let _secondHasExclemMark = Boolean(_secondValue.split('').filter(x => x === '!').length); - - if (_firstValue.length <= 2 && _secondValue.length <= 2) { - _result = _firstValue.concat('*').concat(_secondValue); - } else if (_firstValue.length <= 2 && _secondValue.length > 2) { - - if (_secondHasExclemMark) { - - _result = _firstValue.concat('*').concat(_secondValue); - } else { - _result = - _firstValue.concat('*').concat('(').concat(_secondValue).concat(')'); - } - } else if (_firstValue.length > 2 && _secondValue.length <= 2) { - - if (_firstHasExclemMark) { - - _result = _firstValue.concat('*').concat(_secondValue); - } else { - - _result = '('.concat(_firstValue).concat(')').concat('*').concat(_secondValue); - } - } else if (_firstValue.length > 2 && _secondValue.length > 2) { - - if (_firstHasExclemMark && _secondHasExclemMark) { - - _result = _firstValue.concat('*').concat(_secondValue); - } if (_firstHasExclemMark && !_secondHasExclemMark) { - - _result = _firstValue.concat('*').concat('(').concat(_secondValue).concat(')'); - } else if (!_firstHasExclemMark && _secondHasExclemMark) { - - _result = '('.concat(_firstValue).concat(')').concat('*').concat(_secondValue);; - } else { - - _result = '('.concat(_firstValue).concat(')').concat('*').concat('(').concat(_secondValue).concat(')'); - } - } - - _stack.push(_result); - stepsArray.push([_result]); - - } else if (element == '+') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = _firstValue.concat('+').concat(_secondValue); - - _stack.push(_result); - stepsArray.push([_result]); - - } else if (element == '>') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = _firstValue.concat('>').concat(_secondValue); - - _stack.push(_result); - stepsArray.push([_result]); - - } else if (element == '=') { - - let _secondValue = _stack.pop(); - let _firstValue = _stack.pop(); - - let _result = _firstValue.concat('=').concat(_secondValue); - - _stack.push(_result); - stepsArray.push([_result]); - } - } else { - - _stack.push(element); - } - } - - return stepsArray; - // return _stack[0]; -} - - - - - -function InputFormulaFotTruthTable() { - - - let _formulaString = prompt('>>> '); - - - if (_formulaString.search('[!,*,+,>,=]') == -1) { - Error('The programm cant solve given formula. Do you typed everything right?'); - } - - - if (_formulaString.match(/[a-z]/g) != null) { - - _formulaString.match(/[a-z]/g).forEach (element => { - TTVALUESNAMES.add(element); - }) - } else { - Error('The programm cant solve given formula. Do you typed everything right?'); - } - - TTVALUESNAMES.forEach(element => { - TTVALUESCONTENTS.push([element]); - }) - - - let _numColumns = TTVALUESNAMES.size; - - let _numRows = Math.pow(2, _numColumns); - - - - let _rowsContent = new Array(); - - for (let r = 0; r < _numRows; r++) { - - _rowsContent.push(new Array()); - - for (let c = 0; c < _numColumns; c++) { - - _rowsContent[r].push(false); - } - } - - - for (let c = 0; c < _numColumns; c++) { - - let _period = Math.pow(2, _numColumns) / Math.pow(2, c+1); - - let _zeros = true; - - for (let r = 0; r < _numRows; r++) { - - if (_zeros) { - _rowsContent[r][c] = false; - TTVALUESCONTENTS[c].push(false); - } - - if (!_zeros) { - _rowsContent[r][c] = true; - TTVALUESCONTENTS[c].push(true); - } - - if ((r + 1) % _period == 0) { - _zeros = !_zeros; - } - } - } - - // console.log(_rowsContent); - // console.log(TTVALUESCONTENTS); - - - - let _formulaCharArray = ConvertFormulaToCharArray(_formulaString); - - let _result = new Array(); - - for (let i = 0; i < _numRows; i++) { - - let _formula_RPN_Array = ConvertCharArrayToRPNArray(_formulaCharArray, i + 1); - _result.push(SolveRPNFormula(_formula_RPN_Array)); - } - // console.log(_result); - _result.forEach(element => { - - if (element == undefined) { - Error('The programm cant solve given formula. Do you typed everything right?'); - } - }); - - ttformula = _formulaString; - numRows = _numRows; - rowsContent = _rowsContent; - truthTable = _result; - - - console.log(''); - for (let r = 0; r < _numRows; r++) { - - console.log(` ${_rowsContent[r].join(', ')} : ${_result[r]}`); - } - console.log(''); - - ClearTruthTableData(); - - ReturnToMenu(); -} - - - - -const OPERATORS = new Set(['!', '*', '+', '>', '=']); -const BRACKETS = new Set(['(', ')']); - -function GetActionPriority(action) { - - if (action == '!') { - return 5; - } else if (action == '*') { - return 4; - } else if (action == '+' || action == '>' || action == '=') { - return 3; - } else if (action == '(') { - return 2; - } else { - return 0; - } -} - -function GetValueFromIndex(valueIndex) { - - for (let i = 0; i < userValues.length; i++) { - const element = userValues[i]; - - if (element[0] == valueIndex) { - return element[1]; - } - } -} - -function convertToReadableResult(unconverted) { - - return unconverted === true ? '1' : '0'; -} - -function Error(errMsg) { - console.log(` [ERROR] ${errMsg}`); -} \ No newline at end of file diff --git a/Set-Algebra/Complement.png b/Set-Algebra/Complement.png new file mode 100644 index 0000000000000000000000000000000000000000..987ecede4591e1fcd50e17c83024ac92ee76e57d GIT binary patch literal 1926 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 literal 0 HcmV?d00001 diff --git a/Set-Algebra/Substraction.png b/Set-Algebra/Substraction.png new file mode 100644 index 0000000000000000000000000000000000000000..0c454195b7288070c0ada6ee5413d0076d24fbb0 GIT binary patch literal 2264 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 e^h@|a0Pq(W#&tL!QWS6i0000}Vw zn+S1mX`%$&V!$nEo5djqCUp`Ktkl6lXp13703la;i;EK6xSm|%vA?0s+~fE$xBR8|JK znC+9EH|?7tA1tU7YD3c%k{5-@M;)B|$cW*5?}O{ObIFgx`v}c($%*<3SK%4$ zVCRKX7&x%cl&}npANBI(l#7j7I%bAxMTp+ESMfLfVIKXi%V#a}@gpXIP$bt1SriED z+y!4zMQFJvF3gQ~Qii?QHWIK1PX@M&OIre6zQT%&qQ$7pIfqb;Q5ReM2(TFfTY}9H zFb2}kTGLkH{qj10mA0_}vuzY^7{Ga#O-6fetahX%UN?VO$U1=gswzT7I$kI=I*qei zyZ6E(UwGRwoy*2I2MsgstIP<@(So&)+Z@QV$G1nX@ayAe^CL_B!W)yooXuX2q;Ldz zg(e@*LWU-z9n2x3U%89ls~vp(zJbg$v#52_v5S6!E+&SO+R*B}2;)L)EJkuIX&ccH zNwN3!S`%L`-o~~2EwT9Gm9$@%?G-OEsu9D^|8X66k?742i9n)vzhn|3TmDnpM<2Zf ZfIq@P8#BBi5@rAZ002ovPDHLkV1kW{VwC^@ literal 0 HcmV?d00001 diff --git a/Set-Algebra/index.html b/Set-Algebra/index.html new file mode 100644 index 0000000..2d04086 --- /dev/null +++ b/Set-Algebra/index.html @@ -0,0 +1,94 @@ + + + + + + + + + Set Algebra Calculator + + + + + + + +
+ +
+ + +
+ +
+ +
+

Sets

+
+
+

Set A =

+
+
+
+

Set B =

+
+
+
+ +
+ +
+

Problem

+

+
+ + +
+
+
+

Result

+
+
+
+
Define sets: A, B, C, and Universal set. Then write the problem you need to solve.
+
+
+
!
+
Complement
+
+
+
/
+
Intersection
+
+
+
+
+
Union
+
+
+
-
+
Substraction
+
+
+
+
+ +
+
+

Step by step

+
+
+
+ + + + + + + \ No newline at end of file diff --git a/Set-Algebra/script.js b/Set-Algebra/script.js new file mode 100644 index 0000000..b13cfa8 --- /dev/null +++ b/Set-Algebra/script.js @@ -0,0 +1,377 @@ +let maxNum = 26; +let currNum = 2; + +function AddSet() { + + if (currNum < 26) { + + let charNum = 65 + currNum; + currNum++; + + node = document.getElementById('sets'); + node.insertAdjacentHTML('beforeend', `
+

Set &#${charNum} =

+
+
`); + + } else { + alert('You have reached a limint of available sets'); + } +} + +let universalSet = new Set(); + +function Complement(set) { + return (checkEmpty(set)) ? universalSet : Difference(universalSet, set); +} + +function Intersection(set1, set2) { + + let _intersection = new Set(); + + set1.forEach(element => { + if (set2.has(element)) { + _intersection.add(element); + } + }); + + return sortSet(_intersection); +} + +function Union(set1, set2) { + + let _union = new Set(set1); + + set2.forEach(element => { + _union.add(element); + }); + + return sortSet(_union); +} + +function Difference(set1, set2) { + + let _difference = new Set(set1); + + set2.forEach(element => { + + if (_difference.has(element)) { + _difference.delete(element); + } + }); + + return sortSet(_difference); +} + +function sortSet(set) { + let entries = []; + for (let member of set) { + entries.push(+member); + } + set.clear(); + for (let entry of entries.sort((a, b) => a - b)) { + set.add(entry); + } + return set; +}; + +const OPERATORS = new Set(['~', '!', '∩', '/', '∪', '+', '-']); +const BRACKETS = new Set(['(', ')']); + +let SETSNAMES = new Set(); +let SETS = new Array(); + +function Evaluate(hide = false) { + if (hide == true) { + let stepByStep = document.getElementById('stepByStep'); + stepByStep.classList.add('hide'); + } + + FetchSets(); + + let formulaString = document.getElementById('formula').value; + + let charArray = formulaString.split(''); + let RPN_Array = ConvertFormulaCharArrayToRPN(charArray); + + let result = SolveRPNFormula(RPN_Array); + + let readableResult = ConvertToReadableResult(result); + + let resultField = document.getElementById('result'); + resultField.value = readableResult; + + SETSNAMES.clear(); + SETS = new Array(); + universalSet = new Set(); +} + +function ConvertFormulaCharArrayToRPN(chars) { + + let setsStack = new Array(); + let actionsStack = new Array(); + + chars.forEach(element => { + + if (SETSNAMES.has(element)) { + + setsStack.push(GetSetFromIndex(element)); + } + + if (OPERATORS.has(element)) { + + while (GetActionPriority(actionsStack[actionsStack.length - 1]) >= GetActionPriority(element)) { + + let last = actionsStack.pop(); + + if (last != '(') { + setsStack.push(last); + } else { + break; + } + } + + if (actionsStack[0] == undefined || GetActionPriority(actionsStack[actionsStack.length - 1]) < GetActionPriority(element)) { + + actionsStack.push(element); + } + } + + if (BRACKETS.has(element)) { + + if (element == '(') { + + actionsStack.push(element); + } + + if (element == ')') { + + let last = actionsStack.pop(); + + while (last != '(') { + + setsStack.push(last); + last = actionsStack.pop(); + } + } + } + }); + + while (actionsStack[0] != undefined) { + + setsStack.push(actionsStack.pop()); + } + + return setsStack; +} + +function SolveRPNFormula(RPN_Array) { + + let stack = new Array(); + + for (let i = 0; i < RPN_Array.length; i++) { + const element = RPN_Array[i]; + + if (OPERATORS.has(element)) { + + if (element == '~' || element == '!') { + + let currSet = stack.pop(); + let result = Complement(currSet); + + printStep('!', currSet, '', result); + stack.push(result); + } else if (element == '∩' || element == '/') { + + let secondSet = stack.pop(); + let firstSet = stack.pop(); + + let result = Intersection(firstSet, secondSet); + + printStep('/', firstSet, secondSet, result); + stack.push(result); + } else if (element == '∪' || element == '+') { + + let secondSet = stack.pop(); + let firstSet = stack.pop(); + + let result = Union(firstSet, secondSet); + + printStep('+', firstSet, secondSet, result); + stack.push(result); + } else if (element == '-') { + + let secondSet = stack.pop(); + let firstSet = stack.pop(); + + let result = Difference(firstSet, secondSet); + + printStep('-', firstSet, secondSet, result); + stack.push(result); + } + } else { + stack.push(element); + } + } + + return stack[0]; +} + +function FetchSets() { + + let universalArray = new Array(); + + for (let i = 0; i < currNum; i++) { + + let inputField = document.getElementById(`set${i}`); + + let numArray; + if (inputField != undefined && inputField.value.length != 0) { + numArray = inputField.value.split(','); + + numArray.sort(); + + let newSet = new Set(); + + numArray.forEach(element => { + + newSet.add(+element); + universalArray.push(+element); + }); + + SETSNAMES.add(String.fromCharCode(65 + i)); + SETS.push(sortSet(newSet)); + } else { + SETS.push(new Set()); + } + } + + universalSet = sortSet(new Set(universalArray)); +} + + +function GetSetFromIndex(index) { + let unicode = index.charCodeAt(0); + let num = unicode - 65; + + return SETS[num]; +} + +function GetActionPriority(action) { + + if (action == '~' || action == '!') { + return 5; + } else if (action == '∩' || action == '/') { + return 4; + } else if (action == '∪' || action == '+') { + return 3; + } else if (action == '-') { + return 2; + } else if (action == '(') { + return 1; + } else { + return 0; + } +} + +function ConvertToReadableResult(unconverted) { + return (checkEmpty(unconverted)) ? "Empty Set" : Array.from(unconverted).sort((a, b) => a - b).join(', '); +} + +function checkEmpty(set) { + return (set == undefined || set.size == 0) ? true : false; +} + +//----------------------------- Step by Step --------------------------- + +function stepByStep() { + let stepByStep = document.getElementById('stepByStep'); + let clear = document.getElementById('steps'); + clear.remove(); + + step = 0; + stepByStep.classList.remove('hide'); + stepByStep.insertAdjacentHTML('beforeend', `
+

Step by step

+
`); + Evaluate(); +} + +let step = 0; + +function printStep(operation, firstSet, secondSet, result) { + step++; + + let str = ''; + let img = ""; + switch (operation) { + case '!': + str = `!${setToString(firstSet)} = ${setToString(result)}`; + img = "Complement.png"; + break; + + case '/': + str = `${setToString(firstSet)} / ${setToString(secondSet)} = ${setToString(result)}`; + img = "Intersection.png"; + break; + + case '+': + str = `${setToString(firstSet)} + ${setToString(secondSet)} = ${setToString(result)}`; + img = "Union.png"; + break; + + case '-': + str = `${setToString(firstSet)} - ${setToString(secondSet)} = ${setToString(result)}`; + img = "Substraction.png"; + break; + + default: + break; + } + + let steps = document.getElementById('steps'); + steps.insertAdjacentHTML('beforeend', `
+

${step}.

+
+ +
`); +} + +function setToString(set) { + let str = ''; + if (checkEmpty(set)) { + return '{ Empty Set }' + } else { + for (let num of set) { + str += ', ' + num; + } + } + return '{ ' + str.slice(2, str.length) + ' }'; +} + + +//----------------------------- Check Input --------------------------- + +const symbols = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'ArrowLeft', 'ArrowRight', 'Delete']; + +function checkInputSet(key, value) { + if (value[value.length - 1] == ',' && symbols.indexOf(key) !== -1) { + return true; + } else if (symbols.indexOf(value[value.length - 1]) !== -1 && key == ',') { + return true; + } else if (symbols.indexOf(key) !== -1) { + return true; + } else { + return false; + } +} + +const symbols2 = ['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', 'Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', + '-', '+', '/', '!', '(', ')' +]; + +function checkInputProblem(key) { + return (symbols2.indexOf(key) != -1) ? true : false; +} \ No newline at end of file diff --git a/fonts/MyriadPro-Light.ttf b/fonts/MyriadPro-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e40ef34811251f781eddadeed1259d4bc24b54bb GIT binary patch literal 98236 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%0A~Fh@!^qK(4cSb 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 XM$oLtwWfQ^GaCuq7cim?9Nhl{IkKkv literal 0 HcmV?d00001 diff --git a/fonts/MyriadPro-Regular.woff b/fonts/MyriadPro-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..4780932237e9feb3edb66a35ecbeca9558abccab GIT binary patch literal 44524 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 literal 0 HcmV?d00001 diff --git a/img/Boolean-Algebra.png b/img/Boolean-Algebra.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd962f3758006ce03fc50a68c3ea8b931821c3f GIT binary patch literal 2475 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 bN~!+?MHlnFj~b}<00000NkvXXu0mjf^jXxo literal 0 HcmV?d00001 diff --git a/img/favicon.png b/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7e59265ca3dcf30e67b3a629da524c9a186f72 GIT binary patch literal 8939 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..60cee11 --- /dev/null +++ b/index.html @@ -0,0 +1,48 @@ + + + + + + + + + CDM Calculator + + + + + + + +

+ +
+ + +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/style.css b/style.css index 7605b44..d2b992a 100644 --- a/style.css +++ b/style.css @@ -83,8 +83,7 @@ h4, h5, h6 { font-size: 18px; - font-weight: 400; - font-family: Roboto, sans-serif; + font-family: Myriad-L, sans-serif; color: #fff; line-height: 1.2; } @@ -93,7 +92,16 @@ a { color: #fff; } -@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap'); +@font-face { + font-family: Myriad-L; + src: url(fonts/MyriadPro-Light.ttf); +} + +@font-face { + font-family: Myriad-R; + src: url(fonts/MyriadPro-Regular.woff); +} + /* ------------------------------------------------------------------ */ @@ -101,6 +109,7 @@ h1 { color: #fff; margin: 0 auto; margin-bottom: 10px; + letter-spacing: 0.75px; } h6 { @@ -109,6 +118,10 @@ h6 { text-align: center; } +h3 { + letter-spacing: 0.5px; +} + h2 { font-weight: 300; } @@ -171,13 +184,15 @@ body { width: 50%; } -.set { +.set, +.value { width: 90%; margin: 0 auto; padding: 5px; } -#sets, #values { +#sets, +#values { display: flex; flex-direction: column; } @@ -191,6 +206,7 @@ body { .text { margin: auto 0; white-space: pre; + letter-spacing: 0.75px; } .input { @@ -205,7 +221,7 @@ input[type=value] { border: 3px solid rgba(255, 255, 255, 0.2); border-radius: 8px; font-size: 18px; - font-family: Roboto; + font-family: Myriad-R; color: #fff; margin: 5px auto; padding: 0px 0px 0px 10px; @@ -231,7 +247,13 @@ input[type=button] { border-radius: 22px; cursor: pointer; font-size: 18px; - font-family: Roboto; + font-family: Myriad-R; + transition: 1s; +} + +input[type=button]:hover { + background-color: rgba(255, 255, 255, 0.7); + transition: 1s; } input[type=result] { @@ -242,7 +264,7 @@ input[type=result] { color: white; border-radius: 8px; font-size: 18px; - font-family: Roboto; + font-family: Myriad-R; cursor: default; padding: 0px 0px 0px 10px; } @@ -255,7 +277,7 @@ input[type=result] { ::placeholder { color: rgba(255, 255, 255, 0.35); font-size: 18px; - font-family: Roboto; + font-family: Myriad-R; } .addSet, @@ -265,6 +287,7 @@ input[type=result] { .buttons { margin: 0 auto; + display: flex; } .button { @@ -306,6 +329,43 @@ input[type=result] { display: none; } +.input-wrap img { + margin: auto 10px; + height: 50px; +} + + +/* ------------------Main-------------- */ + +.calculator { + display: flex; + flex-direction: column; + margin: 20px auto; + width: 90%; + max-width: 250px; + background-color: rgba(255, 255, 255, 0.3); + border-radius: 20px; + padding: 20px; + transition: 1s; +} + +.calculator img { + height: 100px; + margin: 20px auto; +} + +.calculator:hover { + background-color: rgba(255, 255, 255, 0.5); + transition: 1s; +} + +.calculator h1 { + margin: 0 auto; + text-align: center; + font-size: 23px; + max-width: 200px; +} + @media screen and (max-device-width: 650px) and (min-device-width: 0px) { .wrapper { flex-direction: column; @@ -315,4 +375,11 @@ input[type=result] { width: 85%; margin: 20px auto; } + .buttons { + flex-direction: column; + margin-top: 15px; + } + .button { + margin: 10px auto; + } } \ No newline at end of file