Practica7 Tipos

Páginas: 5 (1079 palabras) Publicado: 21 de junio de 2015
Tipos de Datos Compuestos
data Nota = Maestria Char |Cato Int Int|Umss Int
1. Definir una función que reciba una nota y devuelva verdad (True) si esta es de la Católica
2. Definir una función que reciba una nota y devuelva el valor de la evaluación continua si esta es de la Católica, en otro caso devolver no se aplica
3. Definir una función que reciba una lista de notas y devuelva únicamentelas notas de aprobación
4. Definir una función que reciba una lista de notas y las devuelva ordenadas (suponer que una nota de San Simón es menor a un nota de la Cato que a su vez es menor que una nota de Maestría)
5. Inventar 3 tipos de datos compuestos, para cada tipo inventar 3 funciones que se apliquen al mismo
6. Definir una función que reciba 4 número y devuelva la suma del mayor de los 2primeros con el mayor de los 2 siguientes utilizar la función mayor definida
data Rpta = Entero Int| Mensaje String
mayor x y | x > y = Entero x
| y > x = Entero y
| otherwise = Mensaje “Iguales”

7. (45%) Sea el tipo de datos
data Palo = Corazon | Espada | Diamante | Trebol
data Carta = Naipe Palo Int| Comodin
Definir una función frecuencia que reciba una lista de cartas y retorne lacantidad de cartas que hay de cada palo, así como la cantidad de comodines.
frecuencia::[Carta] -> [(String,Int)]
Ejermplo:
frecuencia [Naipe Corazon 2, Naipe Trebol 4, Naipe Corazon 5,
Naipe Espada 5, Comodin, Naipe Corazon 1,Comodin]
=> [(“Corazon”,3),(“Diamante”,0),(“Trebol”,1),(“Espada”,1),(“Comodin”,2)]
8. Definir un tipo de datos para representar billetes en euros, dólares ybolivianos. Utilizando este tipo, y los tipos sinónimos Billetera, Persona:
data Billete = Dolares Int | Bolivianos Int | Euros Int
data Billetera=[Billete]
data Persona=String
a) Definir una función que reciba una lista de pares (persona, billetera) y retorne la persona que tiene más plata en su billetera.
b) Añadir a la clase Ord el tipo Billete

9. Sea el siguiente tipo de datos:
data Empleado =Docente Nombre Horas SueldoHra Materias
| Administrativo Nombre Salario Cargo
type Nombre=String
data Horas=Int -- total de horas por mes
data SueldoHora=Float -- sueldo por hora
data Salario=Float -- salario mensual de el empleado
data Materia= [String] -- materias que dicta el docente
data Cargo=String -- cargo del administrativo
a) Definir una función quereciba dos empleados y devuelva verdad si ambos tienen el mismo ingreso mensual pero uno es docente y el otro es administrativo.
b) Definir una función que reciba una lista de empleados y devuelva el nombre del docente que dicta mayor cantidad de materias.
c) Definir una función que reciba una lista de empleados y devuelva el nombre del empleado que tiene mayor salario mensual.
d) Definir una funciónque reciba un empleado (e) y una lista ordenada ascendentemente de acuerdo al ingreso mensual percibido (ls) y que inserte e en ls en la posición que le corresponde, de modo que la lista resultante siga ordenada.
e) Definir una función que reciba una lista de empleados y devuelva la lista ordenada ascendentemente por ingresos mensuales del empelado.
Tipos de Datos Recursivos

1. Definir unafunción que reciba dos listas xs, ys (del tipo Lista a) y devuelva cuantas veces ocurre xs en ys.
2. Definir un tipo de datos para modelar árboles que se bifurcan en tres y guardan información únicamente en las hojas. Utilizando este tipo definir funciones para:
a. Calcular el total de hojas
b. Calcular el total de nodos no terminales
c. Calcular la sumatoria de las hojas.
d. Comparar dos árboles.
e.Comparar una lista de árboles y devolver verdad si todos son iguales.

3. Definir un tipo de datos para modelar árboles que se bifurcan en tres y guardan información en los nodos no terminales y en las hojas. Utilizando este tipo definir funciones para:
a. Calcular el total de hojas
b. Calcular el total de nodos no terminales
c. Calcular la sumatoria de las hojas.
d. Calcular la sumatoria de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Practica7
  • practica7
  • Practica7
  • Practica7
  • PRACTICA7
  • practica7
  • practica7
  • Practica7 SOLUCIONES

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS