Sie sind auf Seite 1von 11

Taller 1 de algoritmos y programación

Sebastián Álvarez Múnera CC 1035437890


Oswaldo Restrepo Zuluaga CC 1036395445

1. Diseñe un programa en Python que realice la conversión de decimal a binario utilizando


divisiones sucesivas.
Utilícelo para realizar las siguientes conversiones:
(a) 35 =100011
(b) 95=1011111
(c) 1023=1111111111
(d) 2048=100000000000
Código en Python anexado por aparte

2. Que datos binarios se almacenan en la memoria del computador para representar las
siguientes cadenas de caracteres. Use la tabla de valores ASCII para hallar el valor
hexadecimal que representa cada carácter y busque luego su equivalente en binario.
a) Hola mundo.
Hexadecimal  486F6C61 6D756E646F
Binario  0100 1000 0110 1111 0110 1100 0110 0001 0110 1101 0111 0101 0110 1110
0110 0100 0110 1111
b) “10 es 2”
Hexadecimal  3130 6573 32
Binario  0011 0001 0011 0000 0110 0101 0111 0011 0011 0010
c) Phyton
Hexadecimal  506879746F6E
Binario 0101 0000 0110 1000 0111 1001 0111 0100 0110 1111 0110 1110
d) 250811
Hexadecimal 3D3BB
Binario 111101001110111011
3. Cuál es el resultado de las siguientes expresiones algebraicas escritas con sintaxis de
Python. Tenga presente la precedencia de los operadores.
a. 0b 1001 + (23%4) - (0 x AA)
9 + (23%4) - (170)
9 + 5 - 170
14
-158

b. (0x1010) + ((111*0b11110) // (0x10))


4112 + (111 * 30) // 16
4112 + (3330//16)
4112 + 208
4520

c. (123%4) + [(8**(2**3)) /2]


3 + ((8**8) /2)

8388611

d. ((162/2) / 4) / (2**2)
(81 / 4) / (4)
20.25 4

5,0625

e. {(34>33)} and {not(27==27)}


True and False

Fals
f. {True andeeFalse} or {not True}
False or False

False
g. {(not 0==0) or (3>5)} or False
False or False

False or False
False

h. {{5 > (7+4)} and True} or {(12-34!)=23}


False and True
False or True
True
i.
j. {{5 > (7+4)} and True} or {{(12-34!)=23}== True}}
False and True
False or False
False

4) Grafique un diagrama de flujo que represente el siguiente algoritmo en scratch.

Al presionar
bandera

Ir a la posición x = 0 y y = 160

Apuntar en dirección número al azar entre 135 y125

True Mover 12 pasos

Rebotar en el borde

Apuntar en dirección número Si No No


Toca el Toca el
al azar entre -30 y 30 paddle color
rosa

Toca sonido pop Si

Detener
todo
5. Diseñe un algoritmo en Scratch que permita hallar la división de dos números a partir
de resta sucesivas. Siga las instrucciones dadas en el diagrama de flujo de la figura 2 para
ensamblar los bloques en Scratch.
Link https://scratch.mit.edu/projects/245006082/#editor

6. Haga las siguientes modificaciones al algoritmo del numeral 5:


a. Modifique el código de la plataforma (paddle) para que no se mueva con el
mouse si no con las teclas derecha e izquierda del teclado.
b. Cree una variable llamada puntos que se incremente cada vez que la pelota toque
la plataforma.
c. Ingrese el código necesario para que el usuario pierda el juego después que la
pelota toque tres veces el suelo.

Paddle
Ball

Link: https://scratch.mit.edu/projects/207563015/
7. Dado el diagrama de flujo presentado en la Figura 6.
a) Ejecute el algoritmo en Scratch.
b) Diseñe el algoritmo en python

Link https://scratch.mit.edu/projects/208238992/#editor
Código en Python anexado por aparte
8) Considere que desea diseñar un programa que permita hallar la enésima potencia de
un numero usando sumas sucesivas. El usuario debe ingresar la base y el exponente.
(a)Diseñe el diagrama de flujo
(b) Diseñe el algoritmo en Scratch
(c) Diseñe el algoritmo en Python
Link https://scratch.mit.edu/projects/208235676/#editor
Código en Python anexado por aparte
9. Se desea diseñar un programa que permita hallar la raíz cuadrada g de un numero x.
El usuario debe ingresar el numero x al que se le desea encontrar la raíz cuadrada. Use el
algoritmo visto en clase para construir el programa y suponga que la respuesta es correcta
cuando la raíz g cumple la siguiente desigualdad. |x – g* g| < 0,01
(a) Diseñe el diagrama de flujo
(b) Diseñe el algoritmo en Scratch
(c) Diseñe el algoritmo en Python
Link https://scratch.mit.edu/projects/208419501/#editor

Código en Python anexado por aparte.

10. Con base en la representación gráfica dada a continuación, diseñe un juego en Scratch
que mida la capacidad para resolver operaciones matemáticas sencillas. Usando una
misma expresión matemática, modifique el valor de los operados en cada intento. Repita
el procedimiento 10 veces contando el número de aciertos, el número de desaciertos y el
tiempo que tarda el usuario en completar el reto. Para cronometrar el tiempo use los
bloques de temporización que tiene scratch

Link: https://scratch.mit.edu/projects/207426059/#editor

Das könnte Ihnen auch gefallen