miércoles, 29 de mayo de 2013

Ciclo for en Java, con Programación Orientada a Objetos

Definir un vector de 5 componentes de tipo float que representen las alturas de 5 personas.
Obtener el promedio de las mismas. Contar cuántas personas son más altas que el promedio y cuántas más bajas.
package alturas;
import java.util.Scanner;  
public class Alturas {
    private Scanner t;
    private float [] alturas;
    private float s=0,pro,summay=0,summen=0;       
    public void inicializar(){
        t=new Scanner(System.in);
        alturas=new float[5];
        for (int i = 0; i < alturas.length; i++) {           
            System.out.println("Ingrese la altura de la persona " + i);
            alturas[i]=t.nextInt();           
        }
    }   
    public void promedio(){
        for (int i = 0; i < alturas.length; i++) {
            s=s+alturas[i];           
        }
        pro=s/alturas.length;
        System.out.println("El promedio es " + pro);
    }   
    public void altbaj(){
        for (int i = 0; i < alturas.length; i++) {
            if(alturas[i]>pro){
                summay=summay+1;
            }else if(alturas[i]<pro){
                summen=summen+1;
            }        
        }
        System.out.println("La cantidad de personas mas altas al promedio: " + summay);
        System.out.println("La cantidad de personas menos altas al promedio: " + summen);
    }   
    public static void main(String[] args) {
        Alturas a= new Alturas();
        a.inicializar();
        a.promedio();
        a.altbaj();
    }
}
Desarrollar un programa que permita ingresar un vector de 8 elementos, e informe:
- El valor acumulado de todos los elementos del vector.
- El valor acumulado de los elementos del vector que sean mayores a 36.
- Cantidad de valores mayores a 50.
package programa;
import java.util.Scanner;
public class Programa {
    private Scanner t;
    private int[] vector;
    private int acum = 0,acum1=0,acum2=1;
    public void inicializar() {
        t = new Scanner(System.in);
        vector = new int[8];
        for (int i = 0; i < vector.length; i++) {
            System.out.println("Ingrese el numero " + i);
            vector[i] = t.nextInt();
        }
    }
    public void acumulado() {
        for (int i = 0; i < vector.length; i++) {
            acum = acum + vector[i];
            if ((vector[i]>=0)&&(vector[i]<=36)) {
                acum1=acum1+vector[i];
            } else if ((vector[i]>37)&&(vector[i]<=50)) {
                acum2++;
            }
        }
        System.out.println("El total de los elementos es: " + acum);
        System.out.println("Suma de los elementos mayores a 36 " + acum1);
        System.out.println("Cantidad de elementos mayores a 50 " + acum2);
    }
    public static void main(String[] args) {
        Programa p = new Programa();
        p.inicializar();
        p.acumulado();
    }
}
Realizar un programa que pida la carga de dos vectores numéricos enteros de 4 elementos. Obtener la suma de los dos vectores, dicho resultado guardarlo en un tercer vector del mismo tamaño. Sumar componente a componente.
package programa;

import java.util.Scanner;

public class Programa {

    private Scanner t;
    private int[] vector1;
    private int[] vector2;
    private int sum1 = 0, sum2 = 0, r;

    public void inicializar() {
        t = new Scanner(System.in);
        vector1 = new int[4];
        vector2 = new int[4];
        System.out.println("Llenado del vector 1");
        for (int i = 0; i < vector1.length; i++) {
            System.out.println("Ingrese el numero " + i);
            vector1[i] = t.nextInt();
        }
        System.out.println("Llenado del vector 2");
        for (int i = 0; i < vector2.length; i++) {
            System.out.println("Ingrese el numero " + i);
            vector2[i] = t.nextInt();
        }
    }

    public void operaciones() {
        for (int i = 0; i < vector1.length; i++) {
            sum1 = sum1 + vector1[i];
        }
        for (int i = 0; i < vector2.length; i++) {
            sum2 = sum2 + vector2[i];
        }
        r = sum1 + sum2;
        System.out.println("El resultado de la suma de los dos vectores es: " + r);
    }

    public static void main(String[] args) {
        Programa p = new Programa();
        p.inicializar();
        p.operaciones();
    }
}
Se tienen las notas del primer parcial de los alumnos de dos cursos, el curso A y el curso B, cada curso cuenta con 5 alumnos.
Realizar un programa que muestre el curso que obtuvo el mayor promedio general.
package alumnos;
import java.util.Scanner;

public class Alumnos {
    private Scanner t;
    private int []cursoa;
    private int []cursob;
    private int s1=0,s2=0;
   
    public void inicializar(){
        t=new Scanner(System.in);
        cursoa=new int[5];
        cursob=new int[5];
        System.out.println("Notas curso A ");
        for (int i = 0; i < cursoa.length; i++) {
            System.out.print("Ingrese la nota del alumno numero "+i +" :");           
            cursoa[i]=t.nextInt();
        }
        System.out.println("Notas curso B ");
        for (int i = 0; i < cursob.length; i++) {
            System.out.print("Ingrese la nota del alumno numero "+i +" :");           
            cursob[i]=t.nextInt();
        }
    }
    public void promedio(){
        for (int i = 0; i < cursoa.length; i++) {
            s1=s1+cursoa[i];           
        }
        for (int i = 0; i < cursoa.length; i++) {
            s2=s2+cursob[i];           
        }       
        if(s1>s2){
            System.out.println("El curso que obtuvo mayor promedio fue el A");
        }else{
            System.out.println("El curso que obtuvo mayor promedio fue el B");
        }
    }
    public static void main(String[] args) {
        Alumnos a =new Alumnos();
        a.inicializar();
        a.promedio();
    }
}

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;
    }
?>