unión restar resta numericos interseccion graficos explicacion ejemplos diferencia conjuntos complemento como scala functional-programming

scala - restar - Ayuda de asignación: unión entre conjuntos



interseccion de conjuntos (2)

Parece que la pared que estás golpeando es que no estás familiarizado con la definición de funciones en Scala. En este caso particular, necesita definir funciones de tipo Int => Boolean , toman un Int y devuelven un Boolean .

Aquí hay algunos ejemplos de literales de funciones de tipo Int => Boolean . Pruébalos en la consola de Scala o en la hoja de cálculo de Scala IDE:

(x: Int) => true (x: Int) => false (x: Int) => x == 2 (x: Int) => x == 10 (x: Int) => x == 2 || x == 10 (x: Int) => x % 2 == 0

Entonces, todo lo que tiene que hacer para la tarea es usar la misma sintaxis, comenzando con (x: Int) => y luego traducir el significado de unión, intersección, ... en el lado derecho de la expresión.

Parte del aprendizaje es darle un esfuerzo genuino. Creo que puede volver a enviar la solución varias veces, por lo que no dude en enviarla y repetirla si no obtiene 10/10 en el primer intento. Todo lo que necesitas es compilar el código. ¡Buena suerte!

Estoy tomando una Programación funcional de Coursera en la clase Scala. Esta es la segunda semana y choco contra una pared. En la tarea estamos trabajando con Sets, pero no con el tipo de Set que todos conocemos en Java, por ejemplo. Es un conjunto que devuelve verdadero si el valor está allí y de lo contrario es falso. Dicen que no es un contenedor, es solo una función.

Para que quede claro, necesito tu ayuda. No quiero que resuelvas mi tarea, es solo un ejemplo de que quiero tener la idea de lo que debo hacer.

/** * We represent a set by its characteristic function, i.e. * its `contains` predicate. */ type Set = Int => Boolean /** * Indicates whether a set contains a given element. */ def contains(s: Set, elem: Int): Boolean = s(elem) /** * Returns the set of the one given element. */ def singletonSet(elem: Int): Set = Set(elem) /** * Returns the union of the two given sets, * the sets of all elements that are in either `s` or `t`. */ def union(s: Set, t: Set): Set = ???

Este es el código. En singletonSet , creo que la forma de resolverlo es devolver el Set(elem) , ¿verdad?

Si eso es bueno, ¿cómo se supone que debo hacer la unión entre los dos? No soy nuevo en programación pero no veo ninguna manera de hacerlo. Como no debería devolver un "conjunto" de números.

Esto es lo que otro alumno me contó sobre los conjuntos: " Pero todo un" Conjunto "es una función que toma un Int y devuelve un Booleano (Int => Booleano). Cualquier función que toma un Int y devuelve un Booleano se ajusta al tipo '' Establecer ''. "

Lo que probé en la función sindical es tener algo como:

def union(s: Set, t: Set): Set = (s | t) //value | not a member of Int => Boolean

Cualquier ayuda sería apreciada :)


Una posible pista es mirar los tipos. Mira el tipo de Set . En realidad, es un alias de tipo para una función de Int en Boolean .

Por lo tanto, cuando tienes dos juegos, en realidad tienes dos funciones. ¿Cómo puede usarlos para proporcionar una función que represente la unión de estos Conjuntos? Debe ser tu punto de partida.