En la unidad 1 del libro de Leobardo López Román viene al final una lista de ejercicios propuestos para ir calentando en esto de los algoritmos. Bueno, voy a tratar de dar mis respuestas a los ejercicios.
A. Elaborar un algoritmo para hacer palomitas de maíz en una cacerola puesta al fuego, usando sal y maíz.
1. Abrir la bolsa de maíz.
2. Vaciar la bolsa en la cacerola que está al fuego.
3. Agregar sal a la cacerola.
5. Esperar hasta que los granos de maíz hayan reventado.
7. Esperar a que se enfríe la cacerola.
Este algoritmo parece estar incompleto o no, pero sucede que tampoco nos da muchos datos y suponemos muchas cosas. Con la práctica supongo que haré unos más detallados pero al parecer no es objetivo del ejercicio que detalle tan a fondo.
B. Elaborar un algoritmo que permita cambiar un vidrio roto de una ventana.
Suponemos que ya tenemos el vidrio de repuesto, el pegamento y que no hay que subir a ningún lado.
1. Despegamos el vidrio roto.
2. Quitamos el vidrio roto.
3. Tomamos el vidrio de repuesto.
4. Colocamos el vidrio de repuesto.
5. Pegamos el vidrio de repuesto.
C. Elaborar un algoritmo para cambiar un neumático pinchado.
3. Poner el freno de mano y encender las señales de peligro.
6. Sacar la llave de cruz.
7. Sacar un plástico o cartón
8. Sacar la llanta de refacción.
9. Sacar el gato hidráulico.
10. Poner el cartón o plástico cerca de la llanta ponchada para tener área limpia de trabajo.
11. Tomar la llave de cruz.
12. Con la llave de cruz dar dos vueltas a cada birlo en contra de las manecillas del reloj para aflojarlos.
13. Dejar la llave de cruz
15. colocar el gato en detrás de la llanta delantera o enfrente de la llanta trasera
16. Gire la manija del gato en el sentido de las manecillas del reloj, hasta que la llanta ponchada esté 5 ó 6 centimetros por encima del suelo.
17. Tome de nuevo la llave de cruz.
18. Quite un birlo completamente
19. Póngalo en un lugar seguro.
20 Haga lo mismo con el resto de los birlos.
21. Deje la llave de cruz.
22. Sostenga la llanta ponchada con firmeza.
23. Jale derecho hacia afuera.
24. Ponga la llanta ponchada debajo de la carrocería o suspensión del automóvil, por si el gato se desliza todavía será soportado.
25.Tome la llanta de refacción y colóquela en el tambor.
26. Tome un birlo y colóquelo donde le corresponde.
27. Apriételo manualmente.
28. Haga lo mismo con el resto de los birlos.
29. Gire el gato de manera opuesta hasta que el auto baje al suelo.
30. Cuando el peso ya no esté en el gato, remuévalo de abajo del auto.
31. Ponga a un lado el gato.
32. Tome la llave de cruz.
33. Apriete completamente un birlo.
34. Repita la operación con el resto de los birlos.
35. Saque la llanta ponchada que está debajo del auto.
36. Guarde la llanta ponchada en la cajuela.
37. Guarde el gato en la cajuela.
37. Guarde la llave de cruz en la cajuela.
38. Guarde el plástico o cartón en la cajuela
D. Elaborar un algoritmo para hacer una llamada telefónica. Supongo que ya estoy parado en frente de un teléfono público y las monedas las tengo en la mano derecha.
1. Descolgar auricular con mano izquierda
2. Llevar el auricular a la oreja izquierda.
3. Esperar a escuchar el tono de marcado.
4. Con la mano derecha introducir las monedas en la ranura del teléfono.
5. Con la mano derecha marcar el número
6. Esperar a que conteste es destinatario.
8. Colgar con mano izquierda el auricular en el lugar en donde se descolgó.
E. Definir "su" robot, es decir, lo que sabe hacer tomando como referencia lo que usted hace, y elaborar un algoritmo que lo lleve desde que se despierta por la mañana hasta que llega a la escuela, trabajo o algún otro lugar.
Supongo que el robot sabe identificar rutas visualmente y además que en el cuarto de baño hay ropa para cambiarse.
a. Levantarse de la cama.
f. Abrir puerta y entrar.
h. vestirse y guardar ropa sucia.
i. abrir el refrigerador.
j. sacar alimentos del refrigerador.
o. cepillarse los dientes.
r. pagar importe de pasaje.
t. verificar si hay lugar para sentarse en transporte.
u. levantarse de asiento o silla.
z. aplicar complementos de aseo (desodorante, loción, etc.).
z1. Tomar cartera y celular.
z2. Esperar el transporte.
Para ahorrar tiempo lo haré con claves:
1. a; 2. d; 3. b hasta la puerta; 4; c; 4.1. 4.2. m; 5. b hasta la puerta del baño; 6. c frente a la puerta del baño; 6.1. f; 7. b hacia el interior del baño; 8. c; 9. e; 10. g; 11. d; 12. b hasta el área de la regadera; 13. n; 14. ñ; 15.h; 16. x, y; 17. b hasta la puerta del baño; 18. c; 19. f; 20. b hasta el refrigerador que está en el comedor; 21. c; 22. i; 23. j; 24. h; 25. i en una silla frente a la mesa del comedor; 26. j; 27. u al terminar de comer; 28. b hasta el lugar del aseo personal; 29. c. 30. o; 31. z. 32. b hasta la sala; 33. c; 34. z1; 35. b hasta la puerta principal. 36. c; 37. f; 38. m; 39. l hasta llegar a la salida del inmueble; 40. b hasta la parada del bus; 41. c; 42. z2; 43. s; 44. r; 45. t; 46. En caso de encontrar lugar b hasta el asiento vacío; 47. en caso de 46 c sino b hasta la puerta de descenso, c y esperar al lugar destino; 47. En caso de 46 i en asiento vació hasta llegar al destino; 48. En caso de 47 al llegar al lugar destino u, b hasta la puerta de descenso y v; 49. En caso e no 47 v en el lugar de destino; 50. b hasta puerta del trabajo; 51. c; 52. f; 53. Fin
Bueno, este es el algoritmo, la verdad es que así sin estructuras de camino alternativo, secuencia, etcétera es muy complicado. Por supuesto es erróneo en varios puntos pero como ejercicio me fue interesante. Pienso que es muy importante hacer la lista de requerimientos muy bien porque si no van a hacer como yo, ir metiendo puntos extra aunque supongo que a la hora de codificar es común pero más si no se planea ya que puede ser que se eche a perder el esfuerzo. Bueno, sigo aún en la unidad dos. Suerte.