Diferència entre revisions de la pàgina «ASIX-M3-UF1-A4.1-Exercicis cadenes»
(Hi ha 10 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 30: | Línia 30: | ||
3. Genera un programa que encripti una cadena de caràcters. Per exemple: '“avadakedavra”' encriptat es '“bwbeblfebwsb”' i el mètode d’encriptació és canviar un caràcter pel seu successor a l’abecedari (el successor de ‘z’ és ‘a’). | 3. Genera un programa que encripti una cadena de caràcters. Per exemple: '“avadakedavra”' encriptat es '“bwbeblfebwsb”' i el mètode d’encriptació és canviar un caràcter pel seu successor a l’abecedari (el successor de ‘z’ és ‘a’). | ||
− | 4. Genera un programa que encripti una text de caràcters. Per exemple: '“hola que tal”' encriptat es '“ipmb@ | + | 4. Genera un programa que encripti una text de caràcters. Per exemple: '“hola que tal”' encriptat es '“ipmb@rvf@ubm”' i el mètode d’encriptació és canviar un caràcter pel seu successor a l’abecedari (el successor de ‘z’ és ‘a’ i el caràcter ' ' es substitueix per '@'). |
5. Feu un programa que si li passem un nom i un cognom com a paràmetres ens doni la benvinguda: | 5. Feu un programa que si li passem un nom i un cognom com a paràmetres ens doni la benvinguda: | ||
Línia 38: | Línia 38: | ||
Hola desconegut. | Hola desconegut. | ||
</pre> | </pre> | ||
− | |||
6. Feu un programa que calculi la mitjana aritmètica dels valors passats com a paràmetres. Si no es passa cap paràmetre sortirà un missatge d’error i si el primer paràmetre és '''–ajut''' el programa traurà una petita explicació del funcionament. | 6. Feu un programa que calculi la mitjana aritmètica dels valors passats com a paràmetres. Si no es passa cap paràmetre sortirà un missatge d’error i si el primer paràmetre és '''–ajut''' el programa traurà una petita explicació del funcionament. | ||
7. Genereu un programa anomenat '''ComptaAsString''' que compti quantes lletres 'a' conté una cadena de text. El text per tractar pot ser qualsevol i el podeu declarar com una constant en el codi font. | 7. Genereu un programa anomenat '''ComptaAsString''' que compti quantes lletres 'a' conté una cadena de text. El text per tractar pot ser qualsevol i el podeu declarar com una constant en el codi font. | ||
− | |||
8. Fés un programa que, primer demani a l’usuari escriure una rere l’altra, tres paraules que només continguin lletres minúscules. A continuació el programa ha d’escriure quina és la paraula més llarga i quina és l’alfabèticament menor. | 8. Fés un programa que, primer demani a l’usuari escriure una rere l’altra, tres paraules que només continguin lletres minúscules. A continuació el programa ha d’escriure quina és la paraula més llarga i quina és l’alfabèticament menor. | ||
− | + | 9. Fes un programa que llegeixi una frase i un número enter N i ens digui quines i quantes paraules tenen longitud N. | |
− | 9. Fes un programa que llegeixi una | ||
− | |||
10. Fes un programa que llegeixi una cadena i la mostri invertida. | 10. Fes un programa que llegeixi una cadena i la mostri invertida. | ||
− | |||
11. Volem un programa per treballar amb cadenes que mitjançant un menú ens permeti les següents opcions: | 11. Volem un programa per treballar amb cadenes que mitjançant un menú ens permeti les següents opcions: | ||
− | :*Mostrar els n primers caràcters d’una cadena | + | :*1- Mostrar els n primers caràcters d’una cadena |
− | :*Mostrar els n últims caràcters d’una cadena (d’esquerra a dreta) | + | :*2- Mostrar els n últims caràcters d’una cadena (d’esquerra a dreta) |
− | :*Eliminar els espais en blanc que hi hagi al final de la cadena | + | :*3- Eliminar els espais en blanc que hi hagi al final de la cadena |
− | :*Eliminar els espais en blanc que hi hagi al principi de la cadena | + | :*4- Eliminar els espais en blanc que hi hagi al principi de la cadena |
− | :*Eliminar d’una cadena els n caràcters que apareixen a partir de la posició p | + | :*5- Eliminar d’una cadena els n caràcters que apareixen a partir de la posició p |
− | :*Inserir una cadena dins d’una altra a partir de la posició p | + | :*6- Inserir una cadena dins d’una altra a partir de la posició p |
− | :*Comptar el nombre de vegades que apareix una cadena dins d’una altra | + | :*7- Comptar el nombre de vegades que apareix una cadena dins d’una altra |
− | :*Esborrar totes les aparicions d’una cadena dins d’una altra | + | :*8- Esborrar totes les aparicions d’una cadena dins d’una altra |
− | + | :*9- Sortir del programa. | |
− | 12. Escriu un programa que utilitzi | + | 12. Escriu un programa que utilitzi per comparar parts de dues cadenes. Cal demanar com a entrada |
− | comparar dues cadenes | + | el nombre de caràcters a comparar i l’índex inicial de la comparació de cada cadena. L’aplicació haurà d’indicar si les cadenes són iguals. Ignoreu si els caràcters estan en |
− | el nombre de caràcters a comparar i l’índex inicial de la comparació. L’aplicació | ||
− | haurà d’indicar si les cadenes són iguals. Ignoreu si els caràcters estan en | ||
majúscules o no en el moment de la comparació. | majúscules o no en el moment de la comparació. | ||
− | |||
13. Escriu una aplicació que rebi com a entrada una línia de text i un caràcter de | 13. Escriu una aplicació que rebi com a entrada una línia de text i un caràcter de | ||
− | cerca i | + | cerca i indiqui el nombre d’ocurrències del caràcter en el text. |
− | nombre d’ocurrències del caràcter en el text. | ||
− | |||
14. Féu un programa que llegeixi una cadena de caràcters i indiqui si la cadena és un | 14. Féu un programa que llegeixi una cadena de caràcters i indiqui si la cadena és un | ||
Línia 82: | Línia 72: | ||
d’esquerra a dreta que de dreta a esquerra. Com per exemple : dabale arroz a la | d’esquerra a dreta que de dreta a esquerra. Com per exemple : dabale arroz a la | ||
zorra el abad. Cal entendre que per poder-ho fer d’aquesta manera no han | zorra el abad. Cal entendre que per poder-ho fer d’aquesta manera no han | ||
− | d’haver-hi espais en blanc. | + | d’haver-hi espais en blanc, per tant, primer cal eliminar els espais en blanc. |
− | + | <!-- | |
− | |||
15. Escriu una aplicació que utilitzi la generació de números aleatoris per a crear | 15. Escriu una aplicació que utilitzi la generació de números aleatoris per a crear | ||
enunciats. Utilitza quatre taules de cadenes anomenades article, substantiu, verb | enunciats. Utilitza quatre taules de cadenes anomenades article, substantiu, verb | ||
Línia 94: | Línia 83: | ||
de generar 20 enunciats. | de generar 20 enunciats. | ||
Nota: Per generar números aleatoris cal fer el codi següent: | Nota: Per generar números aleatoris cal fer el codi següent: | ||
− | + | import random | |
− | |||
− | |||
+ | print(random.randint(0,9)) | ||
+ | això genera un valor >= 0 i <= 9 | ||
+ | --> | ||
− | + | 15. Excercici per entregar '''languageGames''': En molts idiomes disposem de variants lúdiques de l'idioma. Aquest programa codificarà dos mètodes que ens permetran traduir paraules d'idiomes coneguts a variants lúdiques d'aquests. Expliquem primer aquestes variants: | |
:'''a) Jerigonza''' (variant lúdica del castellà): després de cada vocal s'afegeix una 'p' i es repeteix la vocal. | :'''a) Jerigonza''' (variant lúdica del castellà): després de cada vocal s'afegeix una 'p' i es repeteix la vocal. | ||
Línia 108: | Línia 98: | ||
::*“Gabriel” seria “Gapabripiepel” | ::*“Gabriel” seria “Gapabripiepel” | ||
::*“murcielago” seria “mupurcipiepelapagopo” | ::*“murcielago” seria “mupurcipiepelapagopo” | ||
− | |||
− | |||
:'''b) Basic Pig Latin''' (variant lúdica de l'anglès): tenim dues regles: | :'''b) Basic Pig Latin''' (variant lúdica de l'anglès): tenim dues regles: | ||
Línia 125: | Línia 113: | ||
::*“star” seria “arstay” | ::*“star” seria “arstay” | ||
− | + | Cal fer un menú amb tres opcions: Jerigonza, Basic Pig latin i Sortir. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''NOTA:''' Per simplificar, podeu suposar que la dada d'entrada serà UNA ÚNICA paraula i que aquesta no tindrà ni accents ni caràcters diferents de lletres. | '''NOTA:''' Per simplificar, podeu suposar que la dada d'entrada serà UNA ÚNICA paraula i que aquesta no tindrà ni accents ni caràcters diferents de lletres. | ||
− | + | <!-- | |
17. mySplit: L'objectiu d'aquest exercici és codificar una funcionalitat similar al mètode split de la classe String. | 17. mySplit: L'objectiu d'aquest exercici és codificar una funcionalitat similar al mètode split de la classe String. | ||
Línia 161: | Línia 134: | ||
'''NOTA 1:''' NO podeu usar el mètode split de la classe String. | '''NOTA 1:''' NO podeu usar el mètode split de la classe String. | ||
'''NOTA 2:''' Podeu afegir al programa qualsevol mètode o fragment de codi fet a classe. | '''NOTA 2:''' Podeu afegir al programa qualsevol mètode o fragment de codi fet a classe. | ||
+ | --> |
Revisió de 15:38, 4 març 2024
1. L’última lletra del DNI pot calcular-se a partir del seus números. Per a això només has de dividir el número per 23 i quedar-te amb la resta. Fes un programa per calcular la lletra d’un DNI. La lletra que correspon a cada número la tens en aquesta taula:
0 - T 1 - R 2 - W 3 - A 4 - G 5 - M 6 - Y 7 - F 8 - P 9 - D 10 - X 11 - B 12 - N 13 - J 14 - Z 15 - S 16 - Q 17 - V 18 - H 19 - L 20 - C 21 - K 22 – E
2. Fes un programa per que verifiqui que la lletra d’un DNI es correspon amb el seu número:
3. Genera un programa que encripti una cadena de caràcters. Per exemple: '“avadakedavra”' encriptat es '“bwbeblfebwsb”' i el mètode d’encriptació és canviar un caràcter pel seu successor a l’abecedari (el successor de ‘z’ és ‘a’).
4. Genera un programa que encripti una text de caràcters. Per exemple: '“hola que tal”' encriptat es '“ipmb@rvf@ubm”' i el mètode d’encriptació és canviar un caràcter pel seu successor a l’abecedari (el successor de ‘z’ és ‘a’ i el caràcter ' ' es substitueix per '@').
5. Feu un programa que si li passem un nom i un cognom com a paràmetres ens doni la benvinguda:
Benvingut Sr. ... i si no l'hi donem digui : Hola desconegut.
6. Feu un programa que calculi la mitjana aritmètica dels valors passats com a paràmetres. Si no es passa cap paràmetre sortirà un missatge d’error i si el primer paràmetre és –ajut el programa traurà una petita explicació del funcionament.
7. Genereu un programa anomenat ComptaAsString que compti quantes lletres 'a' conté una cadena de text. El text per tractar pot ser qualsevol i el podeu declarar com una constant en el codi font.
8. Fés un programa que, primer demani a l’usuari escriure una rere l’altra, tres paraules que només continguin lletres minúscules. A continuació el programa ha d’escriure quina és la paraula més llarga i quina és l’alfabèticament menor.
9. Fes un programa que llegeixi una frase i un número enter N i ens digui quines i quantes paraules tenen longitud N.
10. Fes un programa que llegeixi una cadena i la mostri invertida.
11. Volem un programa per treballar amb cadenes que mitjançant un menú ens permeti les següents opcions:
- 1- Mostrar els n primers caràcters d’una cadena
- 2- Mostrar els n últims caràcters d’una cadena (d’esquerra a dreta)
- 3- Eliminar els espais en blanc que hi hagi al final de la cadena
- 4- Eliminar els espais en blanc que hi hagi al principi de la cadena
- 5- Eliminar d’una cadena els n caràcters que apareixen a partir de la posició p
- 6- Inserir una cadena dins d’una altra a partir de la posició p
- 7- Comptar el nombre de vegades que apareix una cadena dins d’una altra
- 8- Esborrar totes les aparicions d’una cadena dins d’una altra
- 9- Sortir del programa.
12. Escriu un programa que utilitzi per comparar parts de dues cadenes. Cal demanar com a entrada el nombre de caràcters a comparar i l’índex inicial de la comparació de cada cadena. L’aplicació haurà d’indicar si les cadenes són iguals. Ignoreu si els caràcters estan en majúscules o no en el moment de la comparació.
13. Escriu una aplicació que rebi com a entrada una línia de text i un caràcter de cerca i indiqui el nombre d’ocurrències del caràcter en el text.
14. Féu un programa que llegeixi una cadena de caràcters i indiqui si la cadena és un palíndrom. Un palíndrom és una cadena que es llegeix d’igual manera d’esquerra a dreta que de dreta a esquerra. Com per exemple : dabale arroz a la zorra el abad. Cal entendre que per poder-ho fer d’aquesta manera no han d’haver-hi espais en blanc, per tant, primer cal eliminar els espais en blanc.
15. Excercici per entregar languageGames: En molts idiomes disposem de variants lúdiques de l'idioma. Aquest programa codificarà dos mètodes que ens permetran traduir paraules d'idiomes coneguts a variants lúdiques d'aquests. Expliquem primer aquestes variants:
- a) Jerigonza (variant lúdica del castellà): després de cada vocal s'afegeix una 'p' i es repeteix la vocal.
Exemples:
- “casa” seria “capasapa”
- “Gabriel” seria “Gapabripiepel”
- “murcielago” seria “mupurcipiepelapagopo”
- b) Basic Pig Latin (variant lúdica de l'anglès): tenim dues regles:
- A les paraules que comencen per vocal se'ls afegeix al darrera el sufix “ay”. Exemples:
- “ant” seria “antay”
- “astronaut” seria “astronautay”
- A les paraules que comencen per consonant, es mouen totes les consonants del davant de la primera vocal al final i s'afegeix el sufix “ay”. Exemples:
- “mess” seria “essmay”
- “father” seria “atherfay”
- “chick” seria “ickchay”
- “star” seria “arstay”
Cal fer un menú amb tres opcions: Jerigonza, Basic Pig latin i Sortir.
NOTA: Per simplificar, podeu suposar que la dada d'entrada serà UNA ÚNICA paraula i que aquesta no tindrà ni accents ni caràcters diferents de lletres.