miércoles, 29 de mayo de 2013

Declaración de una clase y definición de objetos en Java

En esta ocasión vamos a ver como trabajamos con la definición de clases y la creación de objetos,
el primer ejemplo es:
Confeccionar una clase que permita carga el nombre y la edad de una persona. Mostrar los datos cargados. Imprimir un mensaje si es mayor de edad (edad>=18):
package javayaej1;
import java.util.Scanner;
public class Javayaej1 {
    //declaracion de los atributos de la clase
    private Scanner t;
    private String nombre;
    private int edad;   
    // metodo para inicializar las variables
    public void inicializar(){
        t=new Scanner(System.in);//creacion del objeto t de la clase Scanner
        System.out.println("Ingrese su nombre: ");
        nombre=t.next();       
        System.out.println("Ingrese su edad: ");
        edad=t.nextInt();       
    }
    // metodo para retornar los valores
    public void mayorOmenor(){
        if(edad>18){
            System.out.println(nombre + " Es mayor de edad , con " + edad + " años");
        }else{
            System.out.println(nombre + " Es menor de edad , con " + edad + " años");
        }
    }   
    public static void main(String[] args) {
        // creacion del objeto persona de la clase Javayaej1       
        Javayaej1 persona = new Javayaej1();
        //llamado de los metodos del objeto persona    
        persona.inicializar();//llamado al metodo inicializar       
        persona.mayorOmenor();//llamado al metodo mayoOmenor
    }
}
Otro ejemplo:
Desarrollar un programa que cargue los lados de un triángulo e implemente los siguientes métodos: inicializar los atributos, imprimir el valor del lado mayor y otro método que muestre si es equilátero o no.
package javayaej1;
//llamado de la triangulo Scanner
import java.util.Scanner;
public class triangulo {
    //declaracion de los atributos
    private Scanner t;
    private int ld1,ld2,ld3;
    //declaracion del metodo inicializar
    public void inicializar(){
        t=new Scanner(System.in);
        System.out.println("Ingrese la medida del lado 1: ");
        ld1=t.nextInt();
        System.out.println("Ingrese la medida del lado 1: ");
        ld2=t.nextInt();
        System.out.println("Ingrese la medida del lado 1: ");
        ld3=t.nextInt();
    }
    //declaracion del metodo para probar si es triangulo equilatero   
    public void equilatero(){
        if((ld1==ld2)&&(ld1==ld3)){
            System.out.println("Es un triangulo equilatero");
        }else{
            System.out.println("No es un triangulo equilatero");
        }
    }   
    public void ladoMayor(){
        if((ld1>ld2)&&(ld1>ld3)){
            System.out.println("El lado mayor es: " + ld1);
        }else if(ld2>ld3){
            System.out.println("El lado mayor es: " + ld2);
        }else{
            System.out.println("El lado mayor es: " + ld3);
        } 
    }
    public static void main(String[] args) {
        //creacion del objeto tri
        triangulo tri = new triangulo();
        //se llama los metodos de la clase tri
        tri.inicializar();
        tri.equilatero();      
        tri.ladoMayor();
    }   
}
Otro ejemplo:
Desarrollar una clase que represente un punto en el plano y tenga los siguientes métodos: cargar los valores de x e y, imprimir en que cuadrante se encuentra dicho punto (concepto matemático, primer cuadrante si x e y son positivas, si x<0 e y>0 segundo cuadrante, etc.)
package punto;
//llamado de la clase Scanner
import java.util.Scanner;
public class Punto {
    //declaracion de los atributos
    private Scanner t;
    private int pX,pY;   
    //metodo inicializador   
    public void inicializar(){
        t=new Scanner(System.in);
        System.out.println("Ingrese la cordenada en X: ");
        pX=t.nextInt();
        System.out.println("Ingrese la cordenada en Y: ");
        pY=t.nextInt();
    }   
    //metodo para imprimir y tomar una decision
    public void retornarCuadrante(){
        if((pX>0)&&(pY>0)){
            System.out.println("El punto esta en el Cuadrante 1 ");
        } else if((pX<0)&&(pY>0)){
            System.out.println("El punto esta en el Cuadrante 2 ");
        } else if((pX<0)&&(pY<0)){
            System.out.println("El punto esta en el Cuadrante 3 ");
        } else if((pX>0)&&(pY<0)){
            System.out.println("El punto esta en el Cuadrante 4 ");
        }       
    }   
    public static void main(String[] args) {
        //instancia p de la clase Punto
        Punto p= new Punto();
        //llamado de los metodos
        p.inicializar();
        p.retornarCuadrante();
    }
}
Otro ejemplo:
Desarrollar una clase que represente un Cuadrado y tenga los siguientes métodos: cargar el valor de su lado, imprimir su perímetro y su superficie.
package Cuadrado;
//llamado de la clase Scanner
import java.util.Scanner;
public class Cuadrado {
    //declaracion de los atributos de la clase Cuadrado
    private Scanner t;
    private int l,pe,ar;   
    public void inicializar(){
        t = new Scanner(System.in);
        System.out.println("Ingrese el valor del lado: ");
        l=t.nextInt();
    }   
    public void calcular(){
        ar=l*l;
        System.out.println("El area del cuadrado es: " + ar);
        pe=4*l;
        System.out.println("El perimetro del cuadrado es: "+ pe);
    }  
    public static void main(String[] args) {
       Cuadrado cu= new Cuadrado();
       cu.inicializar();
       cu.calcular();
    }
}
Otro ejemplo:
Confeccionar una clase que represente un empleado. Definir como atributos su nombre y su sueldo. Confeccionar los métodos para la carga, otro para imprimir sus datos y por último uno que imprima un mensaje si debe pagar impuestos (si el sueldo supera a 3000)
package empleado;
import java.util.Scanner;
public class Empleado {
    private Scanner t;
    private String nombre;
    private int sueldo;   
    public void inicializar(){
        t=new Scanner(System.in);
        System.out.println("Digite el nombre del empleado: ");
        nombre=t.next();
        System.out.println("Digite el sueldo: ");
        sueldo=t.nextInt();
    }   
    public void imprimir(){
        System.out.print("El empleado " + nombre+ " gana "+ sueldo);
    }   
    public void pagarImp(){
        if(sueldo>3000){
            System.out.print(" y debe pagar impuestos ");
        }else{
            System.out.print(" y no debe pagar impuestos ");
        }
    }
    public static void main(String[] args) {
        Empleado emp1 = new Empleado();       
        emp1.inicializar();
        emp1.imprimir();
        emp1.pagarImp();
    }
}
Otro ejemplo:
Implementar la clase operaciones. Se deben cargar dos valores enteros, calcular su suma, resta, multiplicación y división, cada una en un método, imprimir dichos resultados.
package operaciones;
import java.util.Scanner;
public class Operaciones {
    private Scanner t;
    private int v1, v2;
    private double div;
    public void inicializar() {
        t = new Scanner(System.in);
        System.out.println("Ingrese el primer valor: ");
        v1 = t.nextInt();
        System.out.println("Ingrese el segundo valor: ");
        v2 = t.nextInt();
    }
    public int suma() {
        return v1 + v2;
    }
    public int resta() {
        return v1 - v2;
    }
    public int multiplicacion() {
        return v1 * v2;
    }
    public void divison() {
        if (v2 == 0) {
            System.out.println("La division por cero no es posible");
        } else {
            div = v1 / v2;
            System.out.println("La division da: " + div);
        }
    }
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        Operaciones op = new Operaciones();
        String dec;
        do {
            op.inicializar();
            System.out.println(" Para suma presione 1 \n Para resta presione 2 \n Para multiplicacion presione 3 \n Para division presione 4");
            System.out.println("Elija una operacion: ");
            int n = teclado.nextInt();
            switch (n) {
                case 1:
                    System.out.println("La suma da: " + op.suma());
                    break;
                case 2:
                    System.out.println("La resta da: " + op.resta());
                    break;
                case 3:
                    System.out.println("La multiplicacion da: " + op.multiplicacion());
                    break;
                case 4:
                    op.divison();
                    break;
            }
            System.out.println("Continuar: S/N");
            dec = teclado.next();
        } while (("s".equals(dec)) || ("S".equals(dec)));
    }
}

Clasicos en Java - Ciclo Do While -

1. Realizar un programa que acumule (sume) valores ingresados por teclado hasta ingresar el 9999 (no sumar dicho valor, indica que ha finalizado la carga). Imprimir el valor acumulado e informar si dicho valor es cero, mayor a cero o menor a cero.
 Scanner t = new Scanner(System.in);
        int num,acumulador=0;      
        System.out.println("Para terminar el programa digite 99999");      
        do{
            System.out.println("Indique un numero: ");
            num=t.nextInt();   
            if(num<99999){                 
            acumulador=acumulador+num;
            }else{
                System.out.println("El programa termino");
            }
        }while(num<99999);
      
        if(acumulador==0){
            System.out.println("El valor acumulado es igual a 0");
        }else if(acumulador>0){
            System.out.println("El valor acumulado es mayor a 0 ");
        }else{
            System.out.println("El valor acumulado es menor a 0");
        }
        System.out.println("El total de la suma de los numeros es: " + acumulador);
2. En un banco se procesan datos de las cuentas corrientes de sus clientes. De cada cuenta corriente se conoce: número de cuenta y saldo actual. El ingreso de datos debe finalizar al ingresar un valor negativo en el número de cuenta.
Se pide confeccionar un programa que lea los datos de las cuentas corrientes e informe:
a)De cada cuenta: número de cuenta y estado de la cuenta según su saldo, sabiendo que:

Estado de la cuenta 'Acreedor' si el saldo es >0.
   'Deudor' si el saldo es <0.
   'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
Scanner t = new Scanner(System.in);
        int numCuenta,acumulador=0,saldo; 
        do{
            System.out.print("Introduzca el numero de cuenta: ");
            numCuenta=t.nextInt();
           
            System.out.print("Introduzca el saldo actual: ");
            saldo=t.nextInt();
           
            if(saldo>0){
                acumulador=acumulador+saldo;
                System.out.println("Es un acreedor");
            }else if(saldo<0){
                System.out.println("Es un deudor");
            }else{
                System.out.println("Esta nulo");
            }
        }while(numCuenta>0);
        System.out.println("El total de saldos acreedores es: " +acumulador);

jueves, 23 de mayo de 2013

Clásicos en JAVA - Ciclo For -

1. Realizar un programa que imprima en pantalla los números del 1 al 100:
        int x;        
        for(x=1;x<=100;x++){
            System.out.print(x+" ♥ ");
        }
2. Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio:
Scanner teclado = new Scanner(System.in);                
        int x,suma=0;        
        
        for(x=1;x<=10;x++){
            System.out.println("Ingrese un numero: ");
            int n=teclado.nextInt();
            suma=suma+n;
        }
        
        System.out.println("La suma es: " + suma);
3. Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio:
Scanner teclado = new Scanner(System.in);
        int x, suma = 0;
        double prom;

        for (x = 1; x <= 10; x++) {
            System.out.print("Ingrese un numero: ");
            int n = teclado.nextInt();
            suma = suma + n;            
        }        
        prom = suma /(x-1);
        System.out.println("La suma es: " + suma);
        System.out.println(prom+" Es el promedio");
4. Encontrar los números divisores de un numero cualquiera:

Scanner teclado = new Scanner(System.in);
        int x, cont1 = 0, cont2 = 0, num1, num2;
        System.out.println("PROGRAMA QUE INDICA LOS 'NUMEROS DIVISORES' DE DOS NUMEROS");
        System.out.print("Indique el primer numero: ");
        num1 = teclado.nextInt();
        System.out.print("Indique el segundo numero: ");
        num2 = teclado.nextInt();
        System.out.println("-----------------------------------");        
        for (x = 1; x <= num1; x++) {
            if (num1 % x == 0) {
                cont1 = cont1 + 1;
                System.out.print( cont1 + " ");
            }
        }
        System.out.println(" Son los divisores de "+ num1);
        System.out.println("-----------------------------------");
        for (int i = 1; i < num2; i++) {
            if (num2 % i == 0) {
                cont2 = cont2 + 1;
                System.out.print(cont2 + " ");                
            }
        }
        System.out.println(" Son los divisores de " + num2);
5. Confeccionar un programa que lea n pares de datos, cada par de datos corresponde a la medida de la base y la altura de un triángulo. El programa deberá informar:
a) De cada triángulo la medida de su base, su altura y su superficie. 
b) La cantidad de triángulos cuya superficie es mayor a 12.


Scanner t = new Scanner(System.in);
        int contador = 0, b, h, s;
        System.out.print("Cuantos triangulos va a medir: ");
        int ct = t.nextInt();
        for (int i = 1; i < ct + 1; i++) {
            System.out.print("Ingrese la base del triangulo " + i + ": ");
            b = t.nextInt();
            System.out.print("Ingrese la altura del triangulo " + i + ":");
            h = t.nextInt();
            s = (b * h) / 2;
            System.out.println("Del triangulo " + i + " \n Su base es       :" + b + " \n Su altura es     :" + h + " \n Su superficie es :" + s);
            if (s >= 12) {
                contador = contador + 1;
            }
        }
        System.out.println("La cantidad de triangulos con superficie superior a 12 es " + contador);
6. Desarrollar un programa que muestre la tabla de multiplicar del 5 (del 5 al 50)

int b=0;   
        for (int i = 5; i < 55; i=i+5) {           
            b=b+1;
            System.out.println("5"+" x "+b+ " = "+i+ " ");
        } 
7. Las tablas de multiplicar hasta el numero que necesite

Scanner t = new Scanner(System.in);
        int b,c;
        System.out.println("Las tablas de multiplicar hasta el : ");
        b=t.nextInt();
        for (int i = 0; i <= b; i++) {
            for (int j = 0; j <= 10; j++) {
                c = j * i;
                System.out.println(i + " x " + j + " = " + c);
            }
            System.out.println();
        }
8. Se realiza la carga de 10 valores enteros por teclado. Se desea conocer: a) La cantidad de valores ingresados negativos. b) La cantidad de valores ingresados positivos. c) La cantidad de múltiplos de 15. d) El valor acumulado de los números ingresados que son pares.
Scanner t = new Scanner(System.in);
        int cont1=0,cont2=0,cont3=0,cont4=0;      
        for (int i = 0; i < 10; i++) {
            System.out.println("Ingrese el numero: " + i);
            int n= t.nextInt();          
            if(n<0){
                cont1=cont1+1;              
            }          
            if(n>0){
                cont2=cont2+1;              
            }          
            if(15%n==0){
                cont3=cont3+1;
            }          
            if(n%2==0){
                cont4=cont4+1;
            }
        }      
        System.out.println("Cantidad valores negativos " + cont1);
        System.out.println("Cantidad valores positivos " + cont2);
        System.out.println("Cantidad multiplos de 15 " + cont3);
        System.out.println("Cantidad numeros pares " + cont4);
9.





miércoles, 22 de mayo de 2013

Clásicos en JAVA - Ciclo While -

1. Realizar un programa que imprima en pantalla los números del 1 al 100.


 int x=0;
        while(x<100){
            x=x+1;
            System.out.println(x);
        }

2. Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta el valor ingresado de uno en uno.



int x=0;
        System.out.println("ingrese un numero");
        int numero=teclado.nextInt();
        
        while(x<numero){
            x=x+1;
            System.out.println(x);
        }

3. Desarrollar un programa que permita la carga de n valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio.

Scanner teclado = new Scanner(System.in);
        int x = 0;
        int total = 0;        
        System.out.println("cuantos numeros va a sumar");
        int totalnumeros = teclado.nextInt();
        while (x < totalnumeros) {
            System.out.print("Numero "+x+" :");
            int numingresado = teclado.nextInt();
            x = x + 1;
            total = total + numingresado;
        }
        int promedio=total/x;        
        System.out.println("La suma de los numeros es: "+total);
        System.out.println("El promedio de los numeros es: "+promedio);

4. Una planta que fabrica perfiles de hierro posee un lote de n piezas.
Confeccionar un programa que pida ingresar por teclado la cantidad de piezas a procesar y luego ingrese la longitud de cada perfil; sabiendo que la pieza cuya longitud esté comprendida en el rango de 1,20 y 1,30 son aptas. Imprimir por pantalla la cantidad de piezas aptas que hay en el lote.

Scanner teclado = new Scanner(System.in);        
        int contador=0;
        int cantPiezas=0;
        double medidaPieza;        
        System.out.println("cuantos piezas va a valorar: ");
        int numPiezas=teclado.nextInt();        
        while (contador<numPiezas) {
            System.out.println("Ingrese la medida de la pieza");
            medidaPieza=teclado.nextInt();
            contador=contador+1;
            if((medidaPieza>=120)&&(medidaPieza<=130)){
                cantPiezas=cantPiezas+1;
            }                    
        }        
        System.out.println("La cantidad de piezas aptas: " + cantPiezas);        

5. Programa que solicite ingresar 10 notas de alumnos y nos informe cuántos tienen notas mayores o iguales a 7 y cuántos menores


Scanner teclado = new Scanner(System.in);
        int notaAlumno;
        int contador = 1;
        int cantAlumnos=0;
        while (contador <= 10) {
            System.out.println("Ingrese la nota del alumno numero " + contador + " :");
            notaAlumno = teclado.nextInt();
            contador = contador + 1;
            if (notaAlumno>=7) {
                cantAlumnos=cantAlumnos+1;
            }            
        }
        System.out.println("La cantidad de alumnos con notas mayores o iguales a 7 es: " + cantAlumnos);

6. Se ingresan un conjunto de n alturas de personas por teclado. Mostrar la altura promedio de las personas.


Scanner teclado = new Scanner(System.in);        
        int numeroAlturas;
        int contador=0;
        int altpersona;
        int suma=0;
        int promedio;        
        System.out.println("Cuantas alturas va a contar: ");
        numeroAlturas=teclado.nextInt();        
        while (contador < numeroAlturas) {
            System.out.println("Ingrese la altura de la persona numero " + contador + " :");
            altpersona=teclado.nextInt();
            contador=contador+1;            
            suma=suma+altpersona;
        }
        promedio=suma/contador;        
        System.out.println("La altura promedio de las personas es: " + promedio);

7. Desarrollar un programa que permita cargar n números enteros y luego nos informe cuántos valores fueron pares y cuántos impares.
Emplear el operador ?%? en la condición de la estructura condicional:
 if (valor%2==0)         //Si el if da verdadero luego es par.

Scanner teclado = new Scanner(System.in);        
        int cantNum,contador=0,numIngresado,cantPares=0,cantImpares=0;        
        System.out.println("Cuantos numeros enteros va a ingresar: ");
        cantNum=teclado.nextInt();        
        while (contador < cantNum) {
            System.out.println("Ingrese el numero: ");
            numIngresado=teclado.nextInt();
            contador=contador+1;
            if(numIngresado%2==0){
                cantPares=cantPares+1;
            }else{
                cantImpares=cantImpares+1;
            }
        }
        System.out.println("Cantidad pares: "+cantPares);
        System.out.println("Cantidad impares: "+cantImpares); 


sábado, 18 de mayo de 2013

Programación Orientada a Objetos en PHP

Bueno, que les puedo contar sobre este tema, pues me parece bastante sencillo y voy a tratar de explicarlo con este pequeño ejemplo:

haber!!!

aquí iniciamos el documento html...por cierto en HTML 5

<!DOCTYPE html>

<html>
la cabeza del documento
<head>
el título de la página
 <title> Practica de creación de objetos </title>
un vinculo a una hoja de estilos, esos están al finalizar la este articulo
      <link type='text/css' rel='stylesheet' href='style.css'/>
el cierre de la etiqueta head o cabeza
</head>
el inicio de la etiqueta body
<body>
apertura de un párrafo
      <p>
        inicio del código php
        <?php
        declaración de la clase
        class Dog{
declaración de los atributos de la clase
            public $numLegs=4;
            public $name;

constructor que inicializa las variables, osea los atributos. Tiene un parámetro llamado nombre que se inicializa o relaciona con el atributo $name con la palabra reservada $this al parámetro del constructor.  
      
            public function __construct($nombre){
                $this->name=$nombre;
            }
este método retorna una cadena de texto      
            public function bark(){
                echo "Woof! ";
            }

este también  pero ojo, aquí se accede a través de la palabra reservada $this al atributo name de la clase

            public function greet(){
                echo "Hola humano mi nombre es:".$this->name;
            }          
        }      
El cierre de los corchetes si se lo dejo para que analise donde empiezan y donde terminan, eso es importante tenerlo presente.

Aquí se crea una instancia de la clase Dog, la primera es $dog1, y la segunda es $dog2. Ahh...!!! Recuerda que en el constructor se relaciono el $nombre con el $name a través de la palabra reservada $this->, pues aquí le colocamos directamente ese parámetro.

        $dog1=new Dog("Barker");
        $dog2=new Dog("Amigo");
       
Ahora, con el objeto creado, accedemos a los métodos de la clase.

        $dog1->bark();
        $dog2->greet();

De aqui para abajo se cierran las etiquetas que abrimos arriba.
        ?>
      </p>
    </body>
</html>

Fácil no?...bueno espero le haya servido de algo.

Aquí esta la hoja de estilos


p {
    color: #8B4513;
    font-size: 20px;
}

domingo, 12 de mayo de 2013

Juego en PHP


Para ejecutar este jueguito, se debe tener el servidor Apache instalado en el PC, para Windows recomiendo el XAMPP en Ubuntu se puede instalar tanto el Apache, como el PHPMyAdmin de manera independiente y trabajarlos directamente desde el navegador.

Bueno, este es el código:
<?php

//se crea un arreglo con nombres al azar
    $arreglo=array("halo","lorena","carolina","melisa","julian");
// la función array_push() agrega un elemento a el arreglo
    array_push($arreglo,"uno");
// la función count() devuelve la cantidad de elementos en el arreglo
    count($arreglo);
// la función sort() ordena de menor a mayor el contenido del arreglo
    sort($arreglo);

// bueno hasta aquí si es pura practica de funciones, aquí viene lo bueno:

// asignamos a variable $numAl el numero entregado por la funcion rand(), que en este caso genera un //número aleatorio entre 0 y 5
    $numAl=rand(0,5);
//con un switch(){ case n:  break;} realizamos la comparación entre el numero generado por la función rand() y lo comparamos con el contenido de la posición del arreglo.

la función strtoupper() entrega en mayúsculas el contenido de la posición que se indica.

    switch($numAl){
        case 0:
            echo "Gana".strtoupper($arreglo[0]);
            break;
        case 1:
            echo "Gana".strtoupper($arreglo[1]);
            break;
        case 2:
            echo "Gana".strtoupper($arreglo[2]);
            break;
        case 3:
            echo "Gana".strtoupper($arreglo[3]);
            break;
        case 4:
            echo "Gana".strtoupper($arreglo[4]);
            break;
        case 5:
            echo "Gana".$arreglo[5];
            break;
    }
?>


sábado, 20 de abril de 2013

FLISOL BOGOTA 2013



Cordial Saludo

Te invitamos a participar de forma gratiuta este 4 de Mayo al Festival Latinoamericano de Instalación de Software Libre - FLISoL Bogotá de 8am a 5pm en las Instalaciones del IDRD. +info: http://flisolbogota.info

Si estás interesado puedes inscribir tu computador o dispositivo móvil (Android) en: http://flisolbogota.info/#instalaciones

Síguenos en las redes sociales


Además tendremos otras actividades que te pueden interesar:

Conferencias: http://flisolbogota.info/#conferencias
Talleres: http://flisolbogota.info/#talleres
CulturaLibre: http://flisolbogota.info/#culturalibre
Hackatón: http://flisolbogota.info/#hackaton

Ayúdanos a Difundir el evento.

Si eres de algún medio de comunicación y tienes algúna pregunta, no dudes en responder este correo.

Adicionalmente te agradeceríamos si pudieras compartir esta información con tus amigos y compañeros.

Tanto el ingreso al evento, asi como la asistencia y participación en cualquiera de las actividades es totalmente libre y gratuita.

No sabes que es FLISoL? Es el Festival Latinoamericano de Instalación de Software Libre y actualmente es el evento de difusión de Software Libre más grande en Latinoamérica. Su principal objetivo es promover el uso del software libre, dando a conocer al público en general su filosofía, alcances, avances y desarrollo. Para tal fin, las diversas comunidades locales organizan simultáneamente eventos en los que se instala software libre y además se ofrecen charlas, ponencias y talleres en torno a la filosofía OpenSource en toda su gama de expresiones: artística, académica, empresarial y social. Más info: Flisol.net

El evento está dirigido a todo tipo de público: estudiantes, académicos, empresarios, entusiastas, trabajadores, funcionarios públicos y aun personas que no poseen mucho conocimiento informático.

Tendrás la oportunidad de instalar software libre en tu computadora, y tal vez encuentres una alternativa ó solución en software libre para ti, tu empresa, colegio, universidad e incluso, para tu gobierno.

Mas información del evento, lugar y fechas: http://www.flisolbogota.info/

Si deseas obtener un comunicado de prensa, por favor dar respuesta a este correo Te invitamos, si estás interesado a que inscribas tu computador o dispositivo movil (Android), para que asistas este 4 de Mayo al Festival Latinoamericano de Instalación de Software Libre - Flisol Bogotá 2013 de 8AM a 5PM (Mas información sobre la ubicación en http://www.flisolbogota.info

Organiza
HackerSpace Bogotá Ubuntu Colombia ALIVE Project Mozilla Colombia Bogota Mesh Red Alternativa de Bogotá

Apoya
Red de Universidades por las TIC Universidad Distrital Francisco José de Caldas - Facultad Tecnológica Alta Consejería TIC Alcaldia de Bogotá

domingo, 14 de abril de 2013

HP Pavilion DV5000

Falla:

Estaba mas lento de lo que se puede llamar lento.

Diagnostico:

Posible daño físico en el disco duro o daño lógico en el sistema operativo.

Solución:

Se revisa el estado del disco duro con el HBCD al igual que la memoria RAM con el Memtest86.
Encontrando que se encuentran en buen estado.
Se procede a realizar mantenimiento general de la maquina encontrando que tenia su buen tapete de mugre en el disipador, luego se formatea reinstalando el Windows XP.

Comentarios:
Este portátil desafortunadamente para nuestros días ya esta un poco (que digo poco...pocaso) desactualizado, y su procesador AMD Turion 64 a 1.70Ghz desafortunadamente se cuelga en ocasiones a pesar de tener unos 526Mb de RAM.

Aquí los drivers para XP: http://h20000.www2.hp.com/bizsupport/TechSupport/ProductList.jsp?lang=es&cc=mx&taskId=135&prodTypeId=321957&prodSeriesId=499885

Aquí el manual de servicio: http://h10032.www1.hp.com/ctg/Manual/c00700959.pdf

Posdata: si sigue al pie de la letra el manual de servicio, no tendra mucha dificultad en desarmarlo, tenga cuidado con la board al extraerla del armario, pues si lo hace mal; corre el riesgo de romperla.

miércoles, 27 de marzo de 2013

Placa Madre VIA P6 M925LR

Que les puedo contar... Mis estudios en el SENA me han echo dejar de lado un poco este blog, pero esta Semana Santa(hay Dios mio, disque Santa!!!), estuve trabajando en dos maquinas, una toco cambiarle la placa madre y la otra solo ajustarle unas cosillas no muy importantes. El hecho es que estuve trabajando en hacer prender a la PLACA MADRE VIA P6 M925LR, la cual tenia varios condensadores soplados y se los cambie, con la gran noticia de que encendió y dio video, el lío es que cuando prende y voy al BIOS se queda pegada allí. Si tiene alguna sugerencia que me ayude para ponerla en marcha bien se lo agradezco...


Saludos desde la tierra...

Si...es vieja...si...pero que caray, es por aprender.
 

viernes, 15 de febrero de 2013

Ubuntu se bloqueo

Vaya, vaya, vaya; con que esas tenemos no?. Entonces el tanque que dice ser nuestro querido GNU/Linux Ubuntu también falla.

La solución es sencilla, antes de ir al botón de apagado de la máquina y tener el riesgo de dañar el disco duro.

Primero hay que ingresar al modo consola:
CTRL + F1, o F2 o F3 o F4 o F5 o F6.


Caray no se asusten.

Luego se loogean con su usuario, en la liniecita esa que titila, jeje, tengan en cuenta que hay que utilizar solo el teclado alfabético junto con los números que el trae, es decir: si su clave tiene números, al usar el teclado numérico no les va ha aceptar la clave.

Después entran como usuario y escriben:

sudo reboot

Vuelven y digitan la clave y el sistema se reiniciara sin ningún lío.

Si desea recibir contenido de mi blog en su e-mail, por favor hágamelo saber a
wipesi@hotmail.com

jueves, 14 de febrero de 2013

Computador no prende

En este caso es una máquina clon.

Falla:
No prende.

Diagnostico:
Se revisa el cable de tensión de la toma a la torre, el cual se encuentra en buen estado.
Se pasa a revisar las tensiones de la fuente realizando pueden para encendido entre los cables verde y negro del conector ATX 24pin, a lo cual la fuente no da encendido.

Solución:
Se procede a cambiar la fuente defectuosa.

Notas:
Al buscar el daño en la fuente defectuosa, se observa el puede de diodos y los condensadores de entrada en buen estado, al igual que no se observan transistores quemados y resistencias en buen estado.
El fusible se encuentra quemado.

Si desea recibir contenido de mi blog en su e-mail, por favor hágamelo saber a
wipesi@hotmail.com

Dado tirado 6000 veces en Java

Bueno, este es un ejercicio sencillo:

Consiste en saber cuantas veces cae uno de los seis lados de un dado.

package dado;
import java.util.Random;
import java.util.Scanner;
public class Dado {
    public static void main(String[] args) {  
        Random cantidadLanzadas=new Random();
        Scanner i= new Scanner(System.in);
        int contador;
        int b=0,c=0,d=0,e=0,f=0,g=0;       
        int lanzadas;
        System.out.println("Indique cuantas veces desea lanzar el dado: ");
        lanzadas=i.nextInt();
        for(contador=0;contador<=lanzadas;contador++){
            cantidadLanzadas.nextInt(6+1);   
            if((cantidadLanzadas.nextInt(6+1))==1){
                b=b+1;
            }else if(cantidadLanzadas.nextInt(6+1)==2){
                c=c+1;
            }else if(cantidadLanzadas.nextInt(6+1)==3){
                d=d+1;
            }else if(cantidadLanzadas.nextInt(6+1)==4){
                e=e+1;
            }else if(cantidadLanzadas.nextInt(6+1)==5){
                f=f+1;
            }else if(cantidadLanzadas.nextInt(6+1)==6){
                g=g+1;
            }
        }      
        System.out.println("Veces del lado 1: "+b);
        System.out.println("Veces del lado 2: "+c);
        System.out.println("Veces del lado 3: "+d);
        System.out.println("Veces del lado 4: "+e);
        System.out.println("Veces del lado 5: "+f);
        System.out.println("Veces del lado 6: "+g);       
    }
}

lunes, 11 de febrero de 2013

Historia del computador

   La Historia del Computador. 5000 años a.C hasta nuestros días. No fue una  tarea fácil, pero se logro.

Si desea recibir contenido de mi blog en su e-mail, por favor hágamelo saber a
wipesi@hotmail.com

miércoles, 30 de enero de 2013

Ciclo While en Java

Estos pequeños programas se construyeron en NetBeans IDE 7.0.1


Este programa calcula el promedio de n cantidad de alumnos con notas mayores o menores a 7



 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pkgwhile;
import java.util.Scanner;
/**
 *
 * @author wilmer
 */
public class While {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        //declaracion de variables
        int suma=0,n1,y,x=1;
        /** Creacion de una instancia de la libreria Scanner*/
        Scanner clase1=new Scanner(System.in);
        //Ingreso por tecado de una solicitud
        System.out.println("Cantidad de alturas a procesar: ");
        //asignacion de la variable y
        y=clase1.nextInt();
        // variable prom inicializada
        int prom=0;
        //inicio del ciclo while
        while (x<=y){
            x=x+1;
            //solicitud de las alturas
            System.out.println("Ingrese la altura: ");
            n1=clase1.nextInt();          
            //calculos
            suma=n1+suma;
            prom=suma/y;          
        }
        //salida del promedio
        System.out.println("Promedio= "+ prom);            
    }
}

Escribir un programa que solicite ingresar 10 notas de alumnos y nos informe cuántos tienen notas mayores o iguales a 7 y cuántos menores.

package pkgwhile;
import java.util.Scanner;
/**
 *
 * @author wilmer
 */
public class While {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner clase1=new Scanner(System.in);      
        int cantalum=0,nota=0,x=0,notmay=0,notmen=0;
        System.out.println("Ingrese la cantidad de alumnos: ");
        cantalum=clase1.nextInt();      
        while(x<cantalum){
            x=x+1;
            System.out.println("Ingrese nota: ");
            nota=clase1.nextInt();
            if(nota>=7){
                notmay=notmay+1;              
            }else{
                notmen=notmen+1;
            }              
        }
        System.out.println("Cantidad alumnos con nota mayor o igual a 7: " + notmay);
        System.out.println("Cantidad alumnos con nota menor a 7: " + notmen);
    }                    
}

En una empresa trabajan n empleados cuyos sueldos oscilan entre $100 y $500, realizar un programa que lea los sueldos que cobra cada empleado e informe cuántos empleados cobran entre $100 y $300  y cuántos cobran más de $300. Además el programa deberá informar el importe que gasta la empresa en sueldos al personal.


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pkgwhile;
import java.util.Scanner;
/**
 *
 * @author wilmer
 */
public class While {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner clase1=new Scanner(System.in);        
        int cantemp=0,sueldo=0,x=0,suelmay=0,suelmen=0,totalapag,cont1=0,cont2=0;
        System.out.println("Ingrese la cantidad de empleados: ");
        cantemp=clase1.nextInt();      
        while(x<cantemp){
            x=x+1;
            System.out.println("Ingrese sueldo: ");
            sueldo=clase1.nextInt();
            if(sueldo<=300){
                cont1=cont1+1;
                suelmay=sueldo+suelmay;              
            }else{
                cont2=cont2+1;
                suelmen=sueldo+suelmen;
            }                          
        }
        totalapag=suelmay+suelmen;
        System.out.println("Cantidad empleados con sueldo menor a 300 " + cont1);
        System.out.println("Cantidad empleados con sueldo mayor a 300 " + cont2);
        System.out.println("Total a pagar                             " + totalapag);
    }                      
}


Si desea recibir contenido de mi blog en su e-mail, por favor hágalo saber a
wipesi@hotmail.com

domingo, 27 de enero de 2013

Epson Stylus Office TX620fwd WD

Caray que cosas, no?

Error:
Al ejecutar la secuencia de inicio y testeo botaba error al cargar la hoja y esta se detenía sin terminar su recorrido, cosa que no debía suceder.

Diagnostico:
Posible daño en uno de los sensores o daño en el sistema de arrastre interno.

Solución:

Cambio de posición de los engranes de la bandeja de atasco.

Comentarios:
Resulta que al sacar el carro que permite extraer la hoja en caso de atasco, los engranes por alguna razón  según comenta el cliente, saltaron y el los acomodo según el creyó.
El tema es que para verificar su correcto funcionamiento, se debe observar como es que funcionan, y para ello se debe prácticamente desarmar toda la impresora (cuestión que han mejorado en Epson, bueno al menos con este diseño), quitar con mucho cuidado la bandeja superior que lleva el scaner.
Luego volver a buscar el correcto ensamblaje de estos engranes y mirar que la lógica de los dientes sea la correcta.
Volver a ensamblar y tener mucho cuidado con las conexiones de la board, pues al conectarlos mal se puede correr el riesgo que la impresora quede dañada por siempre.
Debido a que los engranes quedaban sueltos, le agregue una cuña que asegura todo el conjunto.


A pesar de que los controladores vienen por defecto en la pagina de Epson para Windows XP en adelante, presento dificultades en mi Windows 7 Home Basic a 32 bits, pues después de instalarlos el sistema arrojaba nuevamente la solicitud de instalar bien el programa.
En Ubuntu no tiene ningún lío, solo ir a configuración de sistema y agregarla con pocos siguientes, cosa que me alegra muchísimo saber la facilidad de instalación en este S.O.


Si desea recibir contenido de mi blog en su e-mail, por favor hágalo saber a
wipesi@hotmail.com



sábado, 26 de enero de 2013

Probar el teclado

Este software me llego gracias a una excelente fuente, se trata de un programa que se llama keyboardtest.
* Que hace?
Pues quizás el mismo nombre lo indique, testeo del teclado.
* Y para que me sirve?
Sencillo, hay ocasiones en los que no estamos seguros de la salud de nuestro teclado ni de nuestro mouse, en los equipos portátiles es importante cuando estos fallan, y lo mismo sucede con nuestro equipo de escritorio.

Este software viene diseñado para Windows, para GNU/Linux existe otra aplicación que también cumple la misma función, solamente que mi dichosa cabeza en estos momentos no me ayuda mucho.
Bueno, la instalación en Windows es el tradicional siguiente, siguiente. Finalmente, tiene como característica principal el hecho de venir de prueba por un período de 30 días, tiempo mas que suficiente para hacer las pruebas en nuestro teclado.


Mientras se va pulsando cada tecla, se va poniendo en verde, lo cual indica que dicha tecla se encuentra bien, en caso contrario pues esta mal (xD).
Bueno, el modelo viene en ingles, pero funciona a la perfección en el teclado en español. Es de entender que las teclas "especiales" de nuestro teclado de marca no las tenga, pues viene diseñado para un teclado genérico.

En la parte superior izquierda esta una casilla que dice Keyboard type, allí un menú desplegable entrega las opciones que mas se acercan a nuestro caso.

El vinculo de la descarga: http://www.passmark.com/products/keytest.htm


Si desea recibir contenido de mi blog en su e-mail, por favor hágalo saber a
wipesi@hotmail.com


viernes, 18 de enero de 2013

Windows 3.1

Un emulador de Windows 3.1, que cosas no?

Pues para aquellos que quieran ver como era el tema con la versión 3.1 de Windows en esta pagina lo pueden hacer...

Es sencilla, aunque sin mucho adorno...claro...propio de 3.1. De clic sobre la imagen y lo lleva a la pagina en cuestión.


Curioso el navegador que coloco el autor de la pagina.

Si desea recibir contenido de mi blog en su e-mail, por favor hágalo saber a
wipesi@hotmail.com


martes, 8 de enero de 2013

Escritorios de Ubuntu

Pues que les puedo decir...que estoy mas contento que niño de 7 años con juguete nuevo, en estos días estaba probando los dichosos tipos de escritorio de Ubuntu, cada uno con sus defectos y virtudes pero valla que son cada uno como las lindas mujeres de mi patria Colombia, cada una con su propio sabor, color y cuerpo. Je je xD.

Bueno, comienzo por contarles sobre Unity


Este escritorio fue la nueva apuesta de la gente de Canonical por realizar algo distinto, y créanme que lo lograron, se destaca su barra derecha (que en estos momentos no recuerdo como se llama), pero esencialmente carga los iconos de los programas principales que uno como usuario utiliza, ademas de una barra en la parte de arriba que creo heredo de Gnome 2x, bueno en fin...al ubicarse sobre el icono de Ubuntu y dar clic o pulsar la tecla de "Super" (la de Windows), sale un menú bastante interesante, pues con sencillas opciones uno puede acceder de manera rápida a los documentos y programas mas usados sin buscarlos demasiado, me he encontrado con que necesita una buena tarjeta gráfica  y pues en mi equipo no he tenido demasiados problemas con el, pues según un test que realice tiene una integrada de 256. Jeje xD.

Ahora bien la apuesta de los "manitos", Gnome 3.0


Aprender a entender este escritorio es toda una aventura muy emocionante y gratificante, se aprende demasiado, igual que en Unity carga en la parte de arriba una barra que trae en su izquierda una palabra que dice "Actividades", en el centro la hora con la posibilidad de cargar inmediatamente una agenda y en la parte derecha las opciones de configuración del cliente de correo, la red y demás.

Lo que llama la atención de este escritorio es precisamente que cuando se pasa el puntero del ratón por la palabra "Actividades", se muestra una barra de programas en la parte izquierda como la que se ve aquí  nuevamente emulando a Unity en ese aspecto, pero cargando todas las ventanas de los programas que uno tenga abiertos en uno de los escritorios.

Igualmente tiene la opción de encontrar los mas usado de una manera fácil  para mi una excelente opción a la tradición de escritorios privativos, aunque a Don Richard Stallman no le haya agradado mucho.

Por ultimo, una opción ya conocida, KDE


Como dijo Amparito Grisales, me erizo...jajaja...xD.

Su interfaz es muy fresca, rápida y amable;  con el desafortunado recordatorio de el Sistema Operativo de Microsoft (aunque con Windows 8 "disque cambiaron? todavía no me convencen ) posiblemente este pequeño detalle sea lo que permite una fácil interacción entre el usuario y este escritorio.

Igualmente llama la atención el echo de tener unos colores parecidos a los de Mac OS, aunque definitivamente no iguales; no se si inmerso en la creación de este escritorio esta la combinación entre esos dos sistemas operativos (Windows y Mac OS) en GNU/Linux por parte de los creadores, eso se los dejo a su imaginación.

Les cuento que mi hermanito tiene en su PC un Windows XP y ha estado mirando las pruebas que estaba haciendo con mi Ubuntu 12.04 probando los dichosos escritorios y cuando puse Unity dijo:"Eso es Ubuntu?", cuando puse Gnome 3.0 dijo:"Esta como raro, pero bonito", y cuando probé con KDE dijo:"Ese si esta mejor".
Aclaro que el no tiene ni idea del tema de los computadores y menos de Sistemas Operativos y GNU/Linux.

Finalmente, en verdad lo invito a probar GNU/Linux en sus múltiples sabores, yo por ahora estoy con Ubuntu 12.04 sacandole jugo a mi DualCore de 1.6Ghz, en verdad que:
Windows no es malo, sencillo es privativo y toca tener un antivirus.
Mac OS tampoco es malo, sencillo es privativo, aunque mejor diseñado, también con un pequeño antivirus.
GNU/Linux es el tanque de guerra, el avión anti-radar, el sub-marino atómico in-detectable.

Espero ir realizando videos con cada uno de ellos, para que vean su funcionamiento y demás.


Si desea recibir contenido de mi blog en su e-mail, por favor hágalo saber a
wipesi@hotmail.com