{"id":21482111,"url":"https://github.com/tectijuana/armexpos-covid","last_synced_at":"2026-01-04T11:04:38.309Z","repository":{"id":197111765,"uuid":"693378912","full_name":"tectijuana/armexpos-covid","owner":"tectijuana","description":"armexpos-covid created by GitHub Classroom","archived":false,"fork":false,"pushed_at":"2023-10-02T22:51:16.000Z","size":154,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T18:50:19.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tectijuana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-18T23:13:38.000Z","updated_at":"2023-09-28T23:19:33.000Z","dependencies_parsed_at":"2024-11-23T12:41:02.682Z","dependency_job_id":null,"html_url":"https://github.com/tectijuana/armexpos-covid","commit_stats":null,"previous_names":["tectijuana/armexpos-covid"],"tags_count":0,"template":false,"template_full_name":"tectijuana/interfaz-templete","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectijuana%2Farmexpos-covid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectijuana%2Farmexpos-covid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectijuana%2Farmexpos-covid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectijuana%2Farmexpos-covid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tectijuana","download_url":"https://codeload.github.com/tectijuana/armexpos-covid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006290,"owners_count":20382443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-23T12:29:58.672Z","updated_at":"2026-01-04T11:04:33.278Z","avatar_url":"https://github.com/tectijuana.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Torres de Hanoi\n![](https://upload.wikimedia.org/wikipedia/commons/6/60/Tower_of_Hanoi_4.gif)\n\nLas torres de Hanói es un rompecabezas matemático El propósito del rompecabezas es mover todos los discos a uno de los postes vacíos de forma que queden apilados preservando el orden inicial.\n\nSuponiendo que todos los n discos estén distribuidos en disposiciones válidas entre las clavijas; suponiendo que hay m discos superiores en una clavija de origen y que el resto de los discos son más grandes que m , por lo que pueden ignorarse con seguridad; para mover m discos desde una clavija de origen a una clavija de destino usando una clavija de repuesto , sin violar las reglas:\n\n1. Mueva m − 1 discos desde la fuente a la clavija de repuesto , mediante el mismo procedimiento de resolución general . Las reglas no se violan por suposición. Esto deja al disco m como disco superior en la clavija de origen.\n2. Mueva el disco m desde la clavija de origen a la de destino , lo que se garantiza que será un movimiento válido, según las suposiciones: un paso simple .\n3. Mueva los m − 1 discos que acabamos de colocar en el disco de repuesto, desde el repuesto hasta la clavija de destino mediante el mismo procedimiento de resolución general , de modo que queden colocados encima del disco m sin violar las reglas.\n4. El caso base es mover 0 discos (en los pasos 1 y 3), es decir, no hacer nada, lo que obviamente no viola las reglas.\n\nLa solución completa de la Torre de Hanoi consiste entonces en mover n discos desde la clavija de origen A a la clavija de destino C, utilizando B como clavija de repuesto.\n\n\n\n# Código del programa\n\nEn esta sección, se declarán los datos necesarios. el nombre de los Peg debe ser un carácter. n = 4, es el número de discos a mover.\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/9eee297f-3cf0-4427-9108-2987879c1b58)\n\n\nDeclarar un método con los parámetros n, Source, Dest, Extra) y abrir una condición que evalúe que disco mover y hacia que lugar.\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/c87a23e7-305a-4b48-963e-f6685261dc36)\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/de229cbf-4a3c-4d70-beb0-dd097a9a2fb2)\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/fb59efaa-0c47-4785-94ea-ec713f12744d)\n\n\n# Ejecución del programa\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/57e0c777-a0d9-4398-8b6f-5ef7d1a9b2fe)\n\n\n# Dividir 9 entre 3\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/854b16e2-e1ef-41da-b313-9666943f9b0d)\n\n  \n# Ejecución del programa\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/ac7f27d2-9434-4f31-9ed5-729692bd662c)\n\n\n# Media aritmetica\n\n_Obtiene la media aritmetica de 5 pares de valores (truncado a enteros)_\n\n``` @ DATA SECTION ```\n\n``` .data ```\n\n``` string: \t.asciz\t  \"%d\\n\" ```\n\n``` @ CODE SECTION ```\n\n``` .text ```\n\n``` .extern printf ```\n\n``` .global main ```\n\n``` main: ```\n\n\t@ primera ...\n \n\tpush\t{r0, r1}\t@ almacenamiento de valores iniciales\n\tmov \tr0, #3\n\tmov \tr1, #2\n\tadd \tr2, r0, r1\t@ (r0+r1)\n\tmov \tr2, r2, LSR #1\t@ (r0+r1)/2\n\tmov \tr1, r2\t\t@ impresion del resultado...\n\tldr \tr0, =string\n\tbl\tprintf\n\n\t@ segunda ...\n        mov     r0, #4\n        mov     r1, #6\n        add     r2, r0, r1\n        mov     r2, r2, LSR #1\n        mov     r1, r2\n        ldr     r0, =string\n        bl      printf\n\n\t@ tercera ...\n        mov     r0, #7\n        mov     r1, #2\n        add     r2, r0, r1\n        mov     r2, r2, LSR #1\n        mov     r1, r2\n        ldr     r0, =string\n        bl      printf\n\n\t@ cuarta ...\n        mov     r0, #0\n        mov     r1, #3\n        add     r2, r0, r1\n        mov     r2, r2, LSR #1\n        mov     r1, r2\n        ldr     r0, =string\n        bl      printf\n\n\t@ quinta ...\n        mov     r0, #3\n        mov     r1, #5\n        add     r2, r0, r1\n        mov     r2, r2, LSR #1\n        mov     r1, r2\n        ldr     r0, =string\n        bl      printf\n\tpop\t{r0, r1}\t@ recuperacion de estados iniciales para salir\n\tbx\tlr\t\t@ BREAK\n\n# Ejecución del programa\n\n![image](https://github.com/tectijuana/armexpos-covid/assets/105743084/616cfd8b-aa87-4ab4-a3bb-b7dd7a23f16c)\n\n# Uso de la función C scanf () para la entrada del usuario\n\nLa función scanf se utiliza comúnmente para leer diferentes tipos de datos, como números enteros, números en punto flotante, caracteres y cadenas de caracteres, siguiendo un formato específico. \n**Sección de Datos:**\nComencemos por la sección de datos de nuestro código. En esta parte, definimos algunas cadenas y una variable que serán fundamentales para nuestro programa. La cadena \"prompt\" contiene el mensaje que se mostrará al usuario antes de que ingresen un número. La cadena \"format\" especifica cómo se debe leer el número (en este caso, como un entero %d). La variable num almacenará el número ingresado por el usuario, y la cadena \"output\" es el formato de salida que utilizaremos para mostrar el número ingresado.\n\t\n \t.data\n\t.balign 4\n\tprompt: .asciz \"Ingrese Datos\u003e \"\n\tformat: .asciz \"%d\"\n\tnum: .int 0\n\toutput: .asciz \"Tu entrada: %d\\n\"\n \n**Sección de Código:**\n\n\t.text\n\t.global main\n\t.extern printf\n\t.extern scanf\n\t\n\tmain: push {ip, lr} @ guardar la dirección de retorno + registro ficticio\n\t                   @ para alineación\n1. Inicio de la función main: Iniciamos la función main y guardamos la dirección de retorno junto con un registro ficticio para asegurarnos de que todo esté alineado correctamente.\n\n\t\tldr r0, =prompt @ imprimir el mensaje de entrada\n\t\tbl printf\n\n2. Mostrar el mensaje de entrada: Utilizamos la función printf() para mostrar el mensaje \" \u003e \" al usuario. Esto es lo que verán antes de ingresar su número.\n   \n\t\tldr r0, =format @ llamar a scanf, y pasar la dirección del formato\n\t\tldr r1, =num    @ y la dirección de num en r0, y r1, respectivamente,\n\t\tbl scanf        @ respectivamente.\n\n3. Lectura del número: Aquí es donde entra en juego scanf(). Cargamos la dirección de la cadena de formato \"format\" en r0 y la dirección de la variable num en r1. Luego, llamamos a scanf(). Espera a que el usuario ingrese un número y lo almacena en la variable num.\n \n\t\tldr r1, =num    @ imprimir num formateado con la cadena de salida.\n\t\tldr r1, [r1]\n\t\tldr r0, =output\n\t\tbl printf\n\n4. Mostrar el número ingresado: Ahora que tenemos el número en num, necesitamos mostrarlo al usuario. Para hacerlo, cargamos la dirección de num en r1, leemos su contenido y lo almacenamos en r1. Luego, cargamos la dirección de la cadena \"output\" en r0 y llamamos a printf(). Como resultado, el número ingresado se mostrará en la pantalla en el formato deseado.\n \n\t\tpop {ip, pc}    @ recuperar la dirección de retorno en pc\n\n5. Fin de la función main: Finalmente, recuperamos la dirección de retorno y salimos de la función main.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftectijuana%2Farmexpos-covid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftectijuana%2Farmexpos-covid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftectijuana%2Farmexpos-covid/lists"}