página de par y danza
This commit is contained in:
parent
d92891c777
commit
6f080ac12c
|
@ -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
|
||||
|
||||
|
|
|
@ -5,10 +5,20 @@
|
|||
<title>🧆 ln: updates en el sitio</title>
|
||||
<author><name>sejo</name></author>
|
||||
<generator>a mano</generator>
|
||||
<updated>2021-06-06T12:00:00Z</updated>
|
||||
<updated>2021-06-07T12:00:00Z</updated>
|
||||
<link href='https://quesomango.neocities.org/actualizaciones.xml' rel='self'/>
|
||||
<link href='https://quesomango.neocities.org/actualizaciones.html' rel='alternate'/>
|
||||
|
||||
<entry>
|
||||
<id>https://quesomango.neocities.org/actualizaciones.html#sjm-1662d5</id>
|
||||
<title>sejmana-1662, día 5</title>
|
||||
<updated>2021-06-07T12:00:00Z</updated>
|
||||
<link href='https://quesomango.neocities.org/actualizaciones.html#sjm-1662d5' rel='alternate'/>
|
||||
<summary>
|
||||
páginas de par y danza
|
||||
</summary>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<id>https://quesomango.neocities.org/actualizaciones.html#sjm-1662d4</id>
|
||||
<title>sejmana-1662, día 4</title>
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
Loading…
Reference in New Issue