Exercici 1. Desenvolupeu un programa en shell capaç d'identificar i extreure les línies d'un fitxer de text (ex1_ex.txt)…
Marc formal de resolució de problemes en enginyeria
Exercici 1. Cerca insensible a majúscules de dues paraules
Desenvolupeu un programa en shell capaç d'identificar i extreure les línies d'un fitxer de text (per exemple, ex1_ex.txt) que continguin simultàniament els termes «un» i «dos», sense distingir entre majúscules i minúscules i en qualsevol ordre d'aparició.
Considereu el següent text de prova contingut a l'arxiu:
Aquest és un exemple.
Un dos tres.
Aquest exemple no conté totes les paraules.
Un altre exemple amb dos elements.
Finalment, una línia amb dos paraules: un i dos.

Exercici 2. Elaboreu un script en Bash que sol·liciti a l'usuari un valor numèric enter a través de l'entrada estàndard i…
Marc formal de resolució de problemes en enginyeria
Exercici 2. Determinació de signe positiu per a un enter
Elaboreu un script en Bash que sol·liciti a l'usuari un valor numèric enter a través de l'entrada estàndard i verifiqui si es tracta d'un nombre estrictament positiu, informant del resultat per pantalla.

Exercici 3. Programeu un guió de comandes que demani a l'usuari una cadena de text i procedeixi a imprimir-la per la…
Marc formal de resolució de problemes en enginyeria
Exercici 3. Repetició en bucle d'una paraula
Programeu un guió de comandes que demani a l'usuari una cadena de text i procedeixi a imprimir-la per la sortida estàndard un total de 10 vegades de manera iterativa.

Exercici 4. Creeu un script que sol·liciti paraules de forma continuada per teclat i les vagi afegint a un fitxer de text…
Marc formal de resolució de problemes en enginyeria
Exercici 4. Lectura interactiva, desat i ordenació
Creeu un script que sol·liciti paraules de forma continuada per teclat i les vagi afegint a un fitxer de text fins que l'usuari teclegi el caràcter «q». Un cop finalitzada la recollida, el fitxer ha de quedar ordenat alfabèticament.
Pots comparar el teu script amb la solució oficial a continuació.

Exercici 5. Programeu un script que rebi per teclat la ruta absoluta d'un element del sistema de fitxers i determini si…
Marc formal de resolució de problemes en enginyeria
Exercici 5. Comprovació de la naturalesa d'una ruta
Programeu un script que rebi per teclat la ruta absoluta d'un element del sistema de fitxers i determini si correspon a un directori o bé a un fitxer ordinari (regular).
Pots comparar el teu codi amb la solució oficial a continuació.

Exercici 6. Dissenyeu un script capaç de canviar el valor del primer camp d'una fila concreta d'un fitxer delimitat per…
Marc formal de resolució de problemes en enginyeria
Exercici 6. Substitució del primer camp d'un registre delimitat
Dissenyeu un script capaç de canviar el valor del primer camp d'una fila concreta d'un fitxer delimitat per dos punts («:»). El programa ha de demanar per teclat: la ruta de l'arxiu original, el número de fila a editar, el nou text per al primer camp i el nom del fitxer de sortida.
Pots comparar el teu codi amb la solució oficial a continuació.

Exercici 7. Escriviu un script en què l'usuari introdueixi un dígit de l'1 al 3. Segons l'entrada, cal mostrar un…
Marc formal de resolució de problemes en enginyeria
Exercici 7. Estructura condicional múltiple case per posicions
Escriviu un script en què l'usuari introdueixi un dígit de l'1 al 3. Segons l'entrada, cal mostrar el missatge corresponent:
1: «Ets el primer en arribar»
2: «Subcampió de la temporada»
3: «A la tercera va la vençuda»
En cas de proporcionar qualsevol altre valor, s'haurà d'emetre un advertiment d'error.
Pots comparar el teu codi amb la solució oficial a continuació.

Exercici 8. Crear un script en Bash que iteri per totes les files del fitxer file1 (format separat per «:») i mostri per…
Marc formal de resolució de problemes en enginyeria
Exercici 8. Processament per files d'un fitxer d'usuaris
Creeu un script que iteri per totes les files del fitxer file1 (amb format tipus /etc/passwd, separat per «:») i mostri per a cadascuna d'elles un missatge amb l'índex de la línia i el contingut del seu primer camp, seguint el format: El camp 1 de la línia XX és YYY.

Exercici 9. Desenvolupar un programa anomenat taules.sh que calculi les taules de multiplicar de l'1 al 10 i desi…
Marc formal de resolució de problemes en enginyeria
Exercici 9. Generació automatitzada de taules de multiplicar
Desenvolupeu un programa anomenat taules.sh que calculi les taules de multiplicar de l'1 al 10. Cada taula s'ha d'enregistrar en un arxiu independent anomenat taula-del-X, on X sigui el número corresponent (per exemple: taula-del-1, taula-del-2, etc.).

Exercici 10. Construir l'script calculadora.sh que demani dos operands i un símbol operatiu (+, -, x, /) i mostri el…
Marc formal de resolució de problemes en enginyeria
Exercici 10. Calculadora aritmètica amb menú d'operacions
Construïu l'script calculadora.sh capaç d'executar les quatre operacions bàsiques (suma, resta, multiplicació i divisió amb dos decimals). L'usuari haurà d'introduir dos nombres per teclat i seleccionar el símbol operatiu desitjat entre: «+», «-», «x» o «/». El resultat de la computació s'ha d'imprimir per pantalla.

Exercici 11. Implementeu l'script nom.sh que demani un nom per teclat i mostri totes les línies senceres d'aquells…
Marc formal de resolució de problemes en enginyeria
Exercici 11. Cerca de registres per coincidència de nom
Donat el fitxer estructurat esportistes amb els camps nom:cognom1:cognom2:edat:club:població, implementeu l'script nom.sh que demani un nom per teclat i mostri totes les línies senceres d'aquells esportistes el nom dels quals coincideixi amb el terme indicat.

Exercici 12. Programeu l'script FiltrarCognom.sh per dividir el fitxer esportistes en esportistes-AM i esportistes-NZ,…
Marc formal de resolució de problemes en enginyeria
Exercici 12. Classificació alfabètica per primer cognom
Programeu l'script FiltrarCognom.sh per dividir el fitxer esportistes en dos fitxers ordenats pel primer cognom:
esportistes-AM: contindrà els esportistes el primer cognom dels quals comenci per una lletra entre la A i la M (ambdues incloses).
esportistes-NZ: contindrà aquells el primer cognom dels quals comenci per una lletra entre la N i la Z.

Exercici 13. Escriviu l'script FiltrarClub.sh que demani a l'usuari el nom d'un club esportiu i guardi en un fitxer…
Marc formal de resolució de problemes en enginyeria
Exercici 13. Filtratge de membres d'un club
Escriviu l'script FiltrarClub.sh que demani a l'usuari el nom d'un club esportiu i guardi en un fitxer anomenat Club tots els registres del fitxer esportistes que pertanyin a aquesta entitat.

Exercici 14. Desenvolupeu el programa interactiu menu.sh que presenti contínuament a l'usuari un ventall de 4 opcions…
Marc formal de resolució de problemes en enginyeria
Exercici 14. Menú cíclic de gestió d'esportistes
Desenvolupeu el programa interactiu menu.sh que presenti contínuament a l'usuari el següent ventall d'opcions fins que es decideixi sortir:
Calcular l'edat mitjana dels esportistes (cridant el programa mitjana.sh).
Llistar tots els integrants d'un club (executant FiltrarClub.sh).
Llistar esportistes segons el rang del cognom (executant FiltrarCognom.sh).
Sortir de l'aplicació.

Exercici 15. Dissenyeu un script que sol·liciti a l'usuari un enter de tres xifres i indiqui si el valor és o no capicua,…
Marc formal de resolució de problemes en enginyeria
Exercici 15. Verificació de xifra capicua de tres dígits
Dissenyeu un script que sol·liciti a l'usuari un enter de tres xifres i indiqui si el valor és o no capicua, avaluant les posicions dels seus caràcters.

Exercici 16. Implementeu un script que mostri un menú utilitzant la sentència select amb les quatre opcions: Acudit,…
Marc formal de resolució de problemes en enginyeria
Exercici 16. Menú interactiu amb la instrucció select
Implementeu un script que mostri un menú utilitzant la sentència select amb les quatre opcions: Acudit, Refrany, Poema i Sortir. Els missatges associats seran:
Acudit: «Saben aquel que dice»
Refrany: «Com més serem més riurem»
Poema: «Si parlo dels teus ulls»
Sortir: Finalitza el script.

Exercici 17. Programeu un script que llegeixi un fitxer compost d'una única línia i determini si les tres primeres…
Marc formal de resolució de problemes en enginyeria
Exercici 17. Comparació lèxica de les tres primeres paraules
Programeu un script que llegeixi un fitxer compost d'una única línia i determini si les tres primeres paraules que el componen són totes idèntiques entre si o bé presenten alguna diferència.

Exercici II.1. Creeu l'script arg1.sh que requereixi rebre exactament tres paràmetres posicionals per línia d'ordres. Si…
Marc formal de resolució de problemes en enginyeria
Exercici II.1. Control del nombre d'arguments rebuts
Creeu l'script arg1.sh que requereixi rebre exactament tres paràmetres posicionals per línia d'ordres. Si s'executa amb un nombre diferent d'arguments, ha de finalitzar emetent un avís d'error.

Exercici II.2. Desenvolupeu el programa arg2.sh que accepti tres paràmetres i els imprimeixi concatenats en una única…
Marc formal de resolució de problemes en enginyeria
Exercici II.2. Concatenació seqüencial d'arguments
Desenvolupeu el programa arg2.sh que accepti tres paràmetres i els imprimeixi concatenats en una única sortida de text, sense espais intermedis.

Exercici II.3. Construïu l'script arg3.sh que prengui per paràmetres el número de línia desitjat i el nom d'un arxiu de…
Marc formal de resolució de problemes en enginyeria
Exercici II.3. Extracció d'una línia específica mitjançant arguments
Construïu l'script arg3.sh que prengui per paràmetres el número de línia desitjat i el nom d'un arxiu de text, mostrant per pantalla exclusivament aquesta fila.

Exercici II.4. Implementeu factorial.sh per computar el factorial d'un nombre enter positiu passat com a primer argument de…
Marc formal de resolució de problemes en enginyeria
Exercici II.4. Càlcul del factorial a partir de la línia d'ordres
Implementeu factorial.sh per computar el factorial d'un nombre enter positiu passat com a primer argument de l'script.

Exercici II.5. Elaboreu l'script combinatori.sh per calcular el coeficient binomial C_n^m definint una funció per calcular…
Marc formal de resolució de problemes en enginyeria
Exercici II.5. Càlcul del nombre combinatori amb subrutina
Elaboreu l'script combinatori.sh per calcular el coeficient binomial a partir de dos valors enters i (on ) demanats per pantalla o per paràmetres, definint una funció per calcular els factorials.

Exercici Awk 1. Dissenyeu una instrucció amb awk a partir del fitxer esportistes (delimitat per ':') que mostri per a cada…
Marc formal de resolució de problemes en enginyeria
Exercici Awk 1. Recompte de línies i columnes
A partir del fitxer estructurat esportistes (delimitat per «:»), dissenyeu una instrucció amb awk que mostri per a cada registre el número d'ordre de la fila i la quantitat total de camps que posseeix.

Exercici Awk 2. Implementeu el programa mitjana-awk.sh per computar l'edat mitjana de tots els atletes registrats a…
Càlculs en enginyeria: unitats, dimensions i xifres significatives
Exercici Awk 2. Càlcul de la mitjana aritmètica d'edats
Implementeu el programa mitjana-awk.sh per computar l'edat mitjana de tots els atletes registrats a esportistes (l'edat se situa al quart camp) emprant les capacitats d'Awk.

Exercici Awk 3. Creeu el guió nom-awk.sh que demani a l'usuari un nom de pila i mostri la totalitat de dades d'aquells…
Marc formal de resolució de problemes en enginyeria
Exercici Awk 3. Cerca parametritzada per nom
Creeu el guió nom-awk.sh que demani a l'usuari un nom de pila i mostri la totalitat de dades d'aquells esportistes que tinguin aquest mateix nom al primer camp, resolent la consulta exclusivament mitjançant awk.

Exercici Awk 4. Elaboreu l'script FiltrarCognom-awk.sh per generar dos arxius a partir d'esportistes emprant la concordança…
Marc formal de resolució de problemes en enginyeria
Exercici Awk 4. Segmentació de la base de dades per cognom
Elaboreu l'script FiltrarCognom-awk.sh per generar dos arxius a partir d' esportistes emprant la concordança de patrons d'Awk sobre el segon camp:
esportistes-AM: atletes amb primer cognom iniciat entre A i M.
esportistes-NZ: atletes amb primer cognom iniciat entre N i Z.

Exercici Awk 5. Construïu l'script FiltrarClub.sh que sol·liciti per teclat o per argument el nom d'un club i generi el…
Marc formal de resolució de problemes en enginyeria
Exercici Awk 5. Filtratge per club i selecció de columnes
Construïu l'script FiltrarClub.sh que sol·liciti per teclat o per argument el nom d'un club i generi el fitxer Club contenint exclusivament el nom, el primer cognom i el segon cognom (separats per dos punts) dels esportistes que en formin part (el club és el cinquè camp del fitxer).
