From 1cf00a57416414eed3bee7c97a211be1f92f65b9 Mon Sep 17 00:00:00 2001 From: AlejandraCP Date: Tue, 7 Nov 2017 12:41:26 -0500 Subject: [PATCH] =?UTF-8?q?mejorando=20indentaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc | 29 +++++++++++++ index.html | 1 + js/app.js | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 .eslintrc create mode 100644 index.html create mode 100644 js/app.js diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..fbb5dc3 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,29 @@ +{ + "parserOptions": { + "ecmaVersion": 6 + }, + "rules": { + "keyword-spacing": 1, + "space-before-function-paren": [1, "never"], + "eqeqeq": 1, + "space-infix-ops": 1, + "comma-spacing": 1, + "brace-style": 1, + "no-multiple-empty-lines": 1, + "camelcase": 1, + "func-call-spacing": 1, + "key-spacing": 1, + "semi": 1, + "no-floating-decimal": 1, + "no-multi-spaces": 1, + "object-property-newline": 1, + "padded-blocks": [1, "never"], + "space-before-blocks": 1, + "space-in-parens": 1, + "spaced-comment": 1, + "quotes": [1, "single"], + "id-length": [1, { "exceptions": ["i", "j", "x"] }], + "indent": [1, 2], + "no-array-constructor": 1 + } +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..01058d8 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +g diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..ecdfb75 --- /dev/null +++ b/js/app.js @@ -0,0 +1,121 @@ +// Cifra un texto mediante el cifrado César. +function cipher() { + // Se obtiene el texto a cifrar. + + var phrase = prompt('Escribe el texto a cifrar'); + + // phrase es convertida a masyúscula y en un array con caracteres separados. + + var phraseToArray = phrase.toUpperCase().split(''); + + // El array vacio, será nuevo array con los caracteres cifrados + newArray = []; + var number; + var numberToLetter; + var returnDecipher; + + // Ciclo que itera por cada elemento del array phraseToArray. + for (var i = 0; i < phraseToArray.length; i++) { + // Si el elemento es un string vacio aparece nuevo prompt. + // Si el elemento parseado es >= a cero aparece nuevo prompt. + if (phrase[i] === ' ' || parseInt(phraseToArray[i]) >= 0) { + var text = 'El texto no debe contener espacios ni números, \n escribe el texto a cifrar.'; + phraseToArray = prompt(text).toUpperCase().split(''); + + // El valor de i debe regresar a cero para volver a iterar por cada caracter. + i = 0; + } + } + + // Ciclo que itera por cada elemento del array phraseToArray. + for (var j = 0; j < phraseToArray.length; j++) { + // Obtiene el valor ASCII de caracter que remplaza al elemento. + number = ((phraseToArray[j].charCodeAt(0) - 65) + 33 % 26 + 65); + + // Si es mayor a 90 se disminuirá en 26 para solo obtener caracteres desde la A a la Z. + if (number > 90) { + number -= 26; + } + + // Convierte en caracter según valor numérico. + numberToLetter = String.fromCharCode(number); + + // Agrega el caracter al array. + newArray.push(numberToLetter); + } + + // Muestra el texto cifrado en un string. + alert('Su texto cifrado es: ' + newArray.join('')); + + // Da opción a descifrar el texto cifrado. + returnDecipher = confirm('¿Desea descifrar el texto cifrado?'); + + // Si acepta, se muestra texto original. + if (returnDecipher) { + alert('Su texto original es: ' + phrase); + } +} + +cipher(); + +// Descifra un texto codificado por el cifrado César. +function decipher() { + // Se obtiene el texto a cifrar. + var phrase = prompt('Escribe el texto a descifrar'); + + // phrase es convertida a masyúscula y en un array con caracteres separados. + var phraseToArray = phrase.toUpperCase().split(''); + + // El array vacio, será nuevo array con los caracteres cifrados + newArray = []; + var number; + var numberToLetter; + var returnDecipher; + + // Ciclo que itera por cada elemento del array phraseToArray. + for (var i = 0; i < phraseToArray.length; i++) { + // Si el elemento es un string vacio aparece nuevo prompt. + // Si el elemento parseado es mayor a cero aparece nuevo prompt. + if (phrase[i] === ' ' || parseInt(phraseToArray[i]) >= 0) { + var text2 = 'El texto no debe contener espacios ni números, \n escribe la frase a cifrar.'; + phraseToArray = prompt(text2).toUpperCase().split(''); + + // El valor de i debe regresar a cero para volver a iterar por cada elemento. + i = 0; + } + } + + // Ciclo que itera por cada elemento del array phraseToArray. + for (var j = 0; j < phraseToArray.length; j++) { + // Obtiene el valor ASCII de caracter que remplaza al elemento. + + number = ((phraseToArray[j].charCodeAt(0) - 65) - 33 % 26 + 65); + + // Si es menor a 65 se suma 26 para solo obtener caracteres desde la A a la Z. + + if (number < 65) { + number = number + 26; + } + + // Convierte en caracter según valor numérico. + + numberToLetter = String.fromCharCode(number); + + // Agrega el caracter al array. + newArray.push(numberToLetter); + } + + // Muestra el texto descifrado en un string. + alert('Su texto cifrado es: ' + newArray.join('')); + + // Da opción a cifrar el texto descifrado. + + returnDecipher = confirm('¿Desea descifrar el texto cifrado?'); + + // Si acepta, se muestra texto cifrado. + if (returnDecipher) { + alert('Su texto original es: ' + phrase); + } +} + +decipher();