CLASE PHP Ejercicios © Nicolás Cenzano Silva RESTAURANTES En el Boulevard del Centro Comercial de Elbonia, los restaurantes le piden a usted crear una página web que cumpla con las siguientes características: Registro e inicio de sesión (login requerido) Realizar la orden al restaurante de forma online1 Permitir que los clientes puedan ordenar varios alimentos. Se le debe avisar al restaurante2 que órdenes ha recibido, en el orden que fueron pedidas. Cada usuario también desea ver su boleta donde salga el detalle de los productos que ordenó y el total a pagar. 1Se le entregará una lista de tamaño N con todos los restaurantes y sus cartas completas en forma de array. Ejemplo: $todoLosRest=array( “El Italiano”=>array(‘Ubicación'=>"Tercer piso - Local 304“, 'Tipo de Comida'=>"Italiana", "Carta"=> array('Ñoquis'=>7000, 'Rissoto'=>7500, ‘Provoleta’=>5000,’Turamisú’=>4000…)), "La Tartaleta”=>array('Ubicación'=>"Primer piso - Local 132“, 'Tipo de Comida'=>"Casera","Carta"=> array('Cazuela'=>5000, 'Ensalada Chilena'=>1500, 'Leche Asada’=>1500,’Piscola’=>2000…)), "Santa Carne”=>array('Ubicación'=>"Tercer piso - Local 316“, 'Tipo de Comida'=>"Asados Carnes","Carta"=> array('Entrecot'=>7000, 'Filete'=>11500, 'Malaya'=>8000,'Vino Tinto (Gran Reserva - copa)’=>4000…)) //muchos más ); 2Será la misma página pero los usuarios serán los nombres de los restaurantes y las contraseñas quedan a su libertad. © Nicolás Cenzano Silva MIS NOTAS La UNE (Universidad Nacional de Elbonia) solicita su ayuda para crear un simulador de notas para sus alumnos, para ello le piden crear una página web donde los alumnos puedan agregar sus notas1 de cada asignatura: Preguntarle al alumno su nombre, correo y claramente sus notas con las respectivas asignaturas y nombre de las evaluaciones a las que pertenece. Mostrarle al alumno sus notas, ordenadas por asignatura (alfabéticamente) con todas las evaluaciones ingresadas con sus respectivas notas. Además se requiere que aparezca el promedio de cada asignatura y el promedio general2. También se deberá mostrar una tabla resumen que indique las asignaturas y el status3. Finamente les dará la opción de “calcular nota”, donde los alumnos podrán ingresar qué porcentaje vale el examen de la asignatura y si reemplaza su peor nota o no, una vez ingresados esos datos, el programa les mostrará que nota requiere como mínimo en el examen para aprobar el curso4. 1Los alumnos tienen N asignaturas y M notas en cada asignatura. 2Para simplificar, se considerará que cada evaluación tiene el mismo porcentaje de ponderación. Para el cálculo de estos promedios se exige el uso de funciones para optimizar el código (disminuir el nivel de complejidad). 3”Aprobado” en color verde si tiene promedio superior o igual a 5.45, “Pendiente de examen” de color amarillo si su promedio es menor a 5.45 pero superior o igual a 2.95 y “Reprobado” de color rojo si tiene un promedio inferior a 2.95. 4El curso se aprueba con nota superior o igual a 3.95. © Nicolás Cenzano Silva ESTACIONAMIENTOS La UNE (Universidad Nacional de Elbonia) solicita su ayuda para crear un simulador de como se comportan los estacionamientos de la Universidad durante el día, específicamente en 3 momentos (mañana, tarde y noche). Los estacionamientos se pueden representar en un mapa de 8 filas y 20 columnas, donde cada fila representa un nivel de estacionamiento (-2,-1,1,2,3…). En la mañana (8:00 A.M), generalmente los estacionamientos se llenan entre un 50% y un 60% de manera aleatoria1. En la tarde (1:30 PM), es natural que entre un 15 y un 25% de los autos que estaban estacionados en la mañana se vayan, y lleguen entre un 70 y 80% utilizando los estacionamientos que antes estaban disponibles2. En la noche (19:30 PM), ya se han ido entre un 60 y un 70% de los autos, mientras que llegan solo entre un 5 y un 10% adicional. Específicamente le piden que cree 3 tablas que representen el estado de los estacionamientos en los tres momentos señalados con anterioridad. *HINT* Se recomienda el uso de funciones para modelar cuando llegan y se van autos, además de la utilización de arreglos asociativos para saber el estado actual de los estacionamientos (cual está ocupado y cual no). 1Se recomienda utilizar una función random para generar este porcentaje de forma aleatoria, el orden de llenado es aleatorio en la UNE, debido a que el estacionamiento tiene múltiples accesos. 2Se refiere a que se utilizan entre un 70 y un 80% de los estacionamientos que quedaban desocupados a las 8:00 AM. © Nicolás Cenzano Silva AJEDREZ La UNJAE (Unión Nacional de Jugadores de Ajedrez de Elbonia) requiere de una página web que les permita monitorear sus torneos de ajedrez, para ello le piden realizar como primera tarea un espacio donde se pueda jugar ajedrez1, le ofrecen dos opciones: Opción fácil: Crear un tablero donde se muestren los 64 casilleros negros y blancos con las fichas de ajedrez en su lugar y se indique el turno de a cual jugador le toca y un selector para que seleccione la pieza que desea mover y hacia donde. Además debe avisar cuando un jugador está sin jugadas, avisando quien pierde y quien gana. Opción difícil: Crear un tablero donde además de mostrar los casilleros con las fichas, pueda hacer click en las fichas y estas muestran los casilleros a donde se pueden mover. Además de mostrar quien gana, el programa debe ser capaz de saber cuando no quedan jugadas disponibles y declarar el juego como “tabla” (empate). Finalmente, se les pedirá que el programa una vez terminada la partida que muestre un cuadro resumen de todas las jugadas realizadas en el orden que fueron ejecutadas2. 1Si requieres información adicional de como jugar ajedrez puedes encontrarla en: http://es.wikipedia.org/wiki/Ajedrez 2Deberá aparecer la pieza que fue movida, desde donde se movió y hacia donde. *HINT* Se recomienda utilizar arreglos para saber que piezas quedan, cuales son destruidas, que casilleros están vacíos y cuales ocupados (y por quién), además de la utilización de funciones para mover piezas y para determinar las jugadas permitidas. © Nicolás Cenzano Silva DOMINÓ Una empresa de alimentos le pide crear una página web que permita a sus clientes jugar Dominó1 mientras están esperando a ser atendidos, para realizar esto se le pide tomar en cuenta los siguientes requisitos: El juego deberá comenzar con un registro de usuarios, identificando el número de jugadores y sus nombres. Desplegar el nombre de quién está jugando y una opción para mostrar y ocultar su mano2. Un botón siguiente para cambiar de jugador. Un tablero completo donde se muestren las fichas jugadas. Cada jugador debe ser capaz de *Opcional*: permitir el juego de 1 vs CPU, creando un jugador ficticio que sea capaz de jugar correctamente tomando la mejor decisión sobre cual ficha jugar para ganar. 1Si requieres información adicional de como jugar dominó puedes encontrarla en: http://es.wikipedia.org/wiki/Dominó 2La mano serían las fichas de dominó de cada jugador. *HINT* Se recomienda utilizar arreglos para saber las manos de los jugadores y las fichas jugadas, además de la utilización de funciones para agregar piezas al tablero, saber si la jugada realizada es correcta y para saber si hay o no una jugada posible. © Nicolás Cenzano Silva
© Copyright 2024