Created
May 20, 2015 16:45
-
-
Save nihilismus/4281707e188379306660 to your computer and use it in GitHub Desktop.
Captura de pantalla: https://www.dropbox.com/s/dcpty29r9ucqqmy/eclipse-prueba.main-02.png?dl=0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns prueba.main) | |
(def alumnos | |
[{:nombre "A" | |
:apellidos {:paterno "AA" :materno "AAA"} | |
:sexo "m" | |
:numero-de-control "12345" | |
:calificaciones [80 70 80]} | |
{:nombre "B" | |
:apellidos {:paterno "BB" :materno "BBB"} | |
:sexo "f" | |
:numero-de-control "23456" | |
:calificaciones [90 70 0]} | |
{:nombre "C" | |
:apellidos {:paterno "CC" :materno "CCC"} | |
:sexo "f" | |
:numero-de-control "34567" | |
:calificaciones [100 70 70]} | |
{:nombre "D" | |
:apellidos {:paterno "DD" :materno "DDD"} | |
:sexo "m" | |
:numero-de-control "45678" | |
:calificaciones [100 100 90]} | |
{:nombre "E" | |
:apellidos {:paterno "EE" :materno "EEE"} | |
:sexo "f" | |
:numero-de-control "56789" | |
:calificaciones [100 70 70]} | |
{:nombre "F" | |
:apellidos {:paterno "FF" :materno "FFF"} | |
:sexo "m" | |
:numero-de-control "67890" | |
:calificaciones [100 90 100]} | |
{:nombre "G" | |
:apellidos {:paterno "GG" :materno "GGG"} | |
:sexo "f" | |
:numero-de-control "78901" | |
:calificaciones [100 70 80]}]) | |
(defn imprimir-secuencia-de-mapas-como-tabla | |
[atributos de-los-mapas] | |
(clojure.pprint/print-table | |
atributos de-los-mapas)) | |
(defn imprimir-lista-de | |
[alumnos] | |
(imprimir-secuencia-de-mapas-como-tabla | |
[:numero-de-control :nombre :apellidos] alumnos)) | |
(defn promedios-de-los | |
[alumnos] | |
(let [cantidad-de-materias-del (fn [alumno] | |
(count (get alumno :calificaciones))) | |
suma-de-las-calificaciones-del (fn [alumno] | |
(reduce + (get alumno :calificaciones))) | |
promedio-de-las-calificaciones-del (fn [alumno] | |
(/ (suma-de-las-calificaciones-del alumno) | |
(cantidad-de-materias-del alumno)))] | |
(map (fn [alumno] | |
(assoc alumno :promedio (promedio-de-las-calificaciones-del alumno))) | |
alumnos))) | |
(defn imprimir-lista-de-promedios-de-los | |
[alumnos] | |
(imprimir-secuencia-de-mapas-como-tabla | |
[:numero-de-control :promedio] (promedios-de-los alumnos))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment