0 calificaciones0% encontró este documento útil (0 votos)
3 vistas2 páginas
Este documento describe un problema de procesamiento de texto donde se debe implementar una función que toma un texto y una lista de comandos como entrada y devuelve el texto resultante después de aplicar secuencialmente los comandos. Los comandos incluyen intercambiar mayúsculas y minúsculas, borrar caracteres, duplicar subcadenas, invertir subcadenas y más. Se proporcionan ejemplos y 14 subtareas de prueba para implementar la función de procesamiento de texto.
Este documento describe un problema de procesamiento de texto donde se debe implementar una función que toma un texto y una lista de comandos como entrada y devuelve el texto resultante después de aplicar secuencialmente los comandos. Los comandos incluyen intercambiar mayúsculas y minúsculas, borrar caracteres, duplicar subcadenas, invertir subcadenas y más. Se proporcionan ejemplos y 14 subtareas de prueba para implementar la función de procesamiento de texto.
Este documento describe un problema de procesamiento de texto donde se debe implementar una función que toma un texto y una lista de comandos como entrada y devuelve el texto resultante después de aplicar secuencialmente los comandos. Los comandos incluyen intercambiar mayúsculas y minúsculas, borrar caracteres, duplicar subcadenas, invertir subcadenas y más. Se proporcionan ejemplos y 14 subtareas de prueba para implementar la función de procesamiento de texto.
N1 Problema 4 | N2 Problema 2 procesatexto Certamen Jurisdiccional OIA 2023
Procesando un texto Contribución de Agustín Santiago Gutiérrez
Descripción del problema o minúscula o mezclado. Si no
Ricardo quiere crear un procesador aparece no hace nada. Por ejemplo de texto que sea mucho mejor que los aguaAgUSagusyAGUS se transforma en existentes. aguaagusyAGUS.
Un procesador de texto es, para Ri- AGREGA-α: Agrega la cadena α dada
cardo, una función que toma un texto y en el comando, al final del texto. una lista de comandos, y va aplicando Por ejemplo el comando AGREGA-xYzz sucesivamente los comandos indicados transformaría abc en abcxYzz en orden, para obtener un texto final como DUP-i-j: Duplica la subcadena que resultado. empieza en el caracter i y termina en Más precisamente, un texto es una ca- el j, ahi mismo donde aparece. Por dena de inicialmente N caracteres forma- ejemplo el comando DUP-3-7 transfor- da solo por letras minúsculas y/o mayús- maría xxabcefyy en xxabcefabcefyy. culas del alfabeto inglés. Los caracteres INVERTIR-i-j: Invierte la subcadena en mayúsculas y minúsculas se conside- que empieza en el caracter i y ran diferentes, es decir por ejemplo c no termina en el j, ahi mismo don- es equivalente a C. de aparece. Por ejemplo el co- Los T comandos que hay que aplicar mando INVERTIR-3-7 transformaría al texto inicial se describen cada uno xxabcefyy en xxfecbayy. mediante una cadena de caracteres. Las BORRA-i: Borra el i-ésimo caracter. cadenas posibles para describir coman- CHAU-α: Borra la primera aparicion dos son: del texto α en la cadena, que tiene INTERCAMBIA: Las mayúsculas del tex- que coincidir exacto en mayúscu- to se vuelven minúsculas, y vicever- las y minúsculas. Si no aparece no sa. hace nada. Por ejemplo el comando BORRAULTI: Borra el ultimo caracter. Si CHAU-xY transformaría xyaxYbxY en el texto era vacío, no hace nada. xyabxY.
BORRAPRI: Borra el primer caracter. Si El resultado que se devuelve es el texto
el texto era vacío, no hace nada. final luego de aplicar los T comandos indicados. DUP: Duplica la cadena. Por ejem- plo si era coPIA, se transforma en En esta primera versión, Ricardo quiere coPIAcoPIA. que el procesador de texto tenga una memoria de hasta 1000 caracteres. Si en ROTA: Rota la cadena, llevando el cualquier momento (ya sea en el resultado primer caracter al final. Por ejemplo final, o en el texto que resulta de aplicar si era aBCD, se transforma en BCDa. Si los primeros k comandos, para algún 1 ≤ el texto era vacío, no hace nada. k ≤ T) se forma un texto de estrictamente INVERTIR: Invierte toda la cadena. Por más de 1000 caracteres, se debe retornar ejemplo abcdef cambia a fedcba. la cadena “MemoryLimitExceeded” (sin las CHAUAGUS: Borra la primera aparicion comillas). del texto AGUS en la cadena, ya sea que aparezca en mayúscula hoja 1 de 2 N1 Problema 4 | N2 Problema 2 procesatexto Certamen Jurisdiccional OIA 2023
Descripción de la función Ejemplo
Debes implementar la función Si se invoca al evaluador con la siguien- procesatexto(texto, comandos) te entrada: Sus parámetros son: CACEROLAcasaLimonXYZagusiagus 10 texto: Una cadena con el texto inicial INVERTIR que será procesado. CHAUAGUS INVERTIR comandos: Un arreglo de T cadenas, CHAUAGUS que indican en orden los comandos BORRA-24 que se deben aplicar al texto. BORRAULTI La función debe retornar una cadena, INVERTIR con el texto resultante luego de aplicar los BORRAULTI INTERCAMBIA T comandos. INVERTIR Evaluador local Para un programa correcto, la salida El evaluador lee de la entrada estándar será: la cadena texto y el entero T. Luego lee T cadenas de texto, los elementos del acerolaCASAlIMONxyzIAG arreglo comandos. Escribe a la salida estándar la cadena retornada por la llamada Subtareas procesatexto(texto, comandos). 1. T = 1, comando INTERCAMBIA (5 puntos) 2. T = 1, comando BORRAULTI (5 puntos) Restricciones 3. T = 1, comando BORRAPRI (5 puntos) 1 ≤ N ≤ 100 4. T = 1, comando DUP (5 puntos) 1 ≤ T ≤ 100 5. T = 1, comando ROTA (5 puntos) Cada comando es una cadena de 6. T = 1, comando INVERTIR (5 puntos) hasta 50 caracteres 7. T = 1, comando CHAUAGUS (5 puntos) Se garantiza que en los comandos 8. T = 1, comando AGREGA-α (5 puntos) DUP-i-j e INVERTIR-i-j, se tiene i ≤ j y 9. T = 1, comando DUP-i-j (5 puntos) tanto i como j son índices válidos de 10. T = 1, comando INVERTIR-i-j (5 puntos) un caracter en el texto al momento 11. T = 1, comando BORRA-i (5 puntos) de ejecutar el comando 12. T = 1, comando CHAU-α (5 puntos) Se garantiza que en los comandos 13. T = 1 (20 puntos) BORRA-i, i es un índice válido de un 14. Sin más restricción (20 puntos) caracter en el texto al momento de ejecutar el comando Tanto el texto inicial como las cade- nas α en los comandos explicados contienen únicamente letras mayús- culas y minúsculas del alfabeto in- glés