From 5ecea9ddfc9d8ad21ca6c129ff870b143bacbfa6 Mon Sep 17 00:00:00 2001 From: Pablo Merla Date: Wed, 25 Sep 2019 18:42:30 -0500 Subject: [PATCH 1/4] Analizador lexico --- analizador_lexico.html | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 analizador_lexico.html diff --git a/analizador_lexico.html b/analizador_lexico.html new file mode 100644 index 0000000..f8d6335 --- /dev/null +++ b/analizador_lexico.html @@ -0,0 +1,39 @@ + + + + + Ejercicio 1 + + + + + + + + \ No newline at end of file From d847ba69a4b497cb9937ee3046198aa814d77eee Mon Sep 17 00:00:00 2001 From: Pablo Merla Date: Wed, 25 Sep 2019 18:42:41 -0500 Subject: [PATCH 2/4] Capicuo --- numero_capicuo.html | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 numero_capicuo.html diff --git a/numero_capicuo.html b/numero_capicuo.html new file mode 100644 index 0000000..be45dac --- /dev/null +++ b/numero_capicuo.html @@ -0,0 +1,65 @@ + + + + + Ejercicio 1 + + + + + + + + \ No newline at end of file From 6b7adcd5444b53a919ab4b07be7c2bd532e97771 Mon Sep 17 00:00:00 2001 From: Pablo Merla Date: Thu, 26 Sep 2019 17:24:12 -0500 Subject: [PATCH 3/4] analizador lexico en js --- analizador_lexico.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 analizador_lexico.js diff --git a/analizador_lexico.js b/analizador_lexico.js new file mode 100644 index 0000000..55e811f --- /dev/null +++ b/analizador_lexico.js @@ -0,0 +1,23 @@ +var ayuda=''; +var cadena=process.argv[2]; +var array= cadena.split('(');//se divide en arreglos; +for(var i=1;i < array.length;i++) + { + var sec=array[i].split(')');//se buscan las coordenadas + var numeros=sec[0].split(',');//se separan los numeros + if(numeros[1] === undefined)//si hay texto con parentesis imprime todo lo que guarda + { + console.log(ayuda+'('+array[i]); + } + if(!isNaN(parseInt(numeros[0])) && !isNaN(parseInt(numeros[1])))//revisa si son numero + { + if(ayuda != '')//si no hay nada guadado, imprime + { + console.log('('+array[i]); + ayuda=''; + } + else{//sino lo mantiene guardado hasta que termine de revisar todo antes + ayuda+='('+array[i];//de otra coordenada + } + } + } \ No newline at end of file From d05c0fb9a02d1d39cbb393e48cc7a7b57a849c0f Mon Sep 17 00:00:00 2001 From: Pablo Merla Date: Thu, 26 Sep 2019 17:24:32 -0500 Subject: [PATCH 4/4] Capicuo en js --- numero_capicuo.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 numero_capicuo.js diff --git a/numero_capicuo.js b/numero_capicuo.js new file mode 100644 index 0000000..a4a370d --- /dev/null +++ b/numero_capicuo.js @@ -0,0 +1,49 @@ +var ok=0; +var n=0; +var numero = process.argv[2]; +var digitos=[]; +var suma=0,tsum=0,temp=0; +var dig_cap=[]; +do{ + if(n === 0) + { + + numero = parseInt(numero);//recuperamos el numero escrito + } + else{ + numero = tsum;//se recupera una suma anterior + } + temp=numero; + + do{//Aqui se usara como cola para sacar digito por digito + digitos.push(numero%10); + numero= (numero - (numero%10))/10; + }while(numero != 0); + var cap=''; + for(var i = 0; i < digitos.length; i++) + { + cap+=digitos[i];//se ingresa cada digito, esto es el capicuo del que se + } //escribio + suma = temp + parseInt(cap); + tsum=suma; + do{ + dig_cap.push(suma%10); + suma= (suma - (suma%10))/10;//se sacan los digitos para luego checar si son iguales + }while(suma != 0); + var mn=0; + for(var i =0;i < dig_cap.length; i++) + { + if(dig_cap[i] == dig_cap[(dig_cap.length-1)-i]) + { //aumenta un contador por cada casilla que cumpla con su contraria + mn+=1; + } + } + if(mn==dig_cap.length)//si es igual se sale, ya que es capicuo + { + ok=1; + } + n+=1; + digitos=[]; + dig_cap=[]; +}while(ok != 1);//hara todo el procedimiento hasta hallar el capicuo +console.log(tsum+" "+n); \ No newline at end of file