Trabajo Práctico N° 5 | Programacion PHP

Ejercicio N° 1

Crear la clase Persona con las siguientes propiedades:
● nombre
● apellido
● y edad
y siguientes métodos:
● setName, que debe permitir que la propiedad nombre represente su cadena de caracteres en minúscula.
● getName, debe mostrar la cadena de caracteres antes ingresada con la primer letra de cada palabra en mayúscula

				
					// Definición de la clase Persona
class Persona {
    private $nombre;    // Propiedades de la clase
    private $apellido;
    private $edad;

    // Método para asignar el nombre en minúsculas
    public function setName($nombre) {
        $this->nombre = strtolower($nombre);
    }

    // Método para obtener el nombre con la primera letra en mayúsculas
    public function getName() {
        return ucwords($this->nombre);
    }
}
// Ejemplo de uso de la clase Persona
$persona = new Persona();
$persona->setName("john doe");
echo $persona->getName();  // Debería imprimir "John Doe"

				
			

Ejercicio N° 2

Crear la clase Empleado y definir como atributos su nombre y sueldo. Como así también un método inicializar que reciba como dato el nombre y sueldo. También plantear un segundo método que imprima el nombre y un mensaje si debe o no pagar impuestos (si el sueldo supera a 45.000 paga impuestos)

				
					// Definición de la clase Empleado que hereda de Persona
class Empleado extends Persona {
    private $nombre;
    private $sueldo;

    // Método para inicializar los atributos de la clase
    public function inicializar($nombre, $sueldo) {
        $this->nombre = $nombre;
        $this->sueldo = $sueldo;
    }

    // Método que imprime el nombre y si la persona debe o no pagar impuestos
    public function imprimir() {
        echo $this->nombre . ($this->sueldo > 45000 ? " debe pagar impuestos." : " no debe pagar impuestos.");
    }
};
// Ejemplo de uso de la clase Empleado
$empleado = new Empleado();
$empleado->inicializar("John Doe", 50000);
$empleado->imprimir(); // Debería imprimir "John Doe debe pagar impuestos."

				
			

Ejercicio N° 3

Crear la clase CabeceraPagina que permita mostrar un título, indicarle si queremos que aparezca centrado, a derecha o izquierda, además permitir definir el color de fondo y de la fuente. Pasar los valores que cargaran los atributos mediante un constructor.

				
					// Definiendo la clase CabeceraPagina
class CabeceraPagina {
    private $titulo;
    private $align;
    private $colorFondo;
    private $colorFuente;

    // Constructor de la clase, se ejecuta al instanciar un objeto de esta clase
    public function __construct($titulo, $align, $colorFondo, $colorFuente) {
        $this->titulo = $titulo;
        $this->align = $align;
        $this->colorFondo = $colorFondo;
        $this->colorFuente = $colorFuente;
    }

    // Método para mostrar la cabecera en HTML
    public function mostrar() {
        echo "<h1 style='text-align: $this->align; background-color: $this->colorFondo; color: $this->colorFuente;'>$this->titulo</h1>";
    }
}

// Ejemplo de uso de la clase CabeceraPagina
$cabecera = new CabeceraPagina("Mi Página Web", "center", "#FFFFFF", "#000000");
$cabecera->mostrar(); // Mostrará el título de la página centrado, con fondo blanco y texto negro.
?>
				
			

Ejercicio N° 4

Crear un programa que permita obtener 4 notas, el nombre del alumno y calcular la nota final teniendo en cuenta los siguientes porcentajes.
Nota 1…..15%
Nota 2…..20%
Nota 3…..25%
Nota 4…..40%
La sumatoria de los porcentajes de estas notas es igual a la nota final. La clase debe estar estructurada de la siguiente manera:
Nombre de la clase: Alumno
Propiedades:
● nombreAlumno
● nota1
● nota2
● nota3
● nota4
● notaFinal
Metodos:
● calcularNotaFinal()

				
					// Definición de la clase Alumno
class Alumno {
    private $nombreAlumno;
    private $nota1;
    private $nota2;
    private $nota3;
    private $nota4;
    private $notaFinal;

    public function __construct($nombreAlumno, $nota1, $nota2, $nota3, $nota4) {
        $this->nombreAlumno = $nombreAlumno;
        $this->nota1 = $nota1;
        $this->nota2 = $nota2;
        $this->nota3 = $nota3;
        $this->nota4 = $nota4;
    }

    // Método para calcular la nota final
    public function calcularNotaFinal() {
        $this->notaFinal = $this->nota1*0.15 + $this->nota2*0.20 + $this->nota3*0.25 + $this->nota4*0.40;
    }

    // Método para obtener el nombre del alumno
    public function getNombreAlumno() {
        return $this->nombreAlumno;
    }

    // Método para obtener la nota final
    public function getNotaFinal() {
        return $this->notaFinal;
    }
}

$alumno = new Alumno("Juan", 7, 8, 9, 10);
$alumno->calcularNotaFinal();
echo "La nota final de " . $alumno->getNombreAlumno() . " es " . $alumno->getNotaFinal();
				
			

Ejercicio N° 5

Crear una clase llamada TelefonoCelular con las siguientes propiedades: marca, color, sistema operativo, número, numerollamado, estado y haciendollamada. Los métodos van a ser: hacerLlamada, terminarLlamada, apagarCelular y encenderCelular.
Los valores de los atributos son:

marca :Cualquiera del mercado
color: Negro, Azul
sistema operativo: Android, Iphone
número: Es el número de celular
numerollamado: Es el número de celular al que en un momento dado: se está llamando. Si no se está haciendo una llamada este valor debe estar vacío.
estado: Apagado o encendido.
haciendollamada: Para saber si una llamada está en curso. Si o no.

● Crear un constructor con parámetros para inicializar los valores de los
atributos del objeto a crear. El estado inicial es encendido y
haciendollamada en No
● El método hacerllamada debe recibir el número al cual se va a llamar y asignarlo a la propiedad numeroLlamado y debe modificar la propiedad haciendoLlamada a Sí.
● El método terminarLlamada debe modificar las propiedades respectivas.
● El método apagarCelular debe modificar las propiedades respectivas.
● El método encenderCelular debe modificar las propiedades respectivas.
● Cree dos objetos tipo TelefonoCelular llamados celular1 y celular2. Imprima el estado de los dos objetos.
● Debe haber validaciones para por ejemplo no hacer una llamada si el celular está apagado. O hacer otra llamada si está haciendo una llamada.
● Simule el siguiente comportamiento con el celular 1:
    ❖ Apague el celular
    ❖ Haga una llamada
    ❖ Termine la llamada
    ❖ Encienda el celular
    ❖ Termine la llamada
    ❖ Imprima el estado del celular1
● Simule el siguiente comportamiento con el celular2
    ❖ Haga una llamada
    ❖ Imprima el estado del celular2

				
					// Definición de la clase TelefonoCelular
class TelefonoCelular {
    private $marca;
    private $color;
    private $sistemaOperativo;
    private $numero;
    private $numeroLlamado;
    private $estado = 'encendido'; // Estado inicial
    private $haciendoLlamada = 'no'; // Estado inicial

    // Constructor de la clase
    public function __construct($marca, $color, $sistemaOperativo, $numero) {
        $this->marca = $marca;
        $this->color = $color;
        $this->sistemaOperativo = $sistemaOperativo;
        $this->numero = $numero;
    }

    // Método para hacer una llamada
    public function hacerLlamada($numero) {
        if ($this->estado == 'encendido' && $this->haciendoLlamada == 'no') {
            $this->numeroLlamado = $numero;
            $this->haciendoLlamada = 'sí';
        }
    }

    // Método para terminar una llamada
    public function terminarLlamada() {
        if ($this->estado == 'encendido') {
            $this->numeroLlamado = '';
            $this->haciendoLlamada = 'no';
        }
    }

    // Método para apagar el celular
    public function apagarCelular() {
        $this->estado = 'apagado';
        $this->numeroLlamado = '';
        $this->haciendoLlamada = 'no';
    }

    // Método para encender el celular
    public function encenderCelular() {
        $this->estado = 'encendido';
        $this->haciendoLlamada = 'no';
    }

    // Método para obtener el estado del celular
    public function getEstado() {
        return "Marca: $this->marca, Color: $this->color, Sistema Operativo: $this->sistemaOperativo, Número: $this->numero, Estado: $this->estado, Haciendo Llamada: $this->haciendoLlamada";
    }
}

// Creación de dos objetos de la clase TelefonoCelular
$celular1 = new TelefonoCelular("Apple", "Negro", "iOS", "1234567890");
$celular2 = new TelefonoCelular("Samsung", "Azul", "Android", "0987654321");

// Secuencia de acciones con el celular1
$celular1->hacerLlamada("0987654321");
echo $celular1->getEstado() . "\n"; // Debería indicar que está haciendo una llamada

$celular1->terminarLlamada();
echo $celular1->getEstado() . "\n"; // Debería indicar que ya no está haciendo una llamada

// Secuencia de acciones con el celular2
$celular2->apagarCelular();
echo $celular2->getEstado() . "\n"; // Debería indicar que el celular está apagado

$celular2->encenderCelular();
$celular2->hacerLlamada("1234567890");
echo $celular2->getEstado(); // Debería indicar que el celular está encendido y está haciendo una llamada
				
			
(Visited 19 times, 1 visits today)