Computación I – Profesor: Nelson Baloian – Ensayo Control 3 Auxiliares: Mauricio Giadach – Nicolás Ulriksen Problema Nº1 Escriba los métodos de la clase Polinomio de acuerdo a la siguiente representación que guarda los términos en nodos de una lista enlazada que contienen el coeficiente y el exponente y sin orden alguno: class Polinomio: def __init__ (self): self.primero = None def agregarTermino (self, potencia, coef): ... # agrega termino al polinomio: coeficiente*x^potencia def valor (seld, x): ... # evalua el polinomio en x class Nodo: def __init__ (self, x, y, z): self.potencia = x self.coeficiente = y self.sgte = z Problema Nº2 Una tabla de enteros de dos dimensiones con el mismo número de filas y de columnas se manipula a través de los métodos siguientes: T=Tabla(8) inicializa con ceros la Tabla T de 8 filas y 8 columnas (numeradas entre 1 y 8) T.poner(9,4,3) Pone un nº 9 en la fila 4 y columna 3 de la tabla T.columna(9,4) Busca el nº 9 en la fila 4 y entrega el nº de la columna (o 0 si no está). En el ej: 3 T.fila(9,3) Busca el nº 9 en la columna 3 y entrega el nº de la fila (o 0 si no está). En el ej: 4. a) Escriba la función fila suponiendo que un objeto de la clase Tabla se representa por una lista de listas. def fila(x,columna): #busca x en columna. Entrega nº de fila o 0 b) Escriba la función columna suponiendo la siguiente representación de un objeto de la clase Tabla:Ejemplo: T=[(fila,col,valor), …] def columna(x,fila): #busca x en fila. Entrega nº de columna o 0 Problema N°3 La siguiente tabla define los métodos disponibles en la clase Cola __init__(self) poner(self, x) sacar() __str__() Constructor que inicializa una cola vacía (sin datos) de strings Agrega string x al final de la cola (devuelve False si no hay espacio) Saca y entrega primer valor de la cola (None si está vacía) Entrega string con todos los valores en la cola (separados por espacios) a) Escriba el método poner (de la clase Cola) suponiendo que la representación es una lista de strings A y las variables enteras i (índice de primero), j (índice de último), n y max. Ejemplo: … “27” … A[i] … “32” A[j] ... n: nº de Strings en el arreglo a (ej: 6) ... A[99] max: nº máximo de datos en el arreglo a (ej:100) def poner(self, x): b) Escriba sacar suponiendo que la representación es una lista enlazada de nodos de clase N: class N: def __init__ (self, x, y): self.value = x; self.next = y Ejemplo: “27” “28” first value next def sacar(self): ... “32 “ null last