Diferència entre revisions de la pàgina «2n SMX-A per dies. Curs 2020-2021»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 121 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
= 20200925 =
+
= Horari a partir del 18 de gener =
 +
[[Image:PandGener2021_SMX2A.png|center|2n d'SMX-A]]
 +
 
 +
= Teleconferència =
 +
[https://meet.google.com/joh-tqcx-zca Adreça de la teleconferència al curs 2020-2021]
 +
 
 +
Heu d'entrar amb les credencials de la NET. Si feu la sol·licitud des d'un compte extern serà denegat l'accés.
 +
 
 +
[https://docs.google.com/spreadsheets/d/1XXen8rDLfnlKETr6yYD_ps5J0YtK_Xcz_7plfM8Oqmc/edit#gid=542205878 Llista de 2n d'SMX-A 2020-2021]
 +
 
 +
[[Carpetes compartides 2n d'SMX-A. Curs 2020-2021]]
 +
 
 +
= Algunes classes =
 +
== 20210514 ==
 +
Anem fent el [[Projecte Final de 2n d'SMX - Curs 2020-2021]]
 +
 
 +
== 20210504 ==
 +
Anem fent el [[Projecte Final de 2n d'SMX - Curs 2020-2021]]
 +
 
 +
== 20210430 '''Inici del Projecte Final''' (2h presencial) ==
 +
Anem fent el [[Projecte Final de 2n d'SMX - Curs 2020-2021]]
 +
 
 +
== 20210423 (2h presencial) '''Examen ordinària M14UF1''' ==
 +
Feu aquests exercicis (diagrama de flux, edublocks i Python sobre onlinegdb):
 +
 
 +
=== Campionats d'atletisme ===
 +
El nom de el programa és '''SMX2A_campionat_Atletisme_1rCognom_2nCognom_Nom'''
 +
 
 +
En un Campionat d'Atletisme es mesuren les marques dels corredors de les diferents categories en segons perquè resulta apropiat per emmagatzemar-ho a un suport informàtic. Però, resulta molt incòmode per als aficionats llegir les marques en segons. Per aquesta raó, es desitja un programa que llegeixi un temps expressat en segons i mostri la seva equivalència en hores, minuts i segons. Per exemple, si s'introdueix 4550 segons, ha de mostrar 1 hora, 15 minuts i 50 segons.
 +
 
 +
==== Pista ====
 +
jordi@iot-clot:~$ python3
 +
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
 +
[GCC 10.2.1 20210110] on linux
 +
Type "help", "copyright", "credits" or "license" for more information.
 +
>>> '''7300//3600'''
 +
'''2'''
 +
>>> '''7300%3600'''
 +
'''100'''
 +
>>> '''100//60'''
 +
'''1'''
 +
>>> '''100%60'''
 +
'''40'''
 +
>>> '''2*3600+1*60+40'''
 +
'''7300'''
 +
>>> quit()
 +
 
 +
>>> '''totalSegons'''=7300
 +
>>> '''hores'''=totalSegons//3600
 +
>>> '''segons'''=totalSegons%3600
 +
>>> '''minuts'''=segons//60
 +
>>> '''segons'''=segons%60
 +
>>> print("%d hores %d minuts %d segons"%(hores,minuts,segons))
 +
2 hores 1 minuts 40 segons
 +
 
 +
=== Rock, Paper, Scissors ===
 +
El nom de el programa és '''SMX2A_Pedra_Paper_Tisora_1rCognom_2nCognom_Nom'''. Heu de fer el diagrama de flux, edublocks i Python sobre onlinegdb.
 +
 
 +
* Feu un programa que tregui 0, 1 o 2 de manera aleatòria
 +
 
 +
* Feu un programa que tregui R, P o S de manera aleatòria
 +
 
 +
[[Image:RPS20210421.png|center|Pedra, paper o tisora]]
 +
 
 +
* Feu que el programa pensi tres cops R, P o S (un bucle de tres cops). I mostri el resultat pensat cada cop. No s'ha de repetir tres cops. S'ha de fer servir un bucle de repetició (''for'' o ''while'').
 +
 
 +
* Feu que l'usuari competeixi contra l'ordinador. A cada iteració, de les tres, ha de dir si l'usuari guanya, perd o empata amb l'ordinador.
 +
 
 +
* Afegiu al final si l'usuari guanya, perd o empata amb l'ordinador. Haureu de posar una variable comptadora del nombre de cops que guanya l'usuari.
 +
 
 +
== 20210416 (2h presencial) ==
 +
<!--
 +
[https://binefa.cat/smx2021/a/20210416/ Alguns codis explicats avui]
 +
-->
 +
=== Pes ideal ===
 +
El nom de el programa és '''SMX2A_endocrinologia_1rCognom_2nCognom_Nom'''
 +
 
 +
Enunciat:
 +
 
 +
El servei d'endocrinologia d'un hospital necessita un programa per calcular el pes recomanat d'una persona.
 +
Feu un programa que llegeixi l'altura en centímetres, l'edat de la persona i realitzi el càlcul del pes recomanat segons la següent fórmula:
 +
 
 +
Pes = (alçada en centímetres-100 + 10% de l'edat) * 0,9
 +
 
 +
=== Campionats d'atletisme ===
 +
El nom de el programa és '''SMX2A_campionat_Atletisme_1rCognom_2nCognom_Nom'''
 +
 
 +
En un Campionat d'Atletisme es mesuren les marques dels corredors de les diferents categories en segons perquè resulta apropiat per emmagatzemar-ho a un suport informàtic. Però, resulta molt incòmode per als aficionats llegir les marques en segons. Per aquesta raó, es desitja un programa que llegeixi un temps expressat en segons i mostri la seva equivalència en hores, minuts i segons. Per exemple, si s'introdueix 4550 segons, ha de mostrar 1 hora, 15 minuts i 50 segons.
 +
 
 +
=== Joc d'atzar '''La 6/49''' ===
 +
* ''ex649.1'') Heu de fer sortir 6 números entre el número 1 i el 49.
 +
 
 +
* ''ex649.2'') El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus '''while'''.
 +
 
 +
* ''ex649.3'') El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus '''for'''.
 +
 
 +
== 20210409 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210409/ Alguns codis explicats avui]
 +
 
 +
=== Joc d'atzar '''La 6/49''' ===
 +
* ''ex649.1'') Heu de fer sortir 6 números entre el número 1 i el 49.
 +
 
 +
* ''ex649.2'') El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus '''while'''.
 +
 
 +
* ''ex649.3'') El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus '''for'''.
 +
 
 +
== 20210326 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210326/ Alguns codis explicats avui]
 +
 
 +
=== Exercici d'endevinar un número ===
 +
Feu un programa que tingui aquest comportament (us podeu basar en [https://binefa.cat/smx2021/a/20210326/aleatorietat.xml aleatorietat.xml]):
 +
L'ordinador ha pensat un 30
 +
 +
Poseu un valor entre 0 i 100: 50
 +
Poseu un valor entre 0 i 50: 20
 +
Poseu un valor entre 20 i 50: 30
 +
 +
Enhorabona! Ho heu encertat en 3 cops
 +
 
 +
Us proposem l'ús d'aquestes variables:
 +
numPensatOrdinador
 +
numEntratUsuari
 +
nMax
 +
nMin
 +
nCmpt
 +
 
 +
* Diagrama de flux
 +
 
 +
* Programa funcionant amb [https://app.edublocks.org/ EduBlocks]
 +
 
 +
* Programa en Python (incloent-hi una captura del programa funcionant)
 +
 
 +
Pista:
 +
 
 +
[[Image:SmxAleatori01.png|center|Aleatorietat]]
 +
 
 +
import random
 +
 +
nNunPensatPerOrdinador = random.randrange(0,101)
 +
print("L'ordinador ha pensat un " + str(nNunPensatPerOrdinador))
 +
 
 +
[[Image:SmxAleatorietat02.png|center|Aleatorietat. 2a pista]]
 +
 
 +
== 20210319 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210319/ Alguns codis explicats avui]
 +
 
 +
=== Exercici de bucles ===
 +
Feu un programa que us demani un número i mostri els 100  números següents, començant pel que introduïu pel teclat.
 +
 
 +
Feu primer el diagrama de flux, implementeu-ho en [https://app.edublocks.org/ EduBlocks] i després convertint-ho a Python. Proveu el codi en Python a [https://www.onlinegdb.com/ onlinegdb.com]
 +
 
 +
== 20210312 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210312/ Alguns codis explicats avui]
 +
 
 +
Feu l'exercici dels "toppings" implementant-ho en [https://app.edublocks.org/ EduBlocks] i després convertint-ho a Python. Proveu el codi en Python a [https://www.onlinegdb.com/ onlinegdb.com]
 +
 
 +
=== Exercici de bucles ===
 +
Feu un programa que us demani un número i mostri els 100  números següents, començant pel que introduïu pel teclat.
 +
 
 +
Feu primer el diagrama de flux, implementeu-ho en [https://app.edublocks.org/ EduBlocks] i després convertint-ho a Python. Proveu el codi en Python a [https://www.onlinegdb.com/ onlinegdb.com]
 +
 
 +
== 20210305 (2h presencial) ==
 +
[https://app.edublocks.org/ EduBlocks]
 +
 
 +
Fem l'exercici de l'enunciat present al dia anterior.
 +
 
 +
[https://binefa.cat/smx2021/a/20210305/ Alguns codis comentats avui]
 +
 
 +
[https://www.osboxes.org/android-x86/ Màquina virtual d'Android]
 +
 
 +
== 20210226 (2h presencial) ==
 +
Fem l'exercici de l'enunciat present al dia anterior.
 +
 
 +
[https://binefa.cat/smx2021/a/20210226/ Alguns codis comentats avui]
 +
 
 +
=== Següent enunciat (''topping'') ===
 +
Escriu un programa que respongui a un usuari que vol comprar un gelat en una coneguda marca de menjar ràpid. He de trobar quant li costarà en funció del topping que triï.
 +
 
 +
• El gelat sense topping costa 1.90 €.
 +
 
 +
• El topping d'oreig costa 1 €.
 +
 
 +
• El topping de KitKat costa 1.50 €.
 +
 
 +
• El topping de brownie costa 0.75 €.
 +
 
 +
• El topping de lacasitos costa 0.95 €.
 +
 
 +
• En cas de no disposar del topping sol·licitat per l'usuari el programa escriurà per pantalla "No tenim aquest topping, ho sentim".I a continuació haurà d'informar del preu del gelat sense cap topping.
 +
 
 +
Finalment, el programa escriu per pantalla el preu del gelat amb el topping seleccionat (o cap).
 +
 
 +
== 20210219 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210219/ Alguns codis comentats avui]
 +
 
 +
=== Exercici ===
 +
Un magatzem disposa de tres tipus de canonades a disposició del client. feu un programa que calculi el cost total en euros, d'una comanda en funció del sol·licitat pel client:
 +
 
 +
canonada de 1 metre --------------> 1 €
 +
 
 +
canonada de 5 metres -------------> 5 €
 +
 
 +
canonada de 10 metres ----------> 10 €
 +
 
 +
Com sempre:
 +
 
 +
* Diagrama de flux
 +
 
 +
* Implementació amb Scratch
 +
 
 +
* Implementació en Python
 +
 
 +
== 20210212 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210212/ Alguns codis comentats a classe avui]
 +
 
 +
=== Exercicis ===
 +
* '''exNotes01''') Feu un programa que calculi la mitjana de les notes de programació. Haurà de preguntar "Primera nota: ", i després "Següent nota: ". El programa acaba de preguntar "Següent nota: " quan s'introdueix un zero. Al finalitzar es presenta la mitjana aritmètica de totes les notes introduïdes.
 +
- exNotes01a) Diagrama de flux
 +
 
 +
- exNotes01b) Implementació fent servir Scratch o Snap!
 +
 
 +
- exNotes01c) Implementació fent servir Python
 +
 
 +
* '''exNotes02''') Feu un programa que calculi la mitjana de les notes de programació. Haurà de preguntar "Primera nota: ", i després "Següent nota: ". El programa acaba de preguntar "Següent nota: " quan s'introdueixen dos zeros consecutius. Al finalitzar es presenta la mitjana aritmètica de totes les notes introduïdes.
 +
- exNotes02a) Diagrama de flux
 +
 
 +
- exNotes02b) Implementació fent servir Scratch o Snap!
 +
 
 +
- exNotes02c) Implementació fent servir Python
 +
 
 +
== 20210205 (2h presencial) ==
 +
[https://binefa.cat/smx2021/a/20210205/ Alguns codis fet avui]
 +
 
 +
=== Exercici ===
 +
A una botiga de llums, volen comptabilitzar la venda de bombetes:
 +
 
 +
* Les bombetes de Leds equivalent a la clàssica de 200W valen 20 €.
 +
 
 +
* Les bombetes de Leds equivalent a la clàssica de 100 W valen 10 €.
 +
 
 +
* Les bombetes de Leds equivalent a la clàssica de 60W valen 6 €.
 +
 
 +
* Les bombetes de Leds equivalent a la clàssica de 40W valen 4 €.
 +
 
 +
El programa ha de preguntar al client, quina bombeta desitja: una de 200W o 100W o 60W o 40W?
 +
 +
El programa ha de comptabilitzar el preu i seguir preguntant i comptabilitzant. El programa finalitza quan el botiguer prem 0 (zero), en aquest cas donarà el preu que el client ha d'abonar durant 5 segons i acaba.
 +
 
 +
== 20210129 (2h presencial) ==
 +
* 1a hora: Seguim fent Python
 +
 
 +
[[Exercicis de condicions en Python]] (Podeu consultar la teoria a [[Pràctiques d'introducció a Python . Part 2 - SMX | Condicionals amb Python]])
 +
 
 +
[https://binefa.cat/smx2021/a/20210129/ Alguns codis fets avui]. Recordeu de treure l'extensió '''.txt''' quan ho baixeu (amb botó dret, anomena i desa l'enllaç)
 +
 
 +
Provador de codis en línia: [https://www.onlinegdb.com/ onlinegdb.com]
 +
 
 +
* 2a hora: Diagrames de flux i Scratch
 +
=== Exercici a fer amb Scratch. '''Accés al cinema''' ===
 +
 
 +
A partir de la qualificació d'una pel·lícula i l'edat de l'espectador, indicar si aquest pot o no passar.
 +
 
 +
Qualificacions de les pel·lícules:
 +
 
 +
*  T  –  Tots els públics.
 +
 
 +
*  M  –  Majors o igual de 13 anys.
 +
 
 +
*  J  –  Majors o igual de 16 anys.
 +
 
 +
*  A  –  Majors o igual de 18 anys.
 +
 
 +
El programa demanarà la lletra que determina la qualificació de la pel·lícula i l’edat de l'espectador per, a continuació, mostrar per pantalla si aquest pot passar a la sala o no.
 +
 
 +
El programa ha de controlar que la qualificació de la pel·lícula sigui T, M, J o A. Qualsevol altra entrada no serà vàlida.
 +
 
 +
== 20210122 (2h presencial) ==
 +
* 1a hora: Diagrames de flux i Scratch
 +
 
 +
* 2a hora: Seguim fent Python
 +
 
 +
[https://binefa.cat/smx2021/a/20210122/ Alguns codis fets avui]. Recordeu de treure l'extensió '''.txt''' quan ho baixeu (amb botó dret, anomena i desa l'enllaç)
 +
 
 +
Provador de codis en línia: [https://www.onlinegdb.com/ onlinegdb.com]
 +
 
 +
=== Condicionals en Python ===
 +
[[Pràctiques d'introducció a Python . Part 2 - SMX | Condicionals amb Python]]
 +
 
 +
[[Exercicis de condicions en Python]]
 +
 
 +
=== Estructures repetitives, o bucles, en Python ===
 +
 
 +
[[Pràctiques d'introducció a Python . Part 3 - SMX]]
 +
 
 +
[[Exercicis d'estructures de control repetitives en Python]]
 +
 
 +
== 20210120 (1h síncrona) ==
 +
[[Exercicis de condicions en Python]]
 +
 
 +
=== '''Exercici per dur fet de casa''' ===
 +
Demaneu dos nombres amb decimals (a i b) i presenteu llur suma.
 +
 
 +
== 20210115 (1h presencial) ==
 +
Pràctiques amb Scratch. En recordeu-vos d'anar-les desant a la vostra carpeta compartida al Drive.
 +
 
 +
== 20210113 (1h síncrona) ==
 +
[https://binefa.cat/smx2021/a/20210113/ Alguns codis fets a classe, avui]
 +
 
 +
[http://binefa.com/index.php?title=Pr%C3%A0ctiques_d%27introducci%C3%B3_a_Python_-_SMX repàs de codis en Python]. A on ho vam deixar el darrer dia que vam fer Python.
 +
 
 +
[[Pràctiques d'introducció a Python . Part 2 - SMX | Condicionals amb Python]]
 +
 
 +
[[Exercicis de condicions en Python]]
 +
 
 +
=== ''' Els % ''' a Python ===
 +
'''%d''' és per a nombres enters (números sense decimals, els de tipus '''int''')
 +
 
 +
'''%s''' és per a cadenes de caràcters (s: string, és a dir, paraules -també anomenades cadenes de caràcters-)
 +
 
 +
'''%f''' és per a nombres reals (números amb decimals, de tipus '''float''')
 +
 
 +
'''%.5f''' el que va entre el %. i la lletra f és el nombre de decimals (en aquest cas són 5 decimals)
 +
 
 +
== 20201218 (1h presencial) ==
 +
[[Com fer anar la consola de videojocs iNNEXT a Scratch 1.4]]
 +
 
 +
== 20201216 (1h síncrona) ==
 +
[http://binefa.com/index.php?title=Pr%C3%A0ctiques_d%27introducci%C3%B3_a_Python_-_SMX Introducció a alguns programes en Python]. A on ho vam deixar el darrer dia que vam fer Python.
 +
 
 +
[[Pràctiques d'introducció a Python . Part 2 - SMX | Condicionals amb Python]]
 +
 
 +
== 20201211 (1h presencial) ==
 +
Seguim amb l'Scratch
 +
 
 +
== 20201204 (1h presencial) '''Darrer dia de lliurament''' ==
 +
Darrer dia de lliurament del treball del 1r trimestre
 +
 
 +
== 20201202 (1h síncrona) ==
 +
'''Comencen les correccions''' de qui hagi acabat el treball del 1r trimestre.
 +
 
 +
== 20201127 (1h presencial) ==
 +
Feu amb Snap! o Scratch una felicitació de Nadal o un joc inspirat amb un tema nadalenc.
 +
 
 +
Aneu al vostre Drive de la NET de l'escola i compartiu una carpeta amb en Carles Olivé i en Jordi Binefa. Aquí hi deixareu el vostre codi .sb, .sb2 o .xml i el vídeo curt que demostra el funcionament del teu treball.
 +
 
 +
[https://binefa.cat/smx2021/a/20201127/ Codis comentats avui]
 +
 
 +
== 20201125 (1h síncrona) ==
 +
Explicació del treball del 1r trimestre. Fer amb Snap! o Scratch una felicitació de Nadal o un joc inspirat amb un tema nadalenc.
 +
 
 +
== 20201120 (1h presencial) ==
 +
[https://binefa.cat/smx2021/a/20201123/elsPercentatges.py.txt Exemple de percentatges], fruit d'un dubte preguntat a classe.
 +
 
 +
== 20201118 (síncrona) ==
 +
[https://binefa.cat/smx2021/a/20201118/ Material penjat el dia d'avui]
 +
 
 +
[https://www.onlinegdb.com/ Eina de programació en línia]
 +
 
 +
1r codi de prova:
 +
"""
 +
Això són comentaris
 +
"""
 +
print ("Hola 2n d'SMX-A")  # Un altre comentari
 +
 
 +
Partint de les 10 primeres pàgines d'aquest [https://tutorial.python.org.ar/en/latest/  Tutorial de Python 3].
 +
1- Què és Python3?
 +
 
 +
2- El llenguatge Python es compila o s'interpreta? S''''interpreta'''
 +
 
 +
3- Podríem fer servir el llenguatge Python com a una calculadora?
 +
 
 +
4  Sumeu en Python 2 + 2
 +
 
 +
5- Hem d'utilitzar parèntesis en Python?
 +
 
 +
6- Dividiu 14 entre 7 Python
 +
 
 +
7- Multipliqueu 4 per 23 en Python
 +
 
 +
8- Com assignar un valor a una variable en Python?
 +
 
 +
9- Python pot manipular cadenes de text, com poden ser expressades?
 +
 
 +
10- Les cadenes de text poden ser concatenades ( enganxades juntes ). Amb  amb quin operador?
 +
 
 +
[[Pràctiques d'introducció a Python - SMX]]
 +
 
 +
== 20201113 (presencial) ==
 +
Pràctiques d'Scratch des de p10 fins a p12.
 +
 
 +
== 20201111 (síncrona) ==
 +
[https://www.onlinegdb.com/ Eina de programació en línia]
 +
 
 +
1r codi de prova:
 +
"""
 +
Això són comentaris
 +
"""
 +
print ("Hola 2n d'SMX-A")  # Un altre comentari
 +
 
 +
Partint de les 10 primeres pàgines d'aquest [http://docs.python.org.ar/tutorial/pdfs/TutorialPython3.pdf  TutorialPython3.pdf].
 +
1- Què és Python3?
 +
 
 +
2- El llenguatge Python es compila o s'interpreta?
 +
 
 +
3- Podríem fer servir el llenguatge Python com a una calculadora?
 +
 
 +
4  Sumeu en Python 2 + 2
 +
 
 +
5- Hem d'utilitzar parèntesis en Python?
 +
 
 +
6- Dividiu 14 entre 7 Python
 +
 
 +
7- Multipliqueu 4 per 23 en Python
 +
 
 +
8- Com assignar un valor a una variable en Python?
 +
 
 +
9- Python pot manipular cadenes de text, com poden ser expressades?
 +
 
 +
10- Les cadenes de text poden ser concatenades ( enganxades juntes ). Amb  amb quin operador?
 +
 
 +
[[Pràctiques d'introducció a Python - SMX]]
 +
 
 +
== 20201106 ==
 +
Exercici: '''L'algorisme 3n+1'''
 +
 
 +
'''Primer feu el diagrama de flux i després l'implementeu amb [https://snap.berkeley.edu/snap/snap.html Snap!] o Scratch. Heu de desar les captures del diagrama de flux i el vostre codi.'''
 +
 
 +
El problema que es planteja aquí és estudiar un dels algoritmes més clàssics no resolts de la ciència de l'Algorísmica: l'algorisme 3n+1. Considerem el següent algoritme:
 +
 
 +
* entrar n
 +
 
 +
* imprimir n ''(digues n durant 0.5 segons)'' <-- Dins d'un bucle infinit (''per sempre'')
 +
 
 +
* si n =1 aleshores ACABA EL PROGRAMA (''atura tot'')
 +
 
 +
* si n es senar aleshores n=3n+1
 +
 
 +
* en cas contrari, és a dir, si n és parell, aleshores n=n/2
 +
 
 +
* tornar a la línia d'imprimir n
 +
 
 +
Per exemple, donat el número 22 el programa imprimiria la següent seqüència de números: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1. Aquesta seqüència rep el nom de cicle del número 22. Aquest és un cicle de longitud 16.
 +
 
 +
És una conjectura no demostrada que aquest algorisme acaba sempre, és a dir, que el cicle de tot nombre enter és un cicle finit.
 +
 
 +
Feu un programa que escrigui el cicle d'un número entrat per teclat. Podeu fer servir el programa per investigar cicles grans i cicles petits. Per exemple, els números de la forma 2^n (2,4,8,16,32,64,128, ...) tenen un cicle curt...
 +
 
 +
 
 +
[https://binefa.cat/smx2021/a/20201106/ Material penjat el dia d'avui]
 +
 
 +
== 20201030 ==
 +
'''1r Exercici)''' Feu un programa anomenat '''20201030_ex01.xml''', una captura anomenada '''20201030_ex01.png''' i una captura del diagrama de flux amb el nom '''20201030_ex01_flux.png''' que faci:
 +
 
 +
* Declareu la variable '''n'''. Al prémer la bandera verda s'instancia al valor 0.
 +
 
 +
* Al prémer la tecla '''+''' la variable s'incrementa en 1. Durant mig segon apareixerà al personatge.
 +
 
 +
* Al prémer la tecla '''-''' la variable es decrementa en 1. Durant mig segon apareixerà al personatge.
 +
 
 +
'''2n Exercici)''' Feu un programa anomenat '''20201030_ex02.xml''', una captura anomenada '''20201030_ex02.png''' i una captura del diagrama de flux amb el nom '''20201030_ex02_flux.png''' que faci:
 +
 
 +
* Pregunti un número del 0 al 10.
 +
 
 +
* Presenti la taula de multiplicar del número entrat multiplicat des de 0 fins a 10. L'interval de presentació de cada multiplicació serà de mig segon.
 +
 
 +
'''3r Exercici)''' Feu un programa anomenat '''20201030_ex03.xml''', una captura anomenada '''20201030_ex03.png''' i una captura del diagrama de flux amb el nom '''20201030_ex03_flux.png''' que faci (aprofiteu l'exercici anterior):
 +
 
 +
* Pregunti un número del 0 al 10.
 +
 
 +
* Si el número és inferior a 0 o superior a 10, el programa ens indicarà que som fora del ventall de valors permesos i ens tornarà a preguntar fins que escrivim un valor entre 0 i 10, ambdós inclosos.
 +
 
 +
* Presenti la taula de multiplicar del número entrat multiplicat des de 0 fins a 10. L'interval de presentació de cada multiplicació serà de mig segon.
 +
 
 +
 
 +
[https://binefa.cat/smx2021/a/20201030/ Material penjat el dia d'avui]
 +
 
 +
== 20201023 ==
 +
 
 +
'''Exercici)''' Emprant [https://snap.berkeley.edu/snap/snap.html Snap!] feu un programa que llegeixi un any i us digui si és de traspàs. (Considerarem any és de traspàs si és un número divisible per 4, però no si és divisible per 100, excepte que també sigui divisible per 400). El nom d'aquest programa serà '''any_traspas''' i es desarà com a '''any_traspas.xml'''.
 +
 
 +
''Exemples d'anys de traspàs: 2020, 2000''
 +
 
 +
''Exemples d'anys que no són de traspàs: 2021, 1900''
 +
 
 +
[https://www.onlineconversion.com/leapyear.htm Per a verificar en línia  si un any és de traspàs o no]
 +
 
 +
 
 +
[https://binefa.cat/smx2021/a/20201023/ Material penjat el dia d'avui]
 +
 
 +
== 20201016 ==
 +
[https://binefa.cat/smx2021/a/20201016/ Codis del dia d'avui]
 +
 
 +
== 20201009 ==
 +
[https://binefa.cat/smx2021/a/20201009/ Codis del dia d'avui]
 +
 
 +
Repàs del [https://binefa.cat/smx2021/a/20201002/ dia anterior]
 +
 
 +
== 20201002 ==
 +
[https://binefa.cat/smx2021/a/20201002/ Exercicis fet a classe]
 +
 
 +
[https://meet.google.com/htv-dwgu-gre Adreça de la teleconferència 2n d'octubre]
 +
 
 +
== 20200925 ==
 
[https://app.diagrams.net/ Editor de diagrames de flux en línia]
 
[https://app.diagrams.net/ Editor de diagrames de flux en línia]
  
= 20200922 =
+
== 20200922 ==
 
[[Repàs d'ordres del sistema operatiu GNU/Linux - 2a setmana del curs 2020-2021]]
 
[[Repàs d'ordres del sistema operatiu GNU/Linux - 2a setmana del curs 2020-2021]]
  
= 20200918 =
+
== 20200918 ==
 
[https://meet.google.com/hcm-vtor-yxn Teleconferència 18 de setembre de 2020]
 
[https://meet.google.com/hcm-vtor-yxn Teleconferència 18 de setembre de 2020]
  
 
[https://binefa.cat/smx2021/a/20190918/ Captura de codis Snap!]
 
[https://binefa.cat/smx2021/a/20190918/ Captura de codis Snap!]

Revisió de 17:23, 30 juny 2021

Contingut

Horari a partir del 18 de gener

2n d'SMX-A

Teleconferència

Adreça de la teleconferència al curs 2020-2021

Heu d'entrar amb les credencials de la NET. Si feu la sol·licitud des d'un compte extern serà denegat l'accés.

Llista de 2n d'SMX-A 2020-2021

Carpetes compartides 2n d'SMX-A. Curs 2020-2021

Algunes classes

20210514

Anem fent el Projecte Final de 2n d'SMX - Curs 2020-2021

20210504

Anem fent el Projecte Final de 2n d'SMX - Curs 2020-2021

20210430 Inici del Projecte Final (2h presencial)

Anem fent el Projecte Final de 2n d'SMX - Curs 2020-2021

20210423 (2h presencial) Examen ordinària M14UF1

Feu aquests exercicis (diagrama de flux, edublocks i Python sobre onlinegdb):

Campionats d'atletisme

El nom de el programa és SMX2A_campionat_Atletisme_1rCognom_2nCognom_Nom

En un Campionat d'Atletisme es mesuren les marques dels corredors de les diferents categories en segons perquè resulta apropiat per emmagatzemar-ho a un suport informàtic. Però, resulta molt incòmode per als aficionats llegir les marques en segons. Per aquesta raó, es desitja un programa que llegeixi un temps expressat en segons i mostri la seva equivalència en hores, minuts i segons. Per exemple, si s'introdueix 4550 segons, ha de mostrar 1 hora, 15 minuts i 50 segons.

Pista

jordi@iot-clot:~$ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 7300//3600
2
>>> 7300%3600
100
>>> 100//60
1
>>> 100%60
40
>>> 2*3600+1*60+40
7300
>>> quit()
>>> totalSegons=7300
>>> hores=totalSegons//3600
>>> segons=totalSegons%3600
>>> minuts=segons//60
>>> segons=segons%60
>>> print("%d hores %d minuts %d segons"%(hores,minuts,segons))
2 hores 1 minuts 40 segons

Rock, Paper, Scissors

El nom de el programa és SMX2A_Pedra_Paper_Tisora_1rCognom_2nCognom_Nom. Heu de fer el diagrama de flux, edublocks i Python sobre onlinegdb.

  • Feu un programa que tregui 0, 1 o 2 de manera aleatòria
  • Feu un programa que tregui R, P o S de manera aleatòria
Pedra, paper o tisora
  • Feu que el programa pensi tres cops R, P o S (un bucle de tres cops). I mostri el resultat pensat cada cop. No s'ha de repetir tres cops. S'ha de fer servir un bucle de repetició (for o while).
  • Feu que l'usuari competeixi contra l'ordinador. A cada iteració, de les tres, ha de dir si l'usuari guanya, perd o empata amb l'ordinador.
  • Afegiu al final si l'usuari guanya, perd o empata amb l'ordinador. Haureu de posar una variable comptadora del nombre de cops que guanya l'usuari.

20210416 (2h presencial)

Pes ideal

El nom de el programa és SMX2A_endocrinologia_1rCognom_2nCognom_Nom

Enunciat:

El servei d'endocrinologia d'un hospital necessita un programa per calcular el pes recomanat d'una persona. Feu un programa que llegeixi l'altura en centímetres, l'edat de la persona i realitzi el càlcul del pes recomanat segons la següent fórmula:

Pes = (alçada en centímetres-100 + 10% de l'edat) * 0,9

Campionats d'atletisme

El nom de el programa és SMX2A_campionat_Atletisme_1rCognom_2nCognom_Nom

En un Campionat d'Atletisme es mesuren les marques dels corredors de les diferents categories en segons perquè resulta apropiat per emmagatzemar-ho a un suport informàtic. Però, resulta molt incòmode per als aficionats llegir les marques en segons. Per aquesta raó, es desitja un programa que llegeixi un temps expressat en segons i mostri la seva equivalència en hores, minuts i segons. Per exemple, si s'introdueix 4550 segons, ha de mostrar 1 hora, 15 minuts i 50 segons.

Joc d'atzar La 6/49

  • ex649.1) Heu de fer sortir 6 números entre el número 1 i el 49.
  • ex649.2) El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus while.
  • ex649.3) El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus for.

20210409 (2h presencial)

Alguns codis explicats avui

Joc d'atzar La 6/49

  • ex649.1) Heu de fer sortir 6 números entre el número 1 i el 49.
  • ex649.2) El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus while.
  • ex649.3) El programa us ha de preguntar quantes combinacions de 6 números, entre 1 i 49, ha de presentar. Feu servir un bucle de tipus for.

20210326 (2h presencial)

Alguns codis explicats avui

Exercici d'endevinar un número

Feu un programa que tingui aquest comportament (us podeu basar en aleatorietat.xml):

L'ordinador ha pensat un 30

Poseu un valor entre 0 i 100: 50
Poseu un valor entre 0 i 50: 20
Poseu un valor entre 20 i 50: 30

Enhorabona! Ho heu encertat en 3 cops

Us proposem l'ús d'aquestes variables:

numPensatOrdinador
numEntratUsuari
nMax
nMin
nCmpt
  • Diagrama de flux
  • Programa en Python (incloent-hi una captura del programa funcionant)

Pista:

Aleatorietat
import random

nNunPensatPerOrdinador = random.randrange(0,101)
print("L'ordinador ha pensat un " + str(nNunPensatPerOrdinador))
Aleatorietat. 2a pista

20210319 (2h presencial)

Alguns codis explicats avui

Exercici de bucles

Feu un programa que us demani un número i mostri els 100 números següents, començant pel que introduïu pel teclat.

Feu primer el diagrama de flux, implementeu-ho en EduBlocks i després convertint-ho a Python. Proveu el codi en Python a onlinegdb.com

20210312 (2h presencial)

Alguns codis explicats avui

Feu l'exercici dels "toppings" implementant-ho en EduBlocks i després convertint-ho a Python. Proveu el codi en Python a onlinegdb.com

Exercici de bucles

Feu un programa que us demani un número i mostri els 100 números següents, començant pel que introduïu pel teclat.

Feu primer el diagrama de flux, implementeu-ho en EduBlocks i després convertint-ho a Python. Proveu el codi en Python a onlinegdb.com

20210305 (2h presencial)

EduBlocks

Fem l'exercici de l'enunciat present al dia anterior.

Alguns codis comentats avui

Màquina virtual d'Android

20210226 (2h presencial)

Fem l'exercici de l'enunciat present al dia anterior.

Alguns codis comentats avui

Següent enunciat (topping)

Escriu un programa que respongui a un usuari que vol comprar un gelat en una coneguda marca de menjar ràpid. He de trobar quant li costarà en funció del topping que triï.

• El gelat sense topping costa 1.90 €.

• El topping d'oreig costa 1 €.

• El topping de KitKat costa 1.50 €.

• El topping de brownie costa 0.75 €.

• El topping de lacasitos costa 0.95 €.

• En cas de no disposar del topping sol·licitat per l'usuari el programa escriurà per pantalla "No tenim aquest topping, ho sentim".I a continuació haurà d'informar del preu del gelat sense cap topping.

Finalment, el programa escriu per pantalla el preu del gelat amb el topping seleccionat (o cap).

20210219 (2h presencial)

Alguns codis comentats avui

Exercici

Un magatzem disposa de tres tipus de canonades a disposició del client. feu un programa que calculi el cost total en euros, d'una comanda en funció del sol·licitat pel client:

canonada de 1 metre --------------> 1 €

canonada de 5 metres -------------> 5 €

canonada de 10 metres ----------> 10 €

Com sempre:

  • Diagrama de flux
  • Implementació amb Scratch
  • Implementació en Python

20210212 (2h presencial)

Alguns codis comentats a classe avui

Exercicis

  • exNotes01) Feu un programa que calculi la mitjana de les notes de programació. Haurà de preguntar "Primera nota: ", i després "Següent nota: ". El programa acaba de preguntar "Següent nota: " quan s'introdueix un zero. Al finalitzar es presenta la mitjana aritmètica de totes les notes introduïdes.

- exNotes01a) Diagrama de flux

- exNotes01b) Implementació fent servir Scratch o Snap!

- exNotes01c) Implementació fent servir Python

  • exNotes02) Feu un programa que calculi la mitjana de les notes de programació. Haurà de preguntar "Primera nota: ", i després "Següent nota: ". El programa acaba de preguntar "Següent nota: " quan s'introdueixen dos zeros consecutius. Al finalitzar es presenta la mitjana aritmètica de totes les notes introduïdes.

- exNotes02a) Diagrama de flux

- exNotes02b) Implementació fent servir Scratch o Snap!

- exNotes02c) Implementació fent servir Python

20210205 (2h presencial)

Alguns codis fet avui

Exercici

A una botiga de llums, volen comptabilitzar la venda de bombetes:

  • Les bombetes de Leds equivalent a la clàssica de 200W valen 20 €.
  • Les bombetes de Leds equivalent a la clàssica de 100 W valen 10 €.
  • Les bombetes de Leds equivalent a la clàssica de 60W valen 6 €.
  • Les bombetes de Leds equivalent a la clàssica de 40W valen 4 €.

El programa ha de preguntar al client, quina bombeta desitja: una de 200W o 100W o 60W o 40W?

El programa ha de comptabilitzar el preu i seguir preguntant i comptabilitzant. El programa finalitza quan el botiguer prem 0 (zero), en aquest cas donarà el preu que el client ha d'abonar durant 5 segons i acaba.

20210129 (2h presencial)

  • 1a hora: Seguim fent Python

Exercicis de condicions en Python (Podeu consultar la teoria a Condicionals amb Python)

Alguns codis fets avui. Recordeu de treure l'extensió .txt quan ho baixeu (amb botó dret, anomena i desa l'enllaç)

Provador de codis en línia: onlinegdb.com

  • 2a hora: Diagrames de flux i Scratch

Exercici a fer amb Scratch. Accés al cinema

A partir de la qualificació d'una pel·lícula i l'edat de l'espectador, indicar si aquest pot o no passar.

Qualificacions de les pel·lícules:

  • T – Tots els públics.
  • M – Majors o igual de 13 anys.
  • J – Majors o igual de 16 anys.
  • A – Majors o igual de 18 anys.

El programa demanarà la lletra que determina la qualificació de la pel·lícula i l’edat de l'espectador per, a continuació, mostrar per pantalla si aquest pot passar a la sala o no.

El programa ha de controlar que la qualificació de la pel·lícula sigui T, M, J o A. Qualsevol altra entrada no serà vàlida.

20210122 (2h presencial)

  • 1a hora: Diagrames de flux i Scratch
  • 2a hora: Seguim fent Python

Alguns codis fets avui. Recordeu de treure l'extensió .txt quan ho baixeu (amb botó dret, anomena i desa l'enllaç)

Provador de codis en línia: onlinegdb.com

Condicionals en Python

Condicionals amb Python

Exercicis de condicions en Python

Estructures repetitives, o bucles, en Python

Pràctiques d'introducció a Python . Part 3 - SMX

Exercicis d'estructures de control repetitives en Python

20210120 (1h síncrona)

Exercicis de condicions en Python

Exercici per dur fet de casa

Demaneu dos nombres amb decimals (a i b) i presenteu llur suma.

20210115 (1h presencial)

Pràctiques amb Scratch. En recordeu-vos d'anar-les desant a la vostra carpeta compartida al Drive.

20210113 (1h síncrona)

Alguns codis fets a classe, avui

repàs de codis en Python. A on ho vam deixar el darrer dia que vam fer Python.

Condicionals amb Python

Exercicis de condicions en Python

Els % a Python

%d és per a nombres enters (números sense decimals, els de tipus int)

%s és per a cadenes de caràcters (s: string, és a dir, paraules -també anomenades cadenes de caràcters-)

%f és per a nombres reals (números amb decimals, de tipus float)

%.5f el que va entre el %. i la lletra f és el nombre de decimals (en aquest cas són 5 decimals)

20201218 (1h presencial)

Com fer anar la consola de videojocs iNNEXT a Scratch 1.4

20201216 (1h síncrona)

Introducció a alguns programes en Python. A on ho vam deixar el darrer dia que vam fer Python.

Condicionals amb Python

20201211 (1h presencial)

Seguim amb l'Scratch

20201204 (1h presencial) Darrer dia de lliurament

Darrer dia de lliurament del treball del 1r trimestre

20201202 (1h síncrona)

Comencen les correccions de qui hagi acabat el treball del 1r trimestre.

20201127 (1h presencial)

Feu amb Snap! o Scratch una felicitació de Nadal o un joc inspirat amb un tema nadalenc.

Aneu al vostre Drive de la NET de l'escola i compartiu una carpeta amb en Carles Olivé i en Jordi Binefa. Aquí hi deixareu el vostre codi .sb, .sb2 o .xml i el vídeo curt que demostra el funcionament del teu treball.

Codis comentats avui

20201125 (1h síncrona)

Explicació del treball del 1r trimestre. Fer amb Snap! o Scratch una felicitació de Nadal o un joc inspirat amb un tema nadalenc.

20201120 (1h presencial)

Exemple de percentatges, fruit d'un dubte preguntat a classe.

20201118 (síncrona)

Material penjat el dia d'avui

Eina de programació en línia

1r codi de prova:

"""
Això són comentaris
"""
print ("Hola 2n d'SMX-A")  # Un altre comentari

Partint de les 10 primeres pàgines d'aquest Tutorial de Python 3. 1- Què és Python3?

2- El llenguatge Python es compila o s'interpreta? S'interpreta

3- Podríem fer servir el llenguatge Python com a una calculadora?

4 Sumeu en Python 2 + 2

5- Hem d'utilitzar parèntesis en Python?

6- Dividiu 14 entre 7 Python

7- Multipliqueu 4 per 23 en Python

8- Com assignar un valor a una variable en Python?

9- Python pot manipular cadenes de text, com poden ser expressades?

10- Les cadenes de text poden ser concatenades ( enganxades juntes ). Amb amb quin operador?

Pràctiques d'introducció a Python - SMX

20201113 (presencial)

Pràctiques d'Scratch des de p10 fins a p12.

20201111 (síncrona)

Eina de programació en línia

1r codi de prova:

"""
Això són comentaris
"""
print ("Hola 2n d'SMX-A")  # Un altre comentari

Partint de les 10 primeres pàgines d'aquest TutorialPython3.pdf. 1- Què és Python3?

2- El llenguatge Python es compila o s'interpreta?

3- Podríem fer servir el llenguatge Python com a una calculadora?

4 Sumeu en Python 2 + 2

5- Hem d'utilitzar parèntesis en Python?

6- Dividiu 14 entre 7 Python

7- Multipliqueu 4 per 23 en Python

8- Com assignar un valor a una variable en Python?

9- Python pot manipular cadenes de text, com poden ser expressades?

10- Les cadenes de text poden ser concatenades ( enganxades juntes ). Amb amb quin operador?

Pràctiques d'introducció a Python - SMX

20201106

Exercici: L'algorisme 3n+1

Primer feu el diagrama de flux i després l'implementeu amb Snap! o Scratch. Heu de desar les captures del diagrama de flux i el vostre codi.

El problema que es planteja aquí és estudiar un dels algoritmes més clàssics no resolts de la ciència de l'Algorísmica: l'algorisme 3n+1. Considerem el següent algoritme:

  • entrar n
  • imprimir n (digues n durant 0.5 segons) <-- Dins d'un bucle infinit (per sempre)
  • si n =1 aleshores ACABA EL PROGRAMA (atura tot)
  • si n es senar aleshores n=3n+1
  • en cas contrari, és a dir, si n és parell, aleshores n=n/2
  • tornar a la línia d'imprimir n

Per exemple, donat el número 22 el programa imprimiria la següent seqüència de números: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1. Aquesta seqüència rep el nom de cicle del número 22. Aquest és un cicle de longitud 16.

És una conjectura no demostrada que aquest algorisme acaba sempre, és a dir, que el cicle de tot nombre enter és un cicle finit.

Feu un programa que escrigui el cicle d'un número entrat per teclat. Podeu fer servir el programa per investigar cicles grans i cicles petits. Per exemple, els números de la forma 2^n (2,4,8,16,32,64,128, ...) tenen un cicle curt...


Material penjat el dia d'avui

20201030

1r Exercici) Feu un programa anomenat 20201030_ex01.xml, una captura anomenada 20201030_ex01.png i una captura del diagrama de flux amb el nom 20201030_ex01_flux.png que faci:

  • Declareu la variable n. Al prémer la bandera verda s'instancia al valor 0.
  • Al prémer la tecla + la variable s'incrementa en 1. Durant mig segon apareixerà al personatge.
  • Al prémer la tecla - la variable es decrementa en 1. Durant mig segon apareixerà al personatge.

2n Exercici) Feu un programa anomenat 20201030_ex02.xml, una captura anomenada 20201030_ex02.png i una captura del diagrama de flux amb el nom 20201030_ex02_flux.png que faci:

  • Pregunti un número del 0 al 10.
  • Presenti la taula de multiplicar del número entrat multiplicat des de 0 fins a 10. L'interval de presentació de cada multiplicació serà de mig segon.

3r Exercici) Feu un programa anomenat 20201030_ex03.xml, una captura anomenada 20201030_ex03.png i una captura del diagrama de flux amb el nom 20201030_ex03_flux.png que faci (aprofiteu l'exercici anterior):

  • Pregunti un número del 0 al 10.
  • Si el número és inferior a 0 o superior a 10, el programa ens indicarà que som fora del ventall de valors permesos i ens tornarà a preguntar fins que escrivim un valor entre 0 i 10, ambdós inclosos.
  • Presenti la taula de multiplicar del número entrat multiplicat des de 0 fins a 10. L'interval de presentació de cada multiplicació serà de mig segon.


Material penjat el dia d'avui

20201023

Exercici) Emprant Snap! feu un programa que llegeixi un any i us digui si és de traspàs. (Considerarem any és de traspàs si és un número divisible per 4, però no si és divisible per 100, excepte que també sigui divisible per 400). El nom d'aquest programa serà any_traspas i es desarà com a any_traspas.xml.

Exemples d'anys de traspàs: 2020, 2000

Exemples d'anys que no són de traspàs: 2021, 1900

Per a verificar en línia si un any és de traspàs o no


Material penjat el dia d'avui

20201016

Codis del dia d'avui

20201009

Codis del dia d'avui

Repàs del dia anterior

20201002

Exercicis fet a classe

Adreça de la teleconferència 2n d'octubre

20200925

Editor de diagrames de flux en línia

20200922

Repàs d'ordres del sistema operatiu GNU/Linux - 2a setmana del curs 2020-2021

20200918

Teleconferència 18 de setembre de 2020

Captura de codis Snap!