Ver índice de contenidos del libro

17.4. Ejercicios

Ejercicio 17.4.1. Escribir una clase TorreDeControl que modele el trabajo de una torre de control de un aeropuerto, con una pista de aterrizaje. La torre trabaja en dos etapas: reconocimiento y acción.

  1. Escribir un metodo reconocimiento, que verifique si hay algún nuevo avión esperando para aterrizar y/o despegar, y de ser así los encole en la cola correspondiente. Para ello, utilizar random.randrange(2).
  2. Escribir un metodo acción, que haga aterrizar o bien despegar, al primero de los aviones que este esperando (los que esperan para aterrizar tienen prioridad). Debe desencolar el avión de su cola y devolver la información correspondiente.
  3. Escribir un metodo __str__ que imprima el estado actual de ambas colas.
  4. Escribir un programa que inicialice la torre de control, y luego llame continuamente a los metodos reconocimiento y acción, imprimiendo la acción tomada y el estado de la torre de control cada vez.

Ejercicio 17.4.2. Atención a los pacientes de un consultorio medico, con varios doctores.

  1. Escribir una clase ColaDePacientes, con los metodos nuevo_paciente, que reciba el nombre del paciente y lo encole, y un metodo proximo_paciente que devuelva el primer paciente en la cola y lo desencole.
  2. Escribir una clase Recepcion, que contenga un diccionario con las colas correspondientes a cada doctor o doctora, y los métodos nuevo_paciente que reciba el nombre del paciente y del especialista, y proximo_paciente que reciba el nombre de la persona liberada y devuelva el próximo paciente en espera.
  3. Escribir un programa que permita al usuario ingresar nuevos pacientes o indicar que un consultorio se ha liberado y en ese caso imprima el próximo paciente en espera.

Ejercicio 17.4.3. Juego de Cartas

  1. Crear una clase Carta que contenga un palo y un valor.
  2. Crear una clase PilaDeCartas que vaya apilando las cartas una debajo de otra, pero sólo permita apilarlas si son de un número inmediatamente inferior y de distinto palo. Si se intenta apilar una carta incorrecta, debe lanzar una excepción.
  3. Agregar el metodo __str__ a la clase PilaDeCartas, para imprimir las cartas que se hayan apilado hasta el momento.
Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.