Otra práctica de programación en Clojure

{:deps {org.clojure/clojure {:mvn/version "1.10.3"}
        ;; complient is used for autocompletion
        ;; add your libs here (and restart the runtime to pick up changes)
        compliment/compliment {:mvn/version "0.3.9"}}}
Extensible Data Notation
{:hello (clojure-version)}
(ns practicaI
  (:require [clojure.set :as set]))
;; importamos las funciones de manejo de conjunto (las vamos a usar mas abajo!)
0.0s

Esta notebook es una copia en formato NextJournal del repositorio que preparó el docente para el curso de Programación I de la Universidad de Flores (UFLO), y que se puede consultar acá:

https://github.com/javierrweiss/programacion-I-practicas

¿Cómo utilizar esta Notebook para responder la consigna?

Recuerden que uds. pueden hacer un Remix de esta notebook para generar una copia propia en su cuenta de nextjournal.

Una vez que hayan realizado los ejercicios, tienen que publicar la notebook (para que sea accesible a través de una dirección web) y enviarnos el link.

Para publicar tiene que ir al menú de Share que se encuentra en la barra superior, y de allí cambiar la Notebook visibility a Public

Luego, hacer click en Publish changes

Para publicar hay que generar un "handle" es decir un nombre para sus notebooks. Si aún no lo hicieron, les va a aparecer el siguiente cuadro de diálogo para que lo introduzcan (yo voy a poner mi nombre):

Finalmente, les va a pedir un nombre para la notebook:

Cuando le den Publish esa notebook ya va a ser pública y la van a poder compartir con nosotros.

IMPORTANTE: la notebook pública no se actualiza automáticamente, asi que si introducen cambios tienen que volver a publicar.

Finalmente, para conseguir la dirección de la notebook que van a compartirnos para entregar el trabajo, pueden hacer click en el botoncito azul que está junto a los datos de la notebook publicada:

Ahora si, a practicar!

(recuerden que en caso de necesitar consultar funciones, pueden hacerlo por aca: https://clojuredocs.org/)

Ejercicio 0

Declare una variable con su nombre y apellido. Escriba en un comentario qué tipo de dato ha empleado.

;; resolucion aquí
0.1s

Ejercicio 1

Cree un vector de números positivos impares hasta el número 21

;; resolucion aquí
0.0s

Ejercicio 2

Registre los jugadores de dos equipos de basket y dos de fútbol 5. Al menos 3 jugadores juegan fútbol y basket. Utilice conjuntos.

;; resolucion aquí
0.0s

2.1) Desde la Dirección de Deportes nos piden una lista (lo que no implica devolver esta estructura de datos) de todos los jugadores de ambos deportes. PISTA: utilizar la función (set/union) -ya el namespace está requerido arriba con el alias 'set'.

;; resolucion aquí (sugiero hacer en 2 celdas)
0.0s
;; resolucion aquí (sugiero hacer en 2 celdas)
0.0s

2.2) Identifique sólo los jugadores que participan en ambas disciplinas. PISTA: Existe una función de conjuntos en el namespace 'clojure.set' para resolver este problema.

;; resolucion aquí (sugiero hacer en 2 celdas)
0.0s
;; resolucion aquí (sugiero hacer en 2 celdas)
0.0s

2.3) Identifique los jugadores que juegan fútbol, pero no basket. PISTA: Existe una función de conjuntos en el namespace 'clojure.set' para resolver este problema.

;; resolucion aquí (sugiero hacer en 2 celdas)
0.0s
;; resolucion aquí (sugiero hacer en 2 celdas)
0.0s

Ejercicio 3

Cree un mapa con los 5 principales indicadores provistos en la página del INDEC (https://www.indec.gob.ar/), a saber, población, desocupación, etc.

;; resolucion aquí 
0.0s

3.1) Utilice la función (juxt) para obtener los valores correspondientes a las llaves que haya elegido para los indicadores 'Tasa de desocupación' e 'Índice de producción industrial manufacturero'.

;; resolucion aquí 
0.0s

3.2) Utilice la función (select-keys) para obtener un mapa con el par llave-valor con las llaves que haya elegido para los indicadores 'Población' y 'Precios al consumidor'.

;; resolucion aquí 
0.0s

Ejercicio 4

Cree una función que, recibiendo un nombre como argumento, devuelva un saludo. Ejemplo: (saludar "Juan") => "¡Hola, Juan!"

;; resolucion aquí 
0.0s

Runtimes (1)