miércoles, 17 de mayo de 2017

Como recuperar el acceso a el root de Mysql y acceso a phpMyadmin utilizando EasyPHP bajo Windows

Muchas veces cuando estamos programando y haciendo pruebas utilizando la herramienta EasyPHP, puede que hayamos olvidado la contraseña de acceso al root del servidor Mysql. La solución es muy sencilla y puede ser aplicada a otros tipos de herramientas que monten servidores Mysql, acá los siguientes pasos para solucionar el problema:

1. Matar o detener el servicio MYSQL


       2. Abrir 2 consolas CMD con privilegios administrativos.
       3.  Ir al directorio de instalación MYSQL en ambas consolas de comando, en mi caso:                              C:\Program Files\EasyPHP-5.3.2\mysql\bin
       4.   Ejecutar en una de las consolas el siguiente comando: mysqld --skip-grant-tables &
 5.   Mientras se ejecuta este comando, la consola de comandos actual no aceptara mas comandos               por lo que se continuara con la otra consola de comando que se abrió.
       6.   Ejecutar el siguiente comando: 
               
    mysql>mysql-u root
 


        7.  Continuar ingresando uno a uno los siguientes comandos “en mi caso lo deje sin clave por                   motivos de facilidad, pero no es recomendable hacer esto”:
mysql>use mysql;
mysql>update
user set password=PASSWORD("Tu_CLaveC0mp1ej4") where user='root';
mysql>flush privileges;
mysql>quit;
 

        8.  Finalmente cerrar todas la ventanas de la consola de comandos e iniciar nuevamente los                      servicios:
  



       9.  Si deseas utilizar phpMyadmin debes actualizar la configuración del cambio del la                             contraseña en el archivo: config.inc.php que se encuentra en la ruta: C:\Program                               Files\EasyPHP-5.3.2\phpmyadmin


      10.  Abrir el archivo con cualquier editor de texto y buscar la variable ['password'] = '',                             escribiendo desde dentro de las comillas la contraseña que le pusiste al root, de esta                             manera:

11. Finalmente guardar el archivo de configuración y disfrutar del phpMyAdmin.

lunes, 15 de mayo de 2017

Aplicación java por consola que cuenta caracteres en un String

import java.io.*;

public class busca_chart {
 
 public static void main(String[] args) throws IOException {
  //inicialización variables
  BufferedReader entrada= new BufferedReader(new InputStreamReader(System.in));
  String oracion=null;
  int pos=0 ,cont=0;
  char caracter_buscado='d';
  
  System.out.println("Ingrese la oración a evaluar");//se imprime
  oracion= entrada.readLine();// se lee y se asgina a la variable
  
  //si no se ingresa nada se incializa la oracion
  if(oracion.equals("")){
   oracion="Esternocleidomastoideo"; 
  }
  
  System.out.println("Ingrese el caracter a contar");
  caracter_buscado= (char)entrada.read();// se hace un casteo a caracter  
  
  //se obtiene la primera ocurrencia
  int  prim_ocurrencia = oracion.indexOf(caracter_buscado,pos);  
  //se recorre toda la cadena hasta su tamaño completo
  while(pos != oracion.length()){
   //si se encuentra el caracter buscado se cuenta
   if ((oracion.charAt(pos))== caracter_buscado){
    cont = cont +1;
   }
   pos=pos+1;
  }
  //se imprime los resultados
  if(prim_ocurrencia==-1){
   System.out.println("No hay ocurrencias");
  }else {
   System.out.println("La letra: "+caracter_buscado+" se encuentra: "+cont
     +" veces en la oración: *"+oracion+"* y su primera ocurrencia fue en la posición: "+prim_ocurrencia+1);
  } 
 }
}

Aplicación por consola en java y pascal para saber el tipo de triangulo según la medida de sus lados

En pascal:

PROGRAM TRIANCULOS;
USES
CRT;

VAR
L1, L2, L3: INTEGER;

BEGIN
CLRSCR;

WRITELN ('DIGITE LOS TRES LADOS');

READLN (L1, L2, L3);

    IF (L1=L2) AND (L2=L3) THEN
      WRITELN ('EL TRIANGULO ES EQUILATERO')
    ELSE
        BEGIN
        IF ((L1=L2) AND (L1=L3)) OR ((L2=L3)) THEN
          WRITELN ('EL TRIANGULO ES ISOCELES')
        ELSE
          WRITELN ('EL TRIANGULO ES ESCALENO');
        END;
REPEAT UNTIL KEYPRESSED;

END.


En java:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
//Programado por Juan Mejia
public class triangulo {
 
 static int L1, L2, L3;
 static String repetir="s";
 public static void main(String[] args) { 
    //creamos un buffer que llenara las entradas de System.in
       BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
       
        try{
           do{
              try {
                  System.out.println("Ingrese el lado1");//se imprime
                  L1=Integer.parseInt(entrada.readLine());//se lee variable y luego se asigna
                  System.out.println("Ingrese el lado2");
                  L2=Integer.parseInt(entrada.readLine());
                  System.out.println("Ingrese el lado3");
                  L3=Integer.parseInt(entrada.readLine());
        
                  if((L1==0)||(L2==0)||(L3==0)){
                     System.out.println("Esto no parece ser un triagulo");
                  }else{
                     if((L1==L2)&&(L2==L3)){  
                       System.out.println("EL TRIANGULO ES EQUILATERO");
                     }else if((L1==L2)||(L1==L3)||(L2==L3)){
                       System.out.println("EL TRIANGULO ES ISOCELES");
                     }else{
                       System.out.println("EL TRIANGULO ES ESCALENO"); 
                     } 
                  }
         
              } catch (NumberFormatException e) {
                 //esto captura los errores por convercion numerica o de formato numerico
                 System.out.println("Debe ingresar caracteres numericos para los lados");
              }     
              //verifico si quiere ejecutar nuevamente el programa
              System.out.println("Deseas volver a intentarlo s para continuar otro caracter para finalizar");
              repetir=entrada.readLine();
           }while(repetir.equals("S")||repetir.equals("s"));
           
        }catch (IOException e) {
          //captura errores de entrada
          System.out.println("Error al leer la entrada por consola");
        }
     }         
}

jueves, 11 de mayo de 2017

Ejemplos de algunos métodos de la clase String java

 public class cansado {  
  public static void main (String Args[]){  
   
   String cadena = "hola";  
   String c= "esternocleidomastoideo"; 
   
   //El operado + plicado a string sirve como concatenador  
   cadena = cadena + " mUnDo";  
   System.out.println("Resultado del operador +: "+cadena);  
   
   //cadena.charAt(x) sirve para saber el carater en la posicion x (convierte a caracter la posicion enviada por el parametro)  
   System.out.println("Resultado de charAt: "+cadena.charAt(0));  
  
   //*cadena.startsWith(cadena, pos);  
   //**verifica que el string comparado comience con el caracter o los caracteres enviado en el parametro  
   /*devuelve true o false*/  
   String cadena2= "hola enriqueto";  
   System.out.println("Resultado de startsWith: "+cadena.startsWith("hol"));  
   
   // String.valueOf(12.3) sirve para convertir un tipo de dato a string  
   String var =null;  
   System.out.println("Resultado valueOf: "+ var.valueOf(12.3));  
   
   //cadena.substring(2,7) corta una cadena el ultimo parametro dice hasta donde la corta  
   System.out.println("Resultado substring: "+cadena.substring(2,7));  
   
   //cadena.toUpperCase(); convierte a mayuscula  
   System.out.println("Resultado toUpperCase: "+cadena2.toUpperCase());  
   
   //cadena.toLowerCase()) convierte a minuscula la cadena  
   System.out.println("Resultado toLowerCase(): "+cadena.toLowerCase());  
   
   /**c.indexOf("e",1)  devuelve la posicion de la primera coincidencia del caracter  
   el segundo parametro indica desde que posicion se comenzara a evaluar**/  
   System.out.println("Resultado indexOf: "+c.indexOf('n',0));  
  }
 }

Código Pascal para calcular el área de un rectangulo

program area;

var

   h:integer;
   base:integer;
   r:integer;

  begin
      writeln ('escriba el Altura');
      readln (h);
      writeln('escriba la base');
      readln (base);
      r:=(base*h);
      writeln('el Area es:',r)

  end.


definición de palabras reservadas y operadores:

Program: establece el nombre del programa debe llevar un end al finalizar las instrucciones de dicho programa.
var:  establece las variables de hay en adelante se indican el numero de variables a usar durante todo el ciclo de vida del programa.
integer: tipo de dato entero.
writeln: escribe en consola dejando un espacio al finalizar lo escrito "tecla enter"
Readln: lee de la entrada básica "teclado" en consola hasta el ultimo salto "tecla enter"
:= operador de asignación de valor a una variable.
(* los comentarios van de esta manera*)

jueves, 4 de mayo de 2017

¿Por que compramos lo que compramos? Neuromarketing

En la mayoría de las ocasiones al tomar una decisión no actuamos de forma racional,  dejamos que nuestros sentidos nos engañen y manejen. Es indiscutible que la evolución nos enseño a darle una importancia vital a nuestros sentidos, pues son las entradas de los datos a nuestro sistema. Los sentidos por ejemplo nos ayudaban (antes y ahora) a detectar el peligro o nos reconfortaban con un aroma en el momento en que sentíamos hambre, por lo tanto a pesar de que han pasado muchos años en los que el ser humano ha evolucionado aun es un ser sensorial.

Es importante anotar que dependiendo el individuo hay personas que dan prioridad a un sentido sobre otro, e inclusive podemos hablar que en el género humano,  el hombre es un ser visual y la mujer un ser auditivo. Entonces es correcto afirmar que se nos puede seducir a compra o no, a través de la manipulación de nuestros sentidos.

Nuestros sentidos los cuales están directamente conectados y relacionados con nuestras emociones, son la clave que causan movimientos en nuestras fibras más  interiores, por lo tanto conocer como estas manejas nuestra racionalidad y conducta llevándonos a elegir por ejemplo un producto sobre otro por que nos recuerda en el caso de un hotel el olor de nuestra casa, manejan de manera indirecta y subconsciente nuestra escogencia.

 
Foto tomada de: https://pixabay.com
Estas nuevas técnicas de marketing conocidas como neuromarketing que hacen uso de mensajes sensoriales ocultos, son la clave para el análisis de que productos o servicios se escogerán o cuales se desean que sean escogidos. Sin embargo desde un punto de vista ético también podríamos afirmar que estamos controlando a las personas para que compren lo que queremos que compren. Esto mismo es la causa actual de muchas enfermedades en la población, por ejemplo por anotar una de ellas: el aumento de la diabetes y la obesidad por el consumo desmedido de bebidas azucaradas.

Finalmente se puede concluir que engañando los sentidos cambiamos  la percepción del cerebro, por lo cual encontramos la importancia que tiene el mercadeo como herramienta para aumentar las posibilidades de éxito en nuestros productos gracias al neuromarketing, ya que tomando el ejemplo anterior el alto consumo y escogencia de determinadas bebidas azucaradas no son  productos del azar, si no que son el resultado de planificadas campañas de mercadeo.

jueves, 26 de enero de 2017

Informe laboratorio: Tiro parabólico

Objetivos generales:

El objetivo general es  asimilar los conceptos estudiados sobre tiro parabólico  y compararlos para comprender  mejor como predecimos estos sucesos.

Objetivos específicos:

Son aplicar los conocimientos estudiados en casos de la vida diaria, para entender como la física interactúa con la realidad.
Para ello experimentaremos con problemas que nos ocurren en el diario vivir y trabajaremos con ellos para resolverlos desde el punto de vista físico.

Base teórica

Conceptos

El movimiento de vuelo libre de un proyectil se estudia en términos de sus componentes rectangulares, dado que la aceleración del proyectil siempre actúa en dirección vertical. Para el análisis del movimiento se hacen dos suposiciones:
- La aceleración de caída libre (aceleración de la gravedad: g = 9.81 m/s  es constante en todo el intervalo de movimiento y está dirigida hacia abajo,
- El efecto de la resistencia del aire puede ignorarse, la única fuerza que actúa es el propio peso del proyectil.
Con estas suposiciones, encontramos que la curva que describe un proyectil, que se denomina trayectoria, siempre es una parábola.
La trayectoria se define en el plano x-y de manera que la velocidad inicial: v0 tenga componentes v0x y v0y en los respectivos ejes. Además, las componentes de la aceleración: ax = 0 y ay = -g.














Aplicando las ecuaciones cinemáticas en cada eje:
Movimiento horizontal.- Debido a que ax = 0, se tiene:





La componente horizontal de la velocidad permanece constante durante el movimiento.
Movimiento vertical.- debido a que el eje y positivo tiene dirección vertical hacia arriba, entonces ay = -g, esto nos conduce a las siguientes ecuaciones:








La última ecuación se puede formular eliminando el tiempo t en las dos primeras ecuaciones; por lo tanto, sólo dos de las tres ecuaciones anteriores son independientes entre sí.
  
Formulas:

Movimiento en el eje y



















Movimiento en el eje x















Materiales:

1)   Manguera
2)   Ayudante
3)   Metro
4)   Una llave para abastecimiento de agua (pluma)

Procedimiento 1:

1)   Conecte la manguera a la llave de agua
2)   Mida 1 metro desde el piso de manera  vertical y sostenga la manguera de forma que apunte hacia el frente a un ángulo de 0º
3)  Pídale a su ayudante que abra la llave un numero de vueltas determinado (3 vueltas)
4)   Mida 3.75 m desde el lugar en donde esta la persona con la manguera
5)   Halle el la velocidad inicial, y el tiempo.
6)  Luego coloque la manguera a 2 metros de la horizontal del piso de la misma forma, y halle el tiempo,  máximo del agua
7)   Compare los datos  con los obtenido por medición

Montaje procedimiento 1












Procedimiento 2

1) Tome la manguera  y Acueste la sobre el piso formando un ángulo de con la horizontal del piso de 45º
2) Abra el control del agua el numero de vueltas que dio en el procedimiento 3 (3 vueltas)
3)  Ya teniendo la velocidad con que sale el agua halle el máximo recorrido del agua, y la altura máxima que alcanza el agua.

Montaje de procedimiento 2









Tabla de Datos – procedimiento 1
Distancia de la vertical (y)
Velocidad inicial
Tiempo
Alcance del agua (x)
Cuando vale 1m
8.33 m/seg
0.45 seg
3.75 m
Cuando vale 2m
8.33 m/seg
0.63 seg
5.2479m


Tabla de Datos – procedimiento 2
Angulo
Alcance (R)
Altura máxima (ymax)
velocidad
45º
7.0805m
3.54025 m
8.33 m/seg

Cálculos matemáticos

Procedimiento 1:








Cuando y= 2m
      












Procedimiento 2


                         









Conclusión

Queda como conclusión que utilizando las fórmulas de tiro parabólico y semiparabolico podemos predecir con gran exactitud fenómenos del mismo movimiento que ocurren en la vida diaria y que son muy útiles para muchos aspectos.

Bibliografía

· Física, Serway, Raymond A, edit. Interamericana, México (1985).
· Física, Resnick, Robert; Halliday, David; Krane, Kenneth S, edit. CECSA (1993)
· Física, Tipler, Paul A., edit. Reverté, Barcelona (1978).
· Physics, McCliment, Edward R., edit: Harcourt Brace Jovanovich, Publishers, San
Diego (1984) }
· Physics, Wolfson, Richard; Pasachoff, Jay M. . edit: Little, Brown and Company,
Boston (1987).
· Física I, Mecánica, Alonso, M y Finn E. J., Edit. Fondo Educativo Interamericano,
Bogotá (1976).


martes, 24 de enero de 2017

Código de programa en Turbo pascal para convertir un numero de decimal a binario. (Por linea de comando)

PROGRAM DEBI;

USES CRT;

VAR

A,B,X,Y,I,P:INTEGER;


BEGIN

CLRSCR;

       WRITELN ('ESCRIBA EL NUMERO QUE DESEA PASAR');
       WRITELN ('DE DECIMAL A BINARIO');
       READLN (A);

           IF A=1 THEN
               WRITELN ('1')
           ELSE
              BEGIN
                 IF A=2 THEN
                     WRITELN ('10')
           ELSE
              BEGIN
                  P:=0;

                  WHILE A<>0 DO

                        BEGIN
                         X:= A DIV 2;
                         Y:=A MOD 2;

                         FOR I:= P DOWNTO 1 DO

                              WRITE (Y);
                              P:=P+1;
                              A:=X;
                         END;
                  END;
        END;

END.