From 6f080ac12c4ed4dba3d302bd40ad45affd4b3c2a Mon Sep 17 00:00:00 2001 From: sejo Date: Mon, 7 Jun 2021 20:18:03 -0500 Subject: =?UTF-8?q?p=C3=A1gina=20de=20par=20y=20danza?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/actualizaciones.gmo | 5 +++ src/actualizaciones.xml | 12 +++++- src/compudanzas.gmo | 7 +++- src/guix.gmo | 2 + src/par_y_danza.gmo | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 src/par_y_danza.gmo (limited to 'src') diff --git a/src/actualizaciones.gmo b/src/actualizaciones.gmo index feaa583..6840467 100644 --- a/src/actualizaciones.gmo +++ b/src/actualizaciones.gmo @@ -8,6 +8,11 @@ si lo prefieres, puedes seguir las (y más) actualizaciones via git: => https://tildegit.org/sejo/lentejanumerica repositorio git con scripts y archivos fuente +## sjm-1662d5 + +página nueva de {compudanzas} + +=> ./par_y_danza.gmo {par y danza} ## sjm-1662d4 diff --git a/src/actualizaciones.xml b/src/actualizaciones.xml index b46edef..0040fbf 100644 --- a/src/actualizaciones.xml +++ b/src/actualizaciones.xml @@ -5,10 +5,20 @@ 🧆 ln: updates en el sitio sejo a mano -2021-06-06T12:00:00Z +2021-06-07T12:00:00Z + +https://quesomango.neocities.org/actualizaciones.html#sjm-1662d5 +sejmana-1662, día 5 +2021-06-07T12:00:00Z + + + páginas de par y danza + + + https://quesomango.neocities.org/actualizaciones.html#sjm-1662d4 sejmana-1662, día 4 diff --git a/src/compudanzas.gmo b/src/compudanzas.gmo index 9b3bbf6..54287de 100644 --- a/src/compudanzas.gmo +++ b/src/compudanzas.gmo @@ -2,7 +2,7 @@ materializando ciencias computacionales en cuerpxs humanxs y coreografía. -mi principal línea de exploración de {non e-computers}. +línea de exploración de computadoras no electrónicas ({non e-computers}). # las danzas @@ -14,10 +14,12 @@ nos volvemos un registro de corrimiento (shift register) síncrono para almacena => ./ciclo_de_memoria.gmi {ciclo de memoria} -## paridad-nza +## par y danza estrategia básica para detectar posibles errores de transmisión / recepción de una secuencia binaria. +=> ./par_y_danza.gmi {par y danza} + ## danzas compuertas en la que nos convertimos en red de compuertas lógicas para resolver en conjunto operaciones aritméticas o lógicas. @@ -179,5 +181,6 @@ el taller consiste en 6 sesiones de 2 horas de duración cada una => ./d-turing.gmi {d-turing} => ./logiteca.gmi {logiteca} => ./non_e-computers.gmi {non e-computers} +=> ./par_y_danza.gmi {par y danza} => ./talleres.gmi {talleres} => ./tiempo.gmi {tiempo} diff --git a/src/guix.gmo b/src/guix.gmo index 2171f82..62d1911 100644 --- a/src/guix.gmo +++ b/src/guix.gmo @@ -45,6 +45,7 @@ este es mi archivo paquetes.scm: "netsurf" "lagrange" ; gemini "bombadillo" ; gemini / gopher + "python-vf-1" ; gopher ; programming "make" @@ -68,6 +69,7 @@ este es mi archivo paquetes.scm: "rsync" "bash-completion" "adb" + "bc" ; calculator ;misc "vinagre" ; vnc viewer diff --git a/src/par_y_danza.gmo b/src/par_y_danza.gmo new file mode 100644 index 0000000..00f500d --- /dev/null +++ b/src/par_y_danza.gmo @@ -0,0 +1,106 @@ +# par y danza + +estrategia básica para detectar posibles errores de transmisión / recepción de una secuencia binaria, en modalidad {compudanzas}. + +implementamos el cómputo y detección de la llamada paridad: dada una secuencia de dos tipos de símbolos, ¿la cantidad de símbolos de uno de esos tipos, es par o impar? + + +# componentes + +usaremos el concepto de estados y tiempos discretos. + +## participantes + +necesitamos al menos dos personas: + +* transmisora de secuencia +* calculadora de paridad + +## movimientos + +necesitamos un alfabeto de dos movimientos: + +* un movimiento "alto" +* un movimiento "bajo" + +y un conteo de tiempos discretos. + +cada uno de esos tiempos que contiene a un movimiento, lo podemos considerar un "bit": unidad mínima de información. + +para transmitir información más compleja, necesitamos varios "bits": una secuencia de tiempos con uno de estos dos movimientos. + + +## estados y transiciones + +en cada unidad de tiempo, estamos ya sea en el estado que corresponde al movimiento alto, o en el que corresponde al movimiento bajo. + +inicialmente estamos en el movimiento bajo. + +tenemos dos tipos de transiciones: + +* continúa: sigue en el mismo estado +* invierte: cambia al otro estado + + +# guía + +## cálculo de paridad + +de acuerdo al mensaje binario a transmitir, en cada tiempo la persona transmisora envía uno de los dos movimientos posibles. + +cuando la cantidad de movimientos que envía en una transmisión son 8, estará enviando un "byte". + +la persona calculadora inicialmente está en el movimiento bajo. + +en cada tiempo de transmisión, la persona calculadora ha de actuar de la siguiente forma: + +* si el movimiento transmitido es bajo, ella ha de continuar su movimiento. +* si el movimiento transmitido es alto, ella ha de invertir su movimiento. + +al concluir la transmisión, la persona calculadora habrá terminado: + +* en el movimiento alto si la cantidad de movimientos altos transmitidos fue impar. +* en el movimiento bajo si la cantidad de movimientos altos transmitidos fue par + +comprobemos que sí sea así, con secuencias de diferente longitud y paridad. + + +## detección de error con paridad + +### conceptos + +el estado en el que terminó la persona calculadora puede llamarse el bit de paridad. + +un aspecto interesante y no obvio de este sistema, es que si este bit de paridad se agrega a la secuencia original para formar una nueva secuencia completa, entonces la cantidad total de movimientos altos siempre será un número par: + +* cuando la cantidad era impar (por ejemplo, 3), el bit de paridad es alto, y al sumarse da un total par (por ejemplo, 4) +* cuando la cantidad era par (por ejemplo, 2), el bit de paridad es bajo y no se suma al total, que queda par (por ejemplo, 2) + +### actividad + +después de calcular localmente la paridad de la secuencia a transmitir, podemos pasar a transmitir a mayor distancia la nueva secuencia con el bit de paridad al final: + +en cada tiempo, la persona transmisora envía el movimiento correspondiente para transmitir la secuencia completa. + +la persona calculadora inicialmente está en el movimiento bajo. + +en cada tiempo de transmisión/recepción, la persona calculadora ha de actuar de la siguiente forma: + +* si el movimiento recibido es bajo, ella ha de continuar su movimiento. +* si el movimiento recibido es alto, ella ha de invertir su movimiento. + +al terminar la transmisión de la secuencia completa, revisamos el estado de la persona calculadora: + +* si se encuentra en movimiento alto (paridad impar), hubo algún error en la comunicación +* si se encuentra en movimiento bajo (paridad par), probablemente no hubo error en la comunicación + +probemos con secuencias de diferente longitud, a diferentes velocidades, y también a diferentes distancias. + +¿llega a suceder que detectamos un error? + +¿qué pasa cuando hay dos errores en la comunicación? ¿es posible que el sistema no lo detecte? + + + +## llega aquí: +=> ./compudanzas.gmo {compudanzas} -- cgit v1.2.3