Exercicis UT02
✏️ EXERCICI 1. Segons la forma en què s'executa JavaScript es pot dir que es tracta d'un llenguatge de programació:
- a) Compilat.
- b) Interpretat.
- c) Distribuït.
- d) Combinat.
✏️ EXERCICI 2. Que utilitzaries per incorporar un fitxer JavaScript a una pàgina web?
- a) head.
- b) body.
- c) script.
- d) code.
✏️ EXERCICI 3. A què denomines prompt?
- a) Al símbol de la consola des del qual pots llançar instruccions perquè les executi el navegador.
- b) A la ruta des de la qual es poden incorporar fitxers JavaScript a un HTML.
- c) A un atribut de l'etiqueta que et permet incloure fitxers JavaScript externs.
- d) Als missatges de sortida de la consola d'un navegador.
✏️ EXERCICI 4. Selecciona l'afirmació falsa en relació amb les regles que has de tenir en quarantena per definir identificadors:
- a) Pots usar qualsevol caràcter recollit en UNICODE.
- b) No distingeix entre majúscules i minúscules.
- c) El primer caràcter ha de ser una lletra, _ o $.
- d) No pot coincidir amb una paraula reservada del llenguatge.
✏️ EXERCICI 5. Si necessites crear una variable que no pot canviar al llarg de tot el programa, quin tipus de variable seria la més adequada?
- a) let.
- b) var.
- c) const.
- d) Si no pot canviar al llarg del programa, no és una variable. El seu propi nom ho indica.
✏️ EXERCICI 6. Quin operador faries servir per calcular la potència d'un número?
- a) *.
- b) **.
- c) ***.
- d) ****.
✏️ EXERCICI 7. Assenyala la resposta correcta en relació amb l'estructura de control if:
- a) Pots treure les claus {} si contenen una sola instrucció.
- b) No admet l'encadenament de més de 3 if elseif elseif else.
- c) És una estructura de control, de salt.
- d) Forma bucles que sense prendre precaucions podrien esdevenir infinits.
✏️ EXERCICI 8. Què és el més important en dissenyar un bucle del tipus que sigui?
- a) Assegurar-se que es pot assolir la condició d'acabament.
- b) No abusar de la seva mida ja que té costos computacionals.
- c) No anidar-los per no augmentar-ne la complexitat.
- d) No oblidar col·locar un default.
✏️ EXERCICI 9. Quina diferència hi ha entre while i do while?
- a) Cap, fan exactament el mateix en tots els casos.
- b) While s'executa sempre almenys una vegada, mentre que do while no té per què.
- c) Do while s'executa sempre almenys una vegada, while no.
- d) While és una estructura repetitiva i do while de salt.
✏️ EXERCICI 10. Assenyala l'afirmació correcta en relació amb les instruccions de salt:
- a) És molt bona idea usar-les amb freqüència per la seva agilitat saltant d'un punt a un altre del programa.
- b) Són molt útils en situacions molt concretes, però no n'has d'abusar.
- c) Tot i ser de salt, no permeten saltar a altres punts del programa.
- d) Són útils, però la seva complexitat fa que hagin caigut en desús.
✏️ EXERCICI 11. Escriu un fragment de codi on s'apreciï la diferència d'usar els tipus de variables let, var i const.
✏️ EXERCICI 12. Recordes la fórmula per calcular les solucions d'una equació de segon grau? Crea un programa que les calculi.
✏️ EXERCICI 13. Elabora una calculadora. El programa li ha de demanar a l'usuari un número, després un símbol (+, , /, , %) i després un altre número. El programa ha de mostrar per consola el resultat de l'operació.
✏️ EXERCICI 14. Crea un programa a JavaScript per calcular la lletra d'un DNI que ha d'introduir l'usuari per teclat (a internet trobaràs la fórmula que ho calcula).
✏️ EXERCICI 15. Escriu un programa que li demani a l'usuari un número, i mostri en consola la seva factorial.
✏️ EXERCICI 16. Desenvolupa un programa amb la lògica que desitges on expliquis les diferències d'usar els operadors a++, a--, ++a i --a. Utilitza els comentaris d'una i diverses línies en la teva explicació.
✏️ EXERCICI 17. Escriu un conversor de temps. El programa li ha de demanar a l'usuari una quantitat de dies, hores i minuts, i el programa retornarà la quantitat de segons que són.
✏️ EXERCICI 18. Idea un programa en el qual usar un bucle do while sigui millor idea que usar un bucle while.
✏️ EXERCICI 19. Crea un programa que mostri els números senars que no siguin múltiples de 3 ni de 7 que n'hi ha del 100 a l'-Realitza versions del programa usando bucles while, do while y for.
✏️ EXERCICI 20. Escriu un programa que posi en pràctica la següent lògica: Mostrarà el següent menú i l'usuari haurà de triar una de les opcions:
a) Àrea del triangle (b*h/2).
b) Àrea del rectangle (b*h).
c) Àrea del cercle (Trr*2).
d) Sortir. * En funció de l'opció que triï l'usuari, se li demanaran les dades necessàries en cada cas. * El programa calcularà el resultat i el mostrarà a la consola. * La lògica anterior es repetirà indefinidament fins que l'usuari pose la tecla de sortir.
✏️ EXERCICI 21. Hi ha molta desinformació sobre l'origen del nom JavaScript. Busca una font fiable i descobreix la controvèrsia que envolta el propi nom del llenguatge.
✏️ EXERCICI 22. Hem vist de passada que ECMAScript és l'especificació de referència que controla l'evolució del llenguatge JavaScript. Investiga sobre l'especificació i revisa l'historial de canvis més importants que s'han produït en el llenguatge en els darrers anys.
✏️ EXERCICI 23. Una bona forma de no caure en els típics errors de programació quan som principiants és conèixer-los. Busca a internet algun article que en parli i aprofita per conèixer-los.
✏️ EXERCICI 24. Quan s'avança en el disseny d'algoritmes sempre ens hem de plantejar com optimitzar el codi, ja que estalviar temps d'execució és fonamental, especialment quan el navegador està carregant una pàgina web. Retrocedeix als programes que has elaborat i pensa com podries reduir les línies de codi. Et sorprendrà l'estalvi.
✏️ EXERCICI 25. En ocasions dissenyem bucles sense pensar en el cost computacional que tenen. Sense embargo, quan escrivim programes de milers de línies de codi, això representa un greu problema de rendiment. Revisa els programes on has utilitzat bucles i investiga com pots estalviar temps d'execució. (Amb les instruccions time de consol que hem vist pots calcular el temps d'execució dels teus bucles).
✏️ EXERCICI 26. Creus que pots dissenyar un algoritme que resolgui qualsevol problema? Hi ha nombrosos casos on el temps de càlcul és tan gran que resulta inútil abordar la solució al problema de forma algorítmica. Reflexiona sobre aquests extrems i tracta de trobar alguns problemes que no es podrien resoldre amb un algoritme. Després acudeix a internet i busca informació al respecte.