Repository navigation
Examen: Parcial 2:2026_04_13:Robotica

- Tiempo: 50 minutos
- Descripción: Examen Parcial 1. Laboratorio. Grado en Ingeniería de Robótica Software
- Fecha: 2025/Feb/24
- Temario: Sesiones L1-L4
Los títulos en inglés (title/headings) se caracterizan por iniciar con mayúscula cada una de las palabras relevantes que lo componen. Hay diferentes estilos (Associated Press, APA, Chicago Manual of Style, MLA) que tienen pequeñas diferencias entre ellos.
El programa requerido en este ejercicio ha de llamarse headerCap.s y se pide realizar una transformación de una frase a un título de una forma simplificada que tiene que realizar las siguientes tareas:
- Ha de pedir al usuario la frase a transformar.
- La frase introducida por el usuario ha de almacenarse en memoria (no más de 120 caracteres).
- El programa ha de transformar la frase introducida por el usuario en otra cuyas palabras empiezan por mayúscula (en la misma zona de memoria). Esta transformación es independiente del tamaño de la palabra. Si la palabra empieza por mayúscula, por dígito o carácter especial no hay que hacer ninguna transformación La frase de entrada puede contener caracteres especiales o más de un espacio entre las palabras que se han de respetar en la cadena resultante
- El programa ha de imprimir la frase transformada
Ejemplo1 de ejecución:
Introduzca frase a capitalizar: **** user input : Learning RISC-V assembler language
La frase transformada es: Learning RISC-V Assembler LanguageEjemplo 2 de ejecución:
Introduzca frase a capitalizar: **** user input : 3GPP gx interface description
La frase transformada es: 3GPP Gx Interface DescriptionNOTAS: Referencias de algunos caracteres ASCII que pueden ser útiles:
- 'A' es 0x41
- 'a' es 0x61
- 'z' es 0x7A
- El espacio en blanco es 0x20
#Programa que transforma una frase a un título con todas las palabras en mayúsculas
.include "servicios.asm"
.eqv NEW_WORD 1
.eqv NO_NEW_WORD 0
.eqv A_MIN 0x61 #'a'
.eqv Z_MIN 0x7A #'z'
.eqv SPACE 0x20 #' '
.eqv DIF -0x20 # a (0x61) - A(0x41)
.eqv TITLE_SIZE 121
.data
title: .space TITLE_SIZE
msg1: .string "Introduzca frase a capitalizar: "
msg2: .string "La frase transformada es: "
.text
#Imprimir mensaje para pedir frase
li a7, PRINT_STRING
la a0, msg1
ecall
#Leer la frase del usuario
li a7, READ_STRING
li a1, TITLE_SIZE
la a0, title
ecall
#Imprimir salto de linea
#li a7, PRINT_CHAR
#li a0, '\n'
#ecall
#Transformación
la t0, title
li t1, NEW_WORD
bucle:
lb t2, 0(t0) #lee el siguiente caracter
#comprueba si es el final de la cadena
beqz t2, fin_transformacion
#comprueba si es minúscula
li t3, A_MIN
blt t2,t3, no_minuscula
li t3, Z_MIN
bgt t2, t3, no_minuscula
#es minúscula
li t4, NEW_WORD
bne t1, t4, incrementa_puntero
#es minúscula y tengo el flag que me indica que es nueva palabra => Tranformo
addi t2, t2, DIF #transforma minúscula en mayúscula
sb t2,0(t0) #guarda en string
li t1, NO_NEW_WORD # quita marca para no cambiar siguientes caracteres
j incrementa_puntero
no_minuscula:
li t1, NO_NEW_WORD #resetea el flag, solo se pone si hay un espacio
#comprobar si es un espacio => para saber que siguiente vocal hay que transformarla.
li t3, SPACE
bne t2,t3,incrementa_puntero
li t1, NEW_WORD
incrementa_puntero:
addi t0, t0, 1
j bucle
fin_transformacion:
#Imprimir mensaje para mostrar transformación
li a7, PRINT_STRING
la a0, msg2
ecall
#Imprimir frase transformada
li a7, PRINT_STRING
la a0, title
ecall
#Imprimir salto de linea
li a7, PRINT_CHAR
li a0, '\n'
ecall
#exit
li a7, EXIT
ecallLa evaluación se hace en dos fases:
- Comprobación de la funcionalidad siguiendo indicaciones en descripción de ejercicio
- Inspección visual del código: código limpio, claro, con definición de las constantes apropiadas, con comentarios, fallos de programación, nombre de fichero correcto, etc.
- Juan Ignacio Pérez
- Miguel Ángel de Miguel
- Juan González-Gómez (Obijuan)

L1: El simulador RARs
L2: Calculando expresiones
L3: Práctica 1-3. Variables
L4: Pract 2-1. E/S mapeada
L5: Práctica 2-2: Inst. ecall
L6: Prác 2-3: Cadenas
L7: Práct 3-1: Bucles y saltos
L8: Práct 3-2: Cadenas II
L9: Pract 4-1: Subrut. Nivel-1
L10: Pract 4-2: La pila
L11: Pract 4-3: Recursividad
L12: Pract 5-1. Heap. Listas
L13: RV32I: Resto de instrucciones
L14: Macros
L15: Entrada/Salida a bajo nivel
L16: Multiplicaciones/divisiones. Unit Tests 🚧
L17: Biblioteca stdio: salida a alto nivel 🚧
Los registros de estado y control (CSR)
Interrupciones y excepciones
Borrador
Soluciones a los ejercicios planteados en cada sesión para practicar:
Sesión L1
Sesión L2
Sesión L3
Sesión L4
Sesión L5
Sesión L6
Sesión L7
Sesión L8
Sesión L9
Sesión L10
Sesión L11
Sesión L12
Simulacro examen 1
GISAM. Ordinario. 2019-Dic-11
GISAM. Extra. 2020-Jul-03
GISAM. Ordinario. 2021-Ene-21
GISAM. Ordinario. 2022-Ene-10
GISAM. Extra. 2022-Jun-29
GISAM. Parcial 1. 2022-Oct-26
GISAM. Parcial 2. 2022-Nov-30
GISAM. Parcial 3. 2022-Dic-21
GISAM. Parcial 1. 2023-Oct-09
GISAM. Parcial 2. 2023-Nov-11
GISAM. Parcial 3. 2023-Dic-20
GISAM. Extra. 2024-Jun-17
GISAM. Parcial 1. 2024-Oct-14
GISAM. Parcial 2. 2024-Nov-13
GISAM. Parcial 3. 2024-Dic-16
GISAM. Extra. 2025-Jun-17
GISAM. Parcial 1. 2025-Oct-20
GISAM. Parcial 2. 2025-Nov-19
GISAM. Parcial 3. 2026-Enero-9
GISAM. Parcial 1. 2026-Oct-21
TELECO. Ordinario. 2019-Dic-13
TELECO. Extra. 2020-Jul-07
TELECO. Ordinario. 2021-Ene-21
TELECO. Extra. 2021-Jul-02
TELECO. Ordinario. 2022-Ene-10
TELECO. Extra. 2022-Jun-29
TELECO. Ordinario. 2023-Ene-10
TELECO. Extra. 2023-Jun-29
TELECO. Parcial 1. 2023-Oct-20
TELECO. Parcial 2. 2023-Nov-17
TELECO. Parcial 3. 2023-Dic-22
TELECO. Extra. 2024-Jun-17
TELECO. Parcial 1. 2024-Oct-10
TELECO. Parcial 2. 2024-Nov-21
TELECO. Parcial 3. 2024-Dic-19
TELECO. Extra. 2025-Jun-17
TELECO. Parcial 1. 2025-Oct-10
TELECO. Parcial 2. 2025-Nov-13
TELECO. Parcial 3. 2026-Ene-21
TELECO. Extra. 2026-Jun-25
TELECO. Parcial 1. 2026-Oct-09
Robótica. Ordinario. 2020-Jun-1
Robótica. Extra. 2020-Jul-13
Robótica. Ordinario. 2021-Mayo-20
Robótica. Extra. 2021-Junio-16
Robótica. Parcial 1. 2022-Feb-25
Robótica. Parcial 2. 2022-Abril-1
Robótica. Parcial 3. 2022-Mayo-6
Robótica. Parcial 1. 2023-Feb-27
Robótica. Parcial 2. 2023-Mar-27
Robótica. Parcial 3. 2023-May-08
Robótica. Parcial 1. 2024-Feb-26
Robótica. Parcial 2. 2024-Mar-20
Robótica. Parcial 3. 2024-May-06
Robótica. Extra. 2024-Junio-24
Robótica. Parcial 1. 2025-Feb-25
Robótica. Parcial 2. 2025-Mar-31
Robótica. Parcial 3. 2025-May-19
Robótica. Parcial 1. 2026-Feb-23
Robótica. Parcial 2. 2026-Abr-13
Robótica. Parcial 3. 2026-May-11
Datos. Parcial 1. 2023-Oct-09
Datos. Parcial 2. 2023-Nov-15
Datos. Parcial 3. 2023-Dic-20
Datos. Parcial 1. 2024-Oct-09
Datos. Parcial 2. 2024-Nov-13
Datos. Parcial 3. 2025-Ene-17
Datos. Parcial 1. 2025-Oct-15
Datos. Parcial 2. 2025-Nov-19