lunes, 17 de octubre de 2022

ARRAY CON PHP


Ejercicios

1. Del siguiente arreglo:
$numbers = [1, 5, 23, 4, 12, 45, 78, 6, 8.2, 26];

Filtrar los números que son mayores a 20.

Solución:
$results = array_filter($numbers, function ($number) {
  return $number > 20;
});

foreach ($results as $result) {
  echo $result;
}

2. Del siguiente arreglo:

$students = [
  [
    'name' => 'Carlos',
    'score' => 12
  ],
  [
    'name' => 'Daniel',
    'score' => 10
  ],
  [
    'name' => 'Sofia',
    'score' => 18,
  ],
  [
    'name' => 'Maria',
    'score' => 11,
  ],
  [
    'name' => 'Alex',
    'score' => 9,
  ]
];

Obtener la lista de estudiantes aprobados y desaprobados.

Solución:

$approved = array_filter($students, function ($student) {
  return $student['score'] >= 11;
});

foreach ($approved as $student) {
  echo $student['name'] . ' ' . $student['score'] . '<br>';
}

$disapproved = array_filter($students, function ($student) {
  return $student['score'] <= 10;
});

foreach ($disapproved as $student) {
  echo $student['name'] . ' ' . $student['score'] . '<br>';
}



lunes, 10 de octubre de 2022

CONFIGURAR LAS VARIABLES DE ENTORNO DE PHP

CONFIGURAR LAS VARIABLES DE ENTORNO PHP

CONFIGURAR LA VARIABLE PHP_HOME

Buscamos Editar las variables de entorno del sistema -> Variables de entorno -> Nueva (Variables del sistema)

Crear Nueva Variable del sistema
Escribiremos en las cajas de texto lo siguiente:
Nombre de variable : PHP7
Valor de variable : 
C:\laragon\bin\php\php-7.4.32-Win32-vc15-x64

Crear Nueva Variable del sistema
Escribiremos en las cajas de texto lo siguiente:
Nombre de variable : PHP8
Valor de variable : 
C:\laragon\bin\php\
php-8.1.10-Win32-vs16-x64



Ahora apuntaremos a una sola versión de PHP
Escribiremos en las cajas de texto lo siguiente:
Nombre de variable : PHP_HOME
Valor de variable : %PHP7%

CONFIGURAR LA VARIABLE PATH
Seleccionamos Path (Variables del sistema) -> Editar -> Nuevo
Escribiremos lo siguiente: 
%PHP_HOME%
Con esto le indicamos que utilizara la versión a la que este apuntando el PHP_HOME.







domingo, 9 de octubre de 2022

RESTAURAR VISUAL STUDIO CODE A VALORES DE FÁBRICA


RESTAURAR VISUAL STUDIO CODE A VALORES DE FÁBRICA

- Desinstalamos totalmente Visual Studio Code

- Abrir la ventana de ejecutar (Tecla [Win] + [R]) Y escribimos:
   %userprofile%\AppData\Roaming
  Buscamos la carpeta Code y la eliminamos.

- Para eliminar las extensiones ir a la ubicacion %userprofile%
  Buscamos la capeta .vscode y la eliminamos.

- Finalmente volvemos a reinstalar VS Code

--------------------------------------------------------------------------------------------------------------
Ruta del Fichero global de atajos de teclado keybindings.json y settings.json

%userprofile%\AppData\Roaming\Code\User

jueves, 6 de octubre de 2022

Ejercicios de Polimorfismo JAVA


Ejercicios de Polimorfismo JAVA
------------------------------------------------

1. Hacer un programa para calcular el área de polígonos (Triángulos y Rectángulos) el programa debe ser capaz de almacenar en un arreglo N triángulos y rectángulos, y al final mostrar el área y los datos de cada uno.

Para ello se tendrá lo siguiente:

Solución:

public abstract class Polygon {
private int numberOfSides;
public abstract double area();

public Polygon(int numberOfSides) {
this.numberOfSides = numberOfSides;
}

public int getNumberOfSides() {
return numberOfSides;
}

public void setNumberOfSides(int numberOfSides) {
this.numberOfSides = numberOfSides;
}

@Override
public String toString() {
return "Polygon{" +
"numberOfSides=" + numberOfSides +
"area=" + area() +
'}';
}
}

public class Rectangle extends Polygon {
  private double side1;
  private double side2;

  public Rectangle(int numberOfSides, double side1, double side2) {
    super(numberOfSides);
    this.side1 = side1;
    this.side2 = side2;
  }

  public double getSide1() {
    return side1;
  }

  public void setSide1(double side1) {
    this.side1 = side1;
  }

  public double getSide2() {
    return side2;
  }

  public void setSide2(double side2) {
    this.side2 = side2;
  }

  @Override
  public double area() {
    return side1 * side2;
  }
}

public class Triangle extends Polygon {
  private double side1;
  private double side2;
  private double side3;

  public Triangle(int numberOfSides, double side1, double side2, double side3) {
    super(numberOfSides);
    this.side1 = side1;
    this.side2 = side2;
    this.side3 = side3;
  }

  public double getSide1() {
    return side1;
  }

  public void setSide1(double side1) {
    this.side1 = side1;
  }

  public double getSide2() {
    return side2;
  }

  public void setSide2(double side2) {
    this.side2 = side2;
  }

  public double getSide3() {
    return side3;
  }

  public void setSide3(double side3) {
    this.side3 = side3;
  }

  @Override
  public double area() {
    double p = side1 + side2 + side3;
    return Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
  }
}

public class Main {
  static Scanner sc = new Scanner(System.in);
  static List<Polygon> polygons = new ArrayList<>();

  public static void main(String[] args) {
    fillPolygon();
    showData();
  }

  public static void fillPolygon() {
    int opcion = 0;
    do {
      System.out.println("Digite que poligono desea:");
      System.out.println("1. Triangulo");
      System.out.println("2. Rectangulo");
      System.out.println("3. Salir");
      System.out.print("Opcion: ");
      opcion = sc.nextInt();

      switch (opcion) {
        case 1:
          fillTriangle();
          break;
        case 2:
          fillRectangle();
          break;
        case 3:
          break;
      }
    } while (opcion != 3);
  }

  public static void fillTriangle() {
    double side1, side2, side3;
    System.out.println("\nDigite el lado1 del triangulo: ");
    side1 = sc.nextDouble();
    System.out.println("Digite el lado2 del triangulo: ");
    side2 = sc.nextDouble();
    System.out.print("Digite el lado3 del triangulo: ");
    side3 = sc.nextDouble();

    Polygon t = new Triangle(3, side1, side2, side3);
    polygons.add(t);
  }

  public static void fillRectangle() {
    double side1, side2;
    System.out.print("\nDigite el lado1 del Rectangle: ");
    side1 = sc.nextDouble();
    System.out.print("Digite el lado2 del Rectangle: ");
    side2 = sc.nextDouble();

    Polygon r = new Rectangle(2, side1, side2);
    polygons.add(r);
  }

  public static void showData() {
    for (Polygon p : polygons) {
      System.out.println(p);
    }
  }
}

2. Diseñe una clase abstracta de nombre Empleado que tenga atributos protegidos para el nombre, apellidos, dni, métodos get-set, métodos abstractos para ingresos(), bonificaciones(), descuentos().

Un método no abstracto que retorne el sueldoNeto() y otro método no abstracto que retorne la información correspondiente al nombre, apellidos, dni, ingresos, bonificaciones, descuentos, sueldo neto de cualquier empleado.
Aplique polimorfismo y diseñe una clase hija de nombre EmpleadoVendedor que tenga atributos para monto vendido y porcentaje de comisión, constructor, métodos get-set, desarrollo de métodos abstractos.
Luego, diseñe una clase hija de nombre EmpleadoPermanente que tenga atributos para sueldo basico y afiliación (afp ó snp), constructor, métodos get-set, desarrollo de métodos abstractos.
Diseñe una clase administradora de nombre ColeccionEmpleados que permita la administración de objetos de tipo EmpleadoVendedor y/o EmpleadoPermanente a la vez, utilizando un objeto de la clase ArrayList.



Solución:

public abstract class Employee {
  private String name;
  private String lastName;
  private String dni;

  public Employee(String name, String lastName, String dni) {
    this.name = name;
    this.lastName = lastName;
    this.dni = dni;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getLastName() {
    return lastName;
  }

  public void setLastName(String lastName) {
    this.lastName = lastName;
  }

  public String getDni() {
    return dni;
  }

  public void setDni(String dni) {
    this.dni = dni;
  }

  public abstract double income();

  public abstract double bonuses();

  public abstract double discounts();


  @Override
  public String toString() {
    return "Empleado{" +
            "name='" + name + '\'' +
            ", lastName='" + lastName + '\'' +
            ", dni='" + dni + '\'' +
            ", income='" + income() + '\'' +
            ", bonuses='" + bonuses() + '\'' +
            ", discounts='" + discounts() + '\'' +
            '}';
  }
}

public class SellerEmployee extends Employee {
  private double amountSold;
  private double commissionPercentage;

  public SellerEmployee(String name, String lastName, String dni, double amountSold, double commissionPercentage) {
    super(name, lastName, dni);
    this.amountSold = amountSold;
    this.commissionPercentage = commissionPercentage;
  }

  public double getAmountSold() {
    return amountSold;
  }

  public void setAmountSold(double amountSold) {
    this.amountSold = amountSold;
  }

  public double getCommissionPercentage() {
    return commissionPercentage;
  }

  public void setCommissionPercentage(double commissionPercentage) {
    this.commissionPercentage = commissionPercentage;
  }

  @Override
  public double income() {
    return amountSold * commissionPercentage;
  }

  @Override
  public double bonuses() {
    return amountSold * 0.15;
  }

  @Override
  public double discounts() {
    return income() * 0.22;
  }
}


public class PermanentEmployee extends Employee {
  private double basicSalary;
  private int membership;

  public PermanentEmployee(String name, String lastName, String dni, double basicSalary, int membership) {
    super(name, lastName, dni);
    this.basicSalary = basicSalary;
    this.membership = membership;
  }

  public double getBasicSalary() {
    return basicSalary;
  }

  public void setBasicSalary(double basicSalary) {
    this.basicSalary = basicSalary;
  }

  public int getMembership() {
    return membership;
  }

  public void setMembership(int membership) {
    this.membership = membership;
  }

  @Override
  public double income() {
    return basicSalary;
  }

  @Override
  public double bonuses() {
    if (membership == 1)
      return basicSalary * 0.13;
    else
      return basicSalary * 0.20;
  }

  @Override
  public double discounts() {
    return bonuses() * 0.10;
  }
}

public class EmployeesCollection {

  List<Employee> employees;

  public EmployeesCollection() {
    employees = new ArrayList<>();
  }

  public int size() {
    return employees.size();
  }

  public void add(Employee e) {
    employees.add(e);
  }

  public void delete(Employee e) {
    employees.remove(e);
  }

  public Employee get(int i) {
    return employees.get(i);
  }
}

public static void main(String[] args) {
    Employee a = new SellerEmployee("Juan", "Perez", "78767574", 300, 5);
    Employee b = new SellerEmployee("Luis", "Garcia", "75747372", 500, 10);

    Employee c = new PermanentEmployee("Raul", "Romero", "54213356", 600, 150);
    EmployeesCollection ec = new EmployeesCollection();
    ec.add(a);
    ec.add(b);
    ec.add(c);
    listar(ec);
  }


public static void listar(EmployeesCollection x) {
    for (int i = 0; i < x.size(); i++) {
      Employee e = x.get(i);
      System.out.println(e);
      if (e instanceof SellerEmployee) {
        System.out.println(((SellerEmployee) e).getAmountSold());
        System.out.println(((SellerEmployee) e).getCommissionPercentage());
      } else {
        System.out.println(((PermanentEmployee) e).getBasicSalary());
        System.out.println(((PermanentEmployee) e).getMembership());
      }
    }
  }







domingo, 2 de octubre de 2022

Ejercicios POO en JAVA

Ejercicios POO en JAVA

1. 
Crear una clase Aeropuerto con los siguientes atributos: nombre(String), direccion(Direccion), Año Inauguración(int), Capacidad(int) y los métodos públicos get/set y el método toString. Considere un constructor explicito con parámetros.
Crear la clase Direccion con los siguientes atributos: Pais(String)
, Calle(String), Numero(int), Ciudad(String) y sus metodos get/set y el metodo toString();
Desarrolle Un método que devuelva el número de años que ha estado abierto el aeropuerto.

Solucion:

public class Aeropuerto {
  private String name;
  private Direccion direccion;
  private int inaugurationYear;
  private int capacity;

  public Aeropuerto(String name, Direccion direccion, int inaugurationYear, int capacity) {
    this.name = name;
    this.direccion = direccion;
    this.inaugurationYear = inaugurationYear;
    this.capacity = capacity;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Direccion getDireccion() {
    return direccion;
  }

  public void setDireccion(Direccion direccion) {
    this.direccion = direccion;
  }

  public int getInaugurationYear() {
    return inaugurationYear;
  }

  public void setInaugurationYear(int inaugurationYear) {
    this.inaugurationYear = inaugurationYear;
  }

  public int getCapacity() {
    return capacity;
  }

  public void setCapacity(int capacity) {
    this.capacity = capacity;
  }

  @Override
  public String toString() {
    return "Aeropuerto{" +
            "name='" + name + '\'' +
            ", direccion=" + direccion +
            ", inaugurationYear=" + inaugurationYear +
            ", capacity=" + capacity +
            '}';
  }

  public int numberOfYearsOpen() {
    return LocalDate.now().getYear() - inaugurationYear;
  }
}


public class Direccion {
  private String pais;
  private String calle;
  private int numero;
  private String ciudad;

  public Direccion(String pais, String calle, int numero, String ciudad) {
    this.pais = pais;
    this.calle = calle;
    this.numero = numero;
    this.ciudad = ciudad;
  }

  @Override
  public String toString() {
    return "Direccion{" +
            "pais='" + pais + '\'' +
            ", calle='" + calle + '\'' +
            ", numero=" + numero +
            ", ciudad='" + ciudad + '\'' +
            '}';
  }
}

public class Main {
  public static void main(String[] args) {
    Direccion d = new Direccion("peru", "calle nueva", 2, "lima");
    Aeropuerto a = new Aeropuerto("Jorge Chavez", d, 1970, 3000);
    System.out.println(a.numberOfYearsOpen());
    System.out.println(a);
  }
}

2. Del ejercicio anterior Agregue la clase Avión con los siguientes atributos: modelo, numero de asientos, velocidad maxima con sus respectivos metodos get/set y toString.
En la clase Aeropuerto incluya como atributo un arreglo de objetos de tipo Avion y actualice sus metodos.
Registre 2 Aeropuertos con sus aviones y Muestre en pantalla los aviones que tienen cada aeropuerto.



Solucion:
public class Aeropuerto{
    private Aviones[] avion;
}

 public static void main(String[] args) {
    Direccion d = new Direccion("peru", "calle nueva", 2, "lima");

    Avion[] x = new Avion[]{
            new Avion("ABC", 300, 1000),
            new Avion("XYZ", 200, 2000)
    };

    Avion[] y = new Avion[]{
            new Avion("SPD", 400, 5000),
            new Avion("WAR", 100, 3000)
    };

    Aeropuerto a1 = new Aeropuerto("Jorge Chavez", d, 1970, 800, x);
    Aeropuerto a2 = new Aeropuerto("Alejandro Velasco", d, 1950, 400, y);
    System.out.println(a1);
    System.out.println(a2);
  }

3. HERENCIA

public class Person {
  private String name;
  private String lastname;
  private int age;

  public Person() {
  }

  public Person(String name, String lastname, int age) {
    this.name = name;
    this.lastname = lastname;
    this.age = age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getLastname() {
    return lastname;
  }

  public void setLastname(String lastname) {
    this.lastname = lastname;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public String showData() {
    return name + "\n" + lastname + "\n" + age;
  }
}


public class Student extends Person {
  private int code;
  private double finalNote;

  public Student(String name, String lastname, int age, int code, double finalNote) {
    super(name, lastname, age);
    this.code = code;
    this.finalNote = finalNote;
  }

  public int getCode() {
    return code;
  }

  public void setCode(int code) {
    this.code = code;
  }

  public double getFinalNote() {
    return finalNote;
  }

  public void setFinalNote(double finalNote) {
    this.finalNote = finalNote;
  }

  @Override
  public String showData() {
    return getName() + "\n" + getLastname() + "\n" + getAge() + "\n" + code + "\n" + finalNote;
  }
}


Student s = new Student("Luis", "Perez", 20, 666, 18);
    System.out.println(s.showData());








Instalar Powershell 7

Instalar Powershell Version 7 -------------------------------------- $> winget search powershell $> winget install Microsoft.Powershe...