Blog

  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

  • Manual de Usuario de Toyota Tercel en PDF

    Manual de Usuario de Toyota Tercel en PDF

  • Arbol de Expansión Minima Algoritmo de PRIM y KRUSKAL en C#

    Dado un grafo teniendo que ser:

    Conexo: Todo los nodos deben estar conectados
    No Direccionado: Los vértices no tienen dirección

    La finalidad de crear el árbol de expansión mínima es de recorrer todos los nodos con el menor costo posible, es decir se debe enlazar todos los nodos sin que exista ciclos.

    Estos arboles son mayormente utilizados para el diseño de redes de datos, telefonía, etc. para reducir los costos de distancia.

    Programa visual studio c# .net algoritmo de expansión mínima

    El programa trazara el trayecto del algoritmo de expansión mínima.

    Descargar Programa

    https://www.mediafire.com/file/le2o0ggnu7whjb2/Algoritmo_expansion_minima.rar/file

  • Código para evaluar de Infija a Postfija en C++

    Podremos ingresas una ecuación en Infija y podremos convertir a Postfija para poder resolverlo y mostrar el resultado, este código esta en C++, probado en el IDE DEVC++

    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    template <class TIPO>
    class Pila{
    private:
    	class Nodo{
    	public:
    		TIPO dato;
    		Nodo *siguiente;	
    	};
    	
    	Nodo *cima;
    public:
    	Pila();
    	~Pila();
    	void Apilar(TIPO dato);
    	void Desapilar();
    	void Mostrar();
    	TIPO VerCima();
    	bool Vacia();
    };
    template <class TIPO>
    Pila<TIPO>::Pila()
    {
        cima = NULL;
    }
    template <class TIPO>
    void Pila<TIPO>:: Apilar(TIPO dato){
    	Nodo *nuevo;
    	nuevo= new Nodo();
    	nuevo->dato=dato;
    	if(cima==NULL)  
    	{
    		cima=nuevo;
    		cima->siguiente=NULL;
    	}
    	else
    	{
    		nuevo->siguiente=cima;
    		cima=nuevo;
    	}
    }
    
    template <class TIPO>
    void Pila<TIPO>:: Desapilar(){
     		Nodo *p_aux;
     		p_aux = cima; 
     		if(p_aux==NULL || p_aux->siguiente==NULL){
     			cima=NULL;
     		}
     		else
     			cima = p_aux->siguiente;
     		delete p_aux; 
    }
    
    template <class TIPO>
    void Pila<TIPO>::Mostrar(){
    	Nodo *recorrer=cima;
    	cout<<"---Lista de los Nodos--"<<endl;
    	while(recorrer!=NULL){
    		cout<<recorrer->dato;
    		recorrer=recorrer->siguiente;
    	}
    	cout<<endl;
    	cout<<"------------------"<<endl;
    	
    }
    template <class TIPO>
    TIPO Pila<TIPO>::VerCima(){
    	return cima->dato;
    }
    template <class TIPO>
    bool Pila<TIPO>::Vacia()
    {
    	return cima==NULL;
    }
    int prioridad(char op) {
     switch (op) {
      case '^': return 3;
      case '*':
      case '/': return 2;
      case '+': 
      case '-': return 1;
      case ')': return -1;
      default: return 0;
     }
    } 
    
    template <class TIPO>
    Pila<TIPO>::~Pila()
    {
        Nodo *recorrido = cima;
        Nodo *bor;
        while (recorrido != NULL)
        {
            bor = recorrido;
            recorrido = recorrido->siguiente;
            delete bor;
        }
    }
    
    string convertir(string operacion){
    	Pila<char> *pila1;
    	string txtMat=operacion;
    	string posfija="";
    	for(int i=0; i<txtMat.length();i++)
    	{
    		if(txtMat[i]=='(')
    		{
    			pila1->Apilar(txtMat[i]);
    		}
    		else if(isdigit(txtMat[i]))
    		{
    			posfija+=txtMat[i];
    		}
    		else if(txtMat[i]==')') {
    			while(!pila1->Vacia() && pila1->VerCima()!='(' )
    			{
    				posfija+=pila1->VerCima();
    				pila1->Desapilar();
    			}
    			pila1->Desapilar();
    		}
    		else if(txtMat[i]=='+' || txtMat[i]=='-' || txtMat[i]=='*' || txtMat[i]=='/' || txtMat[i]=='^')
    		{
    			while (!pila1->Vacia() && prioridad(txtMat[i]) <= prioridad(pila1->VerCima()) )
    			{
        		 posfija+=pila1->VerCima();
        		 pila1->Desapilar();
    			}
    			pila1->Apilar(txtMat[i]);
    		
    		}
    	}
    
    	while(!pila1->Vacia())
    		{
    			posfija+=pila1->VerCima();
    			pila1->Desapilar();
    		}
    
    	return posfija;
    }
    
    void resolverPosfija(string pPosfija){
    	Pila<double> *pilaResul;
    	string txtPosfija=pPosfija;
    	string aux = "";
    	double op1, op2;
    	for(int i=0; i<txtPosfija.length();i++)
    	{
    		switch (txtPosfija[i]) 
    		{
    			case '^':
        		op2 = pilaResul->VerCima(); pilaResul->Desapilar();
        		op1 = pilaResul->VerCima(); pilaResul->Desapilar();
        		pilaResul->Apilar(pow(op1, op2));
        		break;
        		case '*':
        		op2 = pilaResul->VerCima(); pilaResul->Desapilar();
        		op1 = pilaResul->VerCima(); pilaResul->Desapilar();
        		pilaResul->Apilar(op1*op2);
        		break;
        		case '/':
        		op2 = pilaResul->VerCima(); pilaResul->Desapilar();
        		op1 = pilaResul->VerCima(); pilaResul->Desapilar();
        		pilaResul->Apilar(op1/op2);
        		break;
    			case '+':
        		op2 = pilaResul->VerCima(); pilaResul->Desapilar();
        		op1 = pilaResul->VerCima(); pilaResul->Desapilar();
        		pilaResul->Apilar(op1 + op2);
        		break;
        		case '-':
        		op2 = pilaResul->VerCima(); pilaResul->Desapilar();
        		op1 = pilaResul->VerCima(); pilaResul->Desapilar();
        		pilaResul->Apilar(op1 - op2);
        		break;
    			default:
    			aux = txtPosfija[i];
        		pilaResul->Apilar(atof(aux.c_str()));
        	
        		break;
    		}
    		
    	}
    	cout<<pilaResul->VerCima();
    }
    
    int main(){ 
    
        int op; 
    	string valor="";
    	string converPosfija="";
    	cout<<"Ingrese la funcion en Infija: "<<endl;
    	cin>>valor;
    	cout<<"\n============================="<<endl;
    	cout<<"Conversion en Postfijo: ";
    	converPosfija=convertir(valor);
    	cout<<converPosfija<<endl;
    	cout<<"RESULTADO:  ";
    	resolverPosfija(converPosfija);
    	cout<<"\n============================="<<endl;
    	system("pause");
    
    
  • CodeGraphics version 2.2

    Generador de codigo hexadecimal para matriz de leds.

    Novedades:

    • Nuevo panel de agregacion de codigos
    • Simula animaciones
    • Con la ayuda de las teclas control o shift se puede pintar toda la columna o toda la fila.

    Descargar CodeGraphics

    https://www.mediafire.com/file/lxblj3ltz31c5ln/CodeGraphics_v2.2.rar

  • Archivo Excel Consulta Masiva RUC Sunat 2019

    Les presento una aplicación hecho en excel Para realizar consulta masiva de RUC con la Sunat.
    Para utilizar el aplicativo deben de tener conexión a internet, ya que la consulta lo hace en online desde Excel

    Descargar Archivo Excel AQUI

    busqueda masiva de ruc sunat

  • Sistema de Control Vehicular gratis consumo de combustible y mantenimiento NE vehículos

    Programa para el control vehicular totalmente gratis NEVehículos

    • Registra Conductores
    • Registra Vehiculos
    • Registra Mantenimiento Vehicular
    • Registra Consumo de Combustible

    Tambien realiza reportes de:

    • Mantenimiento
    • Lista de Conductores
    • Lista de Vehiculos
    • Consumo de Vehiculos

    DESCARGAR VERSION 1.0

  • TESIS IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN INALÁMBRICO PARA SISTEMAS SCADA BASADOS EN MICROCONTROLADOR APLICADO A INVERNADEROS.

    Tesis de un sistema scada controlado por dispositivo movil con android para el control en tiempo real de un invernadero.

    [pdf-embedder url="https://nickeugeny.com/wp-content/uploads/2015/05/tesis-sistemas-invernadero-scada-android.pdf%22]

    Descargar

  • PicCal version Android calculadora timer0

    PicCal versión Android.
    Aqui les traigo la calculadora del timer0 es un app en android para dispositivos moviles.
    DESCARGAR PARA MOVIL

    Get it on Google Play

    timer0 microntroladores en android

  • PicCal Calcular temporizador timer0 desbordamiento

    Un pequeño pograma para ayudar a calcular el precarga para desbordamiento del timer0 de los microcontroladores PIC.

    Descargar

    timer0 calcular