Está en la página 1de 8

Taller U3

En este taller se proponen 2 ejercicios.

Ejercicio 1

Construyamos un programa para la micro:bit que vaya mostrando aleatoriamente la cara de


un dado mientras se esté sacudiendo la
tarjeta y que se detenga en la última cara
del dado presentada cuando se deje de
sacudir.

Para hacerlo, utiliza el bloque que se


muestra a la derecha. Este bloque
selecciona al azar un número entero entre
los valores indicados. En este caso sería
un número entre 0 y 1000
incluidos.

Este bloque se encuentra


en la sección Matemática,
como se muestra a la
izquierda.

Ejercicio 2

Podemos utilizar el acelerómetro de la micro:bit como un nivelador (también conocido como


nivel de burbuja). El acelerómetro permite conocer qué tanto está inclinada la micro:bit en las
tres direcciones: x, y, z. Cuando se agrega al código una condición que incluya el bloque
“aceleración (mg)”, que se encuentra en la sección Entrada, sea en x, y ó z, la micro:bit
mostrará cuánto es la inclinación en esa dirección. Esta inclinación es presentada como un
valor entre -1023 y 1023. Para nivelar un borde, se puede usar la dirección x, es decir, ignorar
las direcciones y, z. El borde estará nivelado cuando la aceleración en x (ax) esté cercana a 0
(se puede tener una tolerancia y considerarlo nivelado entre -5 y 5). Escribamos un programa
para la micro:bit que permita ubicarla sobre un borde y que indique cuánto y en qué dirección
se debe ajustar el borde para que esté nivelado. Para esto se puede mostrar una flecha que se
hace más pequeña cuanto menos se deba ajustar.

Nota: Si prueba el funcionamiento del programa en el simulador de MakeCode posiblemente


tenga que ampliar el rango de tolerancia propuesto (-5 a 5) a -30 a 30. ¿Por qué?

Condiciones de entrega del trabajo:

Deberemos subir un archivo en Word o pdf que incluya:

 El diagrama de flujo
 El código de bloques utilizado para resolver el problema en MakeCode
 Evidencias del funcionamiento exitoso (fotografías o enlace a video corto).

EJERCICIO 1 DADO DIGITAL

DIAGRAMA DE FLUJO

FIN
CÓDIGO DE BLOQUE

let NUMERO = 0
input.onGesture(Gesture.Shake, function () {
NUMERO = randint(1, 6)
basic.showNumber(NUMERO)
if (NUMERO == 1) {
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
} else if (NUMERO == 2) {
basic.showLeds(`
. . . . #
. . . . .
. . . . .
. . . . .
# . . . .
`)
} else if (NUMERO == 3) {
basic.showLeds(`
. . . . #
. . . . .
. . # . .
. . . . .
# . . . .
`)
} else if (NUMERO == 4) {
basic.showLeds(`
# . . . #
. . . . .
. . . . .
. . . . .
# . . . #
`)
} else if (NUMERO == 5) {
basic.showLeds(`
# . . . #
. . . . .
. . # . .
. . . . .
# . . . #
`)
} else {
basic.showLeds(`
# . . . #
. . . . .
# . . . #
. . . . .
# . . . #
`)
}
})

FOTO DE EVIDENCIA

OBSERVAR EL LINK HTTPS://YOUTU.BE/OAGGNZZAHP0

EJERCICIO 2

DIAGRAMA DE FLUJO
CÓDIGO

basic.forever(function () {
if (input.acceleration(Dimension.X) <= 5 && input
.acceleration(Dimension.X) >= -5) {
basic.showLeds(`
# . . . #
# # . . #
# . # . #
# . . # #
# . . . #
`)
}
if (input.acceleration(Dimension.X) >= 6 && input
.acceleration(Dimension.X) <= 100) {
basic.showLeds(`
. . . . .
. . # . .
. # # # #
. . # . .
. . . . .
`)
}
if (input.acceleration(Dimension.X) >= 101 && inp
ut.acceleration(Dimension.X) <= 400) {
basic.showLeds(`
. . # . .
. # # . .
# # # # #
. # # . .
. . # . .
`)
}
if (input.acceleration(Dimension.X) >= 401 && inp
ut.acceleration(Dimension.X) <= 800) {
basic.showLeds(`
. . # . .
. # # # #
# # # # #
. # # # #
. . # . .
`)
if (input.acceleration(Dimension.X) >= 801) {
basic.showLeds(`
. . # # #
. # # # #
# # # # #
. # # # #
. . # # #
`)
}
if (input.acceleration(Dimension.X) <= -6 &&
input.acceleration(Dimension.X) >= -100) {
basic.showLeds(`
. . . . .
. . # . .
# # # # .
. . # . .
. . . . .
`)
}
if (input.acceleration(Dimension.X) <= -101 &
& input.acceleration(Dimension.X) >= -400) {
basic.showLeds(`
. . # . .
. . # # .
# # # # #
. . # # .
. . # . .
`)
}
if (input.acceleration(Dimension.X) <= -401 &
& input.acceleration(Dimension.X) >= -800) {
basic.showLeds(`
. . # . .
# # # # .
# # # # #
# # # # .
. . # . .
`)
}
if (input.acceleration(Dimension.X) <= -801)
{
basic.showLeds(`
# # # . .
# # # # .
# # # # #
# # # # .
# # # . .
`)
}
}
})

EVIDENCIAS

También podría gustarte