Diferència entre revisions de la pàgina «DAW 2020-2021»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 154 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 +
= Horari a partir del 18 de gener =
 +
[[Image:PandGener2021_DAW1.png|center|1r de DAW]]
 +
 
= Teleconferència del curs 2020-2021 =
 
= Teleconferència del curs 2020-2021 =
 
[https://meet.google.com/yvz-pmxy-zcy Adreça de la teleconferència]
 
[https://meet.google.com/yvz-pmxy-zcy Adreça de la teleconferència]
 +
 +
[https://meet.google.com/hhy-jrji-dco Adreça de la teleconferència de la part de reforç] (També per a hores exclusives amb en Carles Olivé)
 +
 +
[https://docs.google.com/spreadsheets/d/1rlObLTKvXBNRC5S6f6RS6bPdOBpfNhueKzgA0z2LZao/edit#gid=390363269 Llista 1r de DAW 2020-2021]
 +
 +
[[Carpetes compartides 1r de DAW. Curs 2020-2021]]
  
 
= Algunes classes =
 
= Algunes classes =
== 20201104 (1h) ==
+
== 20210526 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210526/ Alguns codis comentats avui]
 +
 
 +
== 20210525 (2h presencial) '''Avaluació ordinària del M03UF3''' ==
 +
[https://binefa.cat/daw2021/m03/20210525ex/ Examen d'avaluació ordinària de M03UF3]
 +
 
 +
== 20210520 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210520/ Alguns codis comentats avui]
 +
 
 +
== 20210519 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210519/ Alguns codis comentats avui]
 +
 
 +
== 20210518 (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210518/ Alguns codis comentats avui]
 +
 
 +
== 20210513 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210513/ Alguns codis comentats avui]
 +
 
 +
== 20210512 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210512/ Alguns codis comentats avui]
 +
 
 +
== 20210511 (2h presencial) ==
 +
sprintf(szTerminal,"'''ls''' > %s",NOM_FITXER); // sprintf(szTerminal,"'''dir /b /a-d''' > %s",NOM_FITXER);
 +
Sistema seriós:
 +
ls > llista.dir
 +
Finestrots:
 +
dir /b /a-d > llista.dir
 +
 
 +
[https://binefa.cat/daw2021/m03/20210511/ Alguns codis comentats avui]
 +
 
 +
== 20210506 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210506/ Alguns codis comentats avui]
 +
 
 +
== 20210505 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210505/ Alguns codis comentats avui]
 +
 
 +
== 20210504 (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210504/ Alguns codis comentats avui] A l'inici de la classe hi havia [https://binefa.cat/daw2021/m03/20210504/20210504_00.zip aquests arxius] (comprimit).
 +
 
 +
=== Exercici ===
 +
Demaneu els valors de l'arxiu [https://binefa.cat/asix2021/m03/20210503/struct05.c struct05.c] i feu que s'enregistri la informació als arxius ''administratiu.txt'', ''enginyer.txt'' i ''auxiliar.txt''. Anomeneu l'arxiu com a '''exEstructuraArxiu_00.c''' (baseu-vos en [https://binefa.cat/asix2021/m03/20210503/m8p03.c m8p03.c]).
 +
 
 +
Feu un nou '''exEstructuraArxiu_01.c''' que es limiti a fer la lectura d' ''administratiu.txt'', ''enginyer.txt'' i ''auxiliar.txt''.
 +
 
 +
== 20210429 '''Comença M03UF3''' (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210429/ Alguns codis comentats avui]
 +
 
 +
=== Exercici struct05.c ===
 +
Basant-vos en [https://binefa.cat/daw2021/m03/20210429/struct04.c struct04.c], desenvolupeu '''struct05.c''' a on la funció '''vDemanaDades''' demana els quatre camps de l'estructura i la funció '''vVisualitzaDades''' presenta els quatre camps de l'estructura.
 +
 
 +
== 20210428 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210428/ Alguns codis comentats avui]
 +
 
 +
== 20210427 '''Examen M03UF2''' (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210427_exM03Uf2/ Examen d'avaluació ordinària del M03UF2]
 +
 
 +
[https://binefa.cat/daw2021/m03/20210427_exM03Uf2/ex06previ.py.txt ex06previ.py] (El que faltava a l'arxiu .zip). Si premeu F5 ja està incorporat a l'arxiu [https://binefa.cat/daw2021/m03/20210427_exM03Uf2/20210427_material.zip 20210427_material.zip]
 +
 
 +
== 20210422 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210422/ Alguns codis comentats avui]
 +
 
 +
== 20210421 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210421/ Alguns codis comentats avui]
 +
 
 +
== 20210420 (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/examensPrevis/20180423ex.zip Examen UF2 2018 - Amb cadenes de caràcters]
 +
 
 +
[https://binefa.cat/asix2021/m03/examensPrevis/20160608exUf2extrAsix.tar.gz Examen extraordinària de 2016]
 +
 
 +
[https://binefa.cat/daw2021/m03/20210420/ Alguns codis comentats avui]
 +
 
 +
== 20210415 (1h presencial) ==
 +
[https://binefa.cat/daw2021/m03/examensPrevis/20180425exUF2.zip Examen del M03UF2 del curs 2017-2018]
 +
 
 +
[https://binefa.cat/daw2021/m03/20210415/ Alguns codis comentats avui]
 +
 
 +
== 20210414 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/examensPrevis/20180425exUF2.zip Examen del M03UF2 del curs 2017-2018]
 +
 
 +
[https://binefa.cat/daw2021/m03/20210414/ Alguns codis comentats avui]
 +
 
 +
== 20210413 (2h presencial) ==
 +
El [http://binefa.com/index.php?title=DAW_2020-2021#20210324_.281h_s.C3.ADncrona.29 darrer dia de classe síncrona] vam resoldre les dues primeres preguntes de l'
 +
[https://binefa.cat/daw2021/m03/examensPrevis/20190411_daw_m03uf2_ord.zip examen del M03UF2 del curs 2018-2019]
 +
 
 +
[https://binefa.cat/daw2021/m03/examensPrevis/20180425exUF2.zip Examen del M03UF2 del curs 2017-2018]
 +
 
 +
[https://binefa.cat/daw2021/m03/20210413/ Alguns codis comentats avui]
 +
 
 +
== 20210408 (1h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210407 (1h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210406 (2h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210325 (1h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210324 (1h síncrona) ==
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/annex.htm Com depurar un programa en C]
 +
 
 +
[https://binefa.cat/daw2021/m03/examensPrevis/20190411_daw_m03uf2_ord.zip Examen a resoldre en línia]
 +
 
 +
[https://binefa.cat/daw2021/m03/20210324/ Alguns codis comentats avui]
 +
 
 +
== 20210318 (1h presencial) ==
 +
Seguim amb els robots
 +
 
 +
[https://binefa.cat/daw2021/m03/20210318/prova_boto.ino Prova del botó d'inici del robot]
 +
 
 +
Com canviar d'estat quan passen més de 5 segons:
 +
'''#define CINC_SEGONS 5000'''
 +
...
 +
int nPensaEstat(int nEstatActual, bool bL, bool bR) {
 +
  '''static unsigned long  ulStartMillis = millis();'''
 +
  bL = !bL;
 +
  bR = !bR;
 +
  switch (nEstatActual) {
 +
 +
    case STATE_STOP:
 +
      ...
 +
 +
    case STATE_FORWARD:
 +
      if ((bL || bR)) {
 +
        '''ulStartMillis = millis();'''
 +
        return STATE_BORDER;
 +
      }
 +
      '''if (millis() - ulStartMillis > CINC_SEGONS) {'''
 +
        '''ulStartMillis = millis();'''
 +
        '''return STATE_BUSCAR;''' // Canvi d'estat per passar-se de 5 segons al mateix estat
 +
      '''}'''
 +
      break;
 +
 +
    case STATE_BORDER:
 +
      ...
 +
 +
    case STATE_SEARCH:
 +
      ...
 +
 +
    case STATE_FAST_FORWARD:
 +
      ...
 +
  }
 +
  return nEstatActual;
 +
}
 +
 
 +
== 20210316 (2h presencial) ==
 +
Seguim amb els robots
 +
 
 +
[https://binefa.cat/daw2021/m03/20210316/GrauTorres_4aProvaBC.ino Exemple d'ús de l'estat de cerca]
 +
 
 +
== 20210309 (2h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210304 '''Examen M03UF1''' (3h presencial) ==
 +
1a hora de robots
 +
 
 +
A 2a i 3a hora hi ha examen d'avaluació ordinària.
 +
 
 +
[https://binefa.cat/daw2021/m03/20210304_exM03Uf1 Examen M07UF1 d'ordinària]
 +
 
 +
== 20210303 (1h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210302 (2h síncrona) ==
 +
Proveu aquest codi en Python. Executeu-lo i verifiqueu que ho enteneu. En cas contrari, pregunteu:
 +
for n in range (25,9,-5):
 +
    print(n)
 +
 
 +
[https://binefa.cat/daw2021/m03/20210302/ Comentem els codis dels estats del robot]
 +
 
 +
== 20210225 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210225/ Alguns codis comentats avui]
 +
 
 +
== 20210224 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210224/ Alguns codis comentats avui]
 +
 
 +
== 20210223 (2h presencial) ==
 +
Seguim amb els robots
 +
 
 +
== 20210218 (1h presencial) ==
 +
Seguim amb el control del robot. Seguiment de línies i cerca d'una capsa al tatami.
 +
 
 +
== 20210217 (1h presencial) ==
 +
Seguim amb el control del robot. Seguiment de línies i cerca d'una capsa al tatami.
 +
 
 +
== 20210216 (2h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210216/ Alguns codis explicats avui]
 +
 
 +
=== '''Depuració''' ===
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/annex.htm Explicació de la depuració amb '''gdb''']
 +
 
 +
== 20210211 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210211/ Alguns codis comentats avui]
 +
 
 +
== 20210210 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210210/ Alguns codis comentats avui]
 +
 
 +
=== Compilació d'un projecte amb múltiples codis font ===
 +
La compilació de múltiples fitxers .cpp es fa d'aquesta manera:
 +
 
 +
(La compilació requereix dels arxius .c o .cpp i no pas els .h)
 +
 
 +
gcc '''copiaCadena.c funcions.c''' -o copiaCadena
 +
 
 +
Es compilen tots els arxius '''.c''' a la vegada
 +
 
 +
=== Exercici ===
 +
A partir de m05e7_04.c feu un projecte per a que m05e7.c pugui fer els includes: '''aleatorietat.h, visualitzacio.h i gestioVectors.h'''
 +
 
 +
Criteri de selecció de funcions:
 +
#include "aleatorietat.h" // #defines i vLlavorAleatorietat(), nNumAleat(int,int) i vGeneraNumerosAleatoris(double, double, int, double*)
 +
#include "visualitzacio.h" // #defines i void vVisualitzaVector(double *)
 +
#include "gestioVectors.h" // #defines i lfMaximVector(double *,int ) i lfMaximVector2(double *,int )
 +
 
 +
Per tant, haureu d'escriure el codi dels arxius '''aleatorietat.c, visualitzacio.c i gestioVectors.c'''
 +
 
 +
Els ''define''s els heu de posar als arxius .h que creieu més convenient. Ho heu de compilar i ha de seguir funcionant.
 +
 
 +
== 20210209 (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20210209/ Alguns codis comentats avui]
 +
 
 +
=== Proposta de control dels motors per infraroigs ===
 +
 
 +
Al final de l'exemple '''irRobCtl''':
 +
'''vMotion( (bBL)?127:0 , (bBR)?127:0 );'''
 +
 
 +
== 20210204 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210204/ Alguns codis comentats avui]
 +
 
 +
=== Deures pel proper dia no presencial ===
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m6/d97m6ex.htm Exercici 2]
 +
 
 +
=== Adreça per la classe d'en Carles a darrera hora d'avui ===
 +
[https://meet.google.com/joh-tqcx-zca Adreça per la classe d'en Carles a darrera hora]
 +
 
 +
== 20210203 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210203/ Alguns codis comentats avui]
 +
 
 +
* Desenvolupeu '''m6e03_09.c''' a partir de m6e03_08.c que faci que qualsevol frase que tingui majúscules sigui passada a minúscules. De tal manera que si introduïm '''TuruRut''' o '''tururut''' digui en ambdòs casos que és palíndrom.
 +
 
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210202$ '''gcc m6e03_08.c -o m'''
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210202$ '''./m'''
 +
Paraula candidata a palíndrom: '''TuruRuT'''
 +
Caràcter esquerra: T - Caràcter dreta: T
 +
Caràcter esquerra: u - Caràcter dreta: u
 +
Caràcter esquerra: r - Caràcter dreta: R
 +
"TuruRuT" '''no és''' palíndrom
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210202$ '''./m'''
 +
Paraula candidata a palíndrom: '''tururut'''
 +
Caràcter esquerra: t - Caràcter dreta: t
 +
Caràcter esquerra: u - Caràcter dreta: u
 +
Caràcter esquerra: r - Caràcter dreta: r
 +
"tururut" '''és''' palíndrom
 +
 
 +
Pista:
 +
('b' - 'a') + 'A'
 +
(98 - 97) + 65 --> 66 --> 'B'
 +
 
 +
 
 +
* Desenvolupeu '''m6e03_10.c''' a partir de m6e03_09.c que tregui els espais.
 +
* Desenvolupeu '''m6e03_11.c''' a partir de m6e03_10.c que tregui els espais, comes, punts, ...
 +
 
 +
== 20210202 (2h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20210202/ Alguns codis comentats avui]
 +
 
 +
== 20210128 (1h síncrona per confinament) ==
 +
Porteu pensat el segon exercici del dia anterior (implementació en Python de la solució proposada en C).
 +
 
 +
[https://binefa.cat/daw2021/m03/20210128/ Alguns codis comentats avui]
 +
 
 +
== 20210127 (1h síncrona per confinament) ==
 +
[https://binefa.cat/daw2021/m03/20210127/ Alguns codis comentats avui]
 +
 
 +
=== Exercicis ===
 +
* Feu un programa que generi set números aleatoris entre -10.00 i 10.00. S'han de posar a les set primeres posicions de vector lfVector[99]. Aprofiteu l'exercici '''m05e7_03.c''' com a base per a resoldre-ho. Podeu generar la funció '''void vGeneraNumerosAleatoris(double lfMin, double lfMax, int nQuants, double* lfV)'''. Una crida possible des de la funció '''main()''' seria vGeneraNumerosAleatoris(-10.00,10.00,7,lfVector)
 +
 
 +
Exemple d'execució:
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210127$ ./m
 +
vVisualitzaVector:
 +
lfVector: { -0.01 -7.42 7.52 2.08 5.59 8.68 -9.30  }
 +
1) El valor màxim del vector és 8.68
 +
2) El valor màxim del vector és 8.68
 +
 
 +
 
 +
* El mateix que l'anterior en Python. La funció de generació haurà de ser diferent. Feu una proposta de codi.
 +
 
 +
== 20210126 (2h síncrona per confinament) ==
 +
[https://binefa.cat/daw2021/m03/20210126/ Alguns codis comentats avui]
 +
 
 +
=== Exercicis ===
 +
* Feu un programa en C i en Python, aprofitant el que avui hem vist a classe, i modifiqueu els elements del vector (llista a Python) incrementant el seu valor en un 21% (com l'IVA).
 +
 
 +
Ha de sortir així:
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210126/ex$ '''gcc m05e7_03_mesIva.c -o m'''
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210126/ex$ '''./m'''
 +
 +
---------------
 +
vVisualitzaVector:
 +
lfVector: { 2.34 4.56 -3.45 10.00 9.87 1.32 -1.27  }
 +
1) El valor màxim del vector és 10.00
 +
2) El valor màxim del vector és 10.00 
 +
 +
---------------
 +
vVisualitzaVector:
 +
lfVector: { 2.83 5.52 -4.17 12.10 11.94 1.60 -1.54  }
 +
3) El valor màxim del vector és 12.10
 +
 
 +
Proposta de funció principal '''main()''':
 +
int main(){
 +
        double lfVector[99] = {2.34,4.56,-3.45,10,9.87,1.32,-1.27}; // 7 elements instanciats
 +
       
 +
        vVisualitzaVector(lfVector); // vVisualitzaVector(&lfVector[0]);
 +
        printf("1) El valor màxim del vector és %.2lf\n",lfMaximVector(lfVector,MIDA_INICIAL));
 +
        printf("2) El valor màxim del vector és %.2lf\n",lfMaximVector2(lfVector,MIDA_INICIAL));
 +
        '''vAfegeixIva(lfVector,MIDA_INICIAL,21.0);'''
 +
        vVisualitzaVector(lfVector); // vVisualitzaVector(&lfVector[0]);
 +
        printf("3) El valor màxim del vector és %.2lf\n",lfMaximVector(lfVector,MIDA_INICIAL));
 +
 +
        return 0;
 +
}
 +
 
 +
I a '''Python''':
 +
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210126/ex$ '''python3 m05e7_03_mesIVA.py'''
 +
vVector: [ 2.34 4.56 -3.45 10.00 9.87 1.32 -1.27 ]
 +
El valor màxim del vector és 10.00
 +
vVector: [ 2.83 5.52 -4.17 12.10 11.94 1.60 -1.54 ]
 +
El valor màxim del vector és 12.10
 +
 
 +
Proposta de funció principal a Python:
 +
lfVector = [2.34,4.56,-3.45,10,9.87,1.32,-1.27] 
 +
 +
vVisualitzaVector(lfVector)
 +
print("El valor màxim del vector és %.2lf"%lfMaximVector(lfVector))
 +
'''lfVector = vAfegeixIva(lfVector,21.0)'''
 +
vVisualitzaVector(lfVector)
 +
print("El valor màxim del vector és %.2lf"%lfMaximVector(lfVector))
 +
 
 +
== 20210120 (1h presencial) '''Robot''' ==
 +
[https://www.binefa.cat/daw2021/m03/20210120_robot/ Biblioteques per al robot versió 5]
 +
 
 +
== 20210119 (2h síncrona) ==
 +
Seguim amb apuntadors. [http://binefa.com/index.php?title=DAW_2020-2021#20210111_.281h_s.C3.ADncrona.29 Darrer dia que vam parlar d'apuntadors].
 +
 
 +
[https://binefa.cat/daw2021/m03/20210119/ Alguns codis comentats avui]
 +
 
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m5/d97m5p2.htm Explicació de la funció d'intercanvi ('''swap''')]
 +
 
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m5/d97m5te.htm Teoria d'apuntadors]
 +
 
 +
== 20210114 (2h presencial) ==
 +
[https://www.binefa.cat/daw2021/m03/20210114/ Alguns codis comentats avui]
 +
 
 +
Seguim amb Arduino
 +
 
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 
 +
== 20210111 (1h síncrona) ==
 +
Comencem apuntadors.
 +
 
 +
[https://binefa.cat/daw2021/m03/20210111/ Codis fets avui]
 +
 
 +
== 20201221 (1h síncrona) ==
 +
Dubtes de recursivitat i temes anteriors.
 +
 
 +
[https://ca.wikipedia.org/wiki/Torres_de_Hanoi Què són les torres de Hanoi?]
 +
 
 +
* Explicació de [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4p2.htm Les torres de Hanoi]
 +
 
 +
[https://youtu.be/lilBGvaOSy8 Vídeo: Entendiendo la recursividad con las Torres de Hanoi]
 +
 
 +
[https://www.youtube.com/watch?v=LM68IQvIo_E Vídeo: La terrible leyenda de las Torres de Hanói]
 +
 
 +
* A partir del codi [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4p2.htm Les torres de Hanoi], '''feu un comptador de moviments''' de les torres de Hanoi. '''Excepcionalment''' podeu emprar '''variables globals'''.
 +
 
 +
* Implementeu en Python les torres de Hanoi
 +
 
 +
== 20201217 (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20201217/ Alguns codis d'avui]. Flanc implementat en Snap4Arduino
 +
 
 +
Porteu fet de casa l'exercici de Fibonacci traduït de Python a C.
 +
 
 +
Seguim amb Arduino
 +
 
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]
 +
 
 +
[[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]]
 +
 
 +
== 20201214 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20201214/ Codis fets el dia d'avui]
 +
 
 +
=== '''La recursivitat''' ===
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4te.htm '''La recursivitat''']
 +
 
 +
==== Exemples de recursivitat ====
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4p1.htm La suma dels naturals]
 +
 
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4p2.htm Les torres de Hanoi] (Feu un comptador de moviments)
 +
 
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4p3.htm Fórmula de Wallis]
 +
 
 +
==== Exercicis de recursivitat ====
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm Exercicis 1, 2 i 12]
 +
 
 +
== 20201210 (2h presencial) ==
 +
[[Introducció a Arduino]]
 +
 
 +
== 20201203 (2h presencial) ==
 +
[https://binefa.cat/daw2021/m03/20201203/ Codis del dia d'avui]
 +
 
 +
* Feu la travessa en Python.
 +
 
 +
* Feu un menú en C que cridi els tres programes de la travessa en C i els tres programes en Python.
 +
 
 +
* Feu un menú en Python que cridi els tres programes de la travessa en C i els tres programes en Python.
 +
 
 +
== 20201130 (1h síncrona) ==
 +
Porteu fet i '''acabat''' l'[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm exercici 5 del mòdul 4 del d97] en C i en Python.
 +
 
 +
Porteu '''pensat''' com fer l'exercici de la travessa (''quiniela'').
 +
 
 +
[https://binefa.cat/daw2021/m03/20201130/ Codis del dia d'avui]
 +
 
 +
== 20201126 (2h, presencial) ==
 +
Heu de portar acabat en Python les solucions en C del dia anterior. [https://binefa.cat/daw2021/m03/20201126/m4e03_04.py.txt Resposta proposada per n'Andrea Sánchez]
 +
 
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm Exercici 11 del mòdul 4 del d97]
 +
 
 +
[https://binefa.cat/daw2021/m03/20201126/ Codis del dia d'avui]
 +
 
 +
== 20201123 (1h síncrona) ==
 +
[https://binefa.cat/daw2021/m03/20201123/ Alguns codis fets avui]
 +
 
 +
== 20201120 (1h síncrona) ==
 +
Mirar possibles solucions a [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm l'exercici 3 del mòdul 3 ('''màxim comú divisor de tres nombres''')] i [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm l'exercici 3 del mòdul 4 del d97 ('''joc d'endevinar un número entre l'1 i el 1000''')]
 +
 
 +
== 20201119 (2h presencials) ==
 +
[https://binefa.cat/daw2021/m03/20201119/ Alguns codis fets avui]
 +
 
 +
=== Estructura condicional '''switch-case''' (existeix en C, no en Python) ===
 +
 
 +
=== Estructura repetitiva '''do-while''' (existeix en C, no en Python) ===
 +
 
 +
=== Menú amb do-while i switch-case ===
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3p6.htm Menú amb do-while i switch-case]
 +
 
 +
=== Recursivitat i pseudoaleatorietat ===
 +
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4te.htm Resum teòric de recursivitat i pseudoaleatorietat en C]
 +
 
 +
== 20201116 (1h en línia) ==
 +
Avui rebreu per correu electrònic la tasca a desenvolupar a l'hora de classe d'avui.
 +
 
 +
== 20201112 (2h presencials) ==
 +
[https://binefa.cat/daw2021/m03/20201112/ Alguns codis fets avui]
 +
 
 +
=== Exercici 1 de funcions ===
 +
Desenvolupeu un programa en C i un altre en Python que preguntin el radi d'una roda de bicicleta i retorni la longitud del pneumàtic de la bicicleta (Pista: 2 pi R).
 +
 
 +
=== Exercici 2 de funcions ===
 +
Desenvolupeu un programa en C i un altre en Python que preguntin els dos catets d'un triangle i calculi llur superfície.
 +
 
 +
Feu la funció lfSuperficie que sigui de tipus double en C i float en Python. El prototipus de la funció en C serà '''double lfSuperficie(double lfCatet1, double lfCatet2)''' i en Python '''def lfSuperficie(lfCatet1,lfCatet2)'''
 +
 
 +
=== Exercici 3 de funcions ===
 +
Desenvolupeu un programa en C i un altre en Python que preguntin els dos catets d'un triangle i calculi llur hipotenusa.
 +
 
 +
En C caldrà fer servir la funció '''sqrt()''', per tant caldrà incloure '''include <math.h>'''. Recordeu que la comppilació fent servir la biblioteca matemàtica és:
 +
gcc -lm ex03_func.c -o e3
 +
 
 +
[https://www.geeksforgeeks.org/python-math-function-sqrt/ Un exemple d'ús de la funció '''sqrt()''' en Python]
 +
 
 +
=== Exercici 4 de funcions ===
 +
Desenvolupeu en C i en Python [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm l'exercici 3 del mòdul 3 del d97]. Recordeu que vam fer [https://binefa.cat/daw2021/m03/20201109/m3p03_c.zip l'exercici del màxim comú divisor en C] i [https://binefa.cat/daw2021/m03/20201109/m3p03_py.zip l'exercici del màxim comú divisor en Python].
 +
 
 +
== 20201109 (1h en línia) ==
 +
[https://binefa.cat/daw2021/m03/20201109/ Alguns codis fets avui]
 +
 
 +
== 20201105 (1h) ==
 
Concepte de funció.
 
Concepte de funció.
  
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm Exercicis 2 i 3]
+
[http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm Exercici 3]
  
 
[https://binefa.cat/daw2021/m03/20201105/ Alguns codis fets avui]
 
[https://binefa.cat/daw2021/m03/20201105/ Alguns codis fets avui]
Línia 101: Línia 591:
  
 
= Repositori de codis fet a classe durant el curs =
 
= Repositori de codis fet a classe durant el curs =
 
 
[https://binefa.cat/daw2021/m03/ Codis fets a les classes de 1r de DAW]
 
[https://binefa.cat/daw2021/m03/ Codis fets a les classes de 1r de DAW]

Revisió de 10:46, 25 gen 2022

Contingut

Horari a partir del 18 de gener[modifica]

1r de DAW

Teleconferència del curs 2020-2021[modifica]

Adreça de la teleconferència

Adreça de la teleconferència de la part de reforç (També per a hores exclusives amb en Carles Olivé)

Llista 1r de DAW 2020-2021

Carpetes compartides 1r de DAW. Curs 2020-2021

Algunes classes[modifica]

20210526 (1h presencial)[modifica]

Alguns codis comentats avui

20210525 (2h presencial) Avaluació ordinària del M03UF3[modifica]

Examen d'avaluació ordinària de M03UF3

20210520 (1h presencial)[modifica]

Alguns codis comentats avui

20210519 (1h presencial)[modifica]

Alguns codis comentats avui

20210518 (2h presencial)[modifica]

Alguns codis comentats avui

20210513 (1h presencial)[modifica]

Alguns codis comentats avui

20210512 (1h presencial)[modifica]

Alguns codis comentats avui

20210511 (2h presencial)[modifica]

sprintf(szTerminal,"ls > %s",NOM_FITXER); // sprintf(szTerminal,"dir /b /a-d > %s",NOM_FITXER);

Sistema seriós:

ls > llista.dir

Finestrots:

dir /b /a-d > llista.dir

Alguns codis comentats avui

20210506 (1h presencial)[modifica]

Alguns codis comentats avui

20210505 (1h presencial)[modifica]

Alguns codis comentats avui

20210504 (2h presencial)[modifica]

Alguns codis comentats avui A l'inici de la classe hi havia aquests arxius (comprimit).

Exercici[modifica]

Demaneu els valors de l'arxiu struct05.c i feu que s'enregistri la informació als arxius administratiu.txt, enginyer.txt i auxiliar.txt. Anomeneu l'arxiu com a exEstructuraArxiu_00.c (baseu-vos en m8p03.c).

Feu un nou exEstructuraArxiu_01.c que es limiti a fer la lectura d' administratiu.txt, enginyer.txt i auxiliar.txt.

20210429 Comença M03UF3 (1h presencial)[modifica]

Alguns codis comentats avui

Exercici struct05.c[modifica]

Basant-vos en struct04.c, desenvolupeu struct05.c a on la funció vDemanaDades demana els quatre camps de l'estructura i la funció vVisualitzaDades presenta els quatre camps de l'estructura.

20210428 (1h presencial)[modifica]

Alguns codis comentats avui

20210427 Examen M03UF2 (2h presencial)[modifica]

Examen d'avaluació ordinària del M03UF2

ex06previ.py (El que faltava a l'arxiu .zip). Si premeu F5 ja està incorporat a l'arxiu 20210427_material.zip

20210422 (1h presencial)[modifica]

Alguns codis comentats avui

20210421 (1h presencial)[modifica]

Alguns codis comentats avui

20210420 (2h presencial)[modifica]

Examen UF2 2018 - Amb cadenes de caràcters

Examen extraordinària de 2016

Alguns codis comentats avui

20210415 (1h presencial)[modifica]

Examen del M03UF2 del curs 2017-2018

Alguns codis comentats avui

20210414 (1h síncrona)[modifica]

Examen del M03UF2 del curs 2017-2018

Alguns codis comentats avui

20210413 (2h presencial)[modifica]

El darrer dia de classe síncrona vam resoldre les dues primeres preguntes de l' examen del M03UF2 del curs 2018-2019

Examen del M03UF2 del curs 2017-2018

Alguns codis comentats avui

20210408 (1h presencial)[modifica]

Seguim amb els robots

20210407 (1h presencial)[modifica]

Seguim amb els robots

20210406 (2h presencial)[modifica]

Seguim amb els robots

20210325 (1h presencial)[modifica]

Seguim amb els robots

20210324 (1h síncrona)[modifica]

Com depurar un programa en C

Examen a resoldre en línia

Alguns codis comentats avui

20210318 (1h presencial)[modifica]

Seguim amb els robots

Prova del botó d'inici del robot

Com canviar d'estat quan passen més de 5 segons:

#define CINC_SEGONS 5000
...
int nPensaEstat(int nEstatActual, bool bL, bool bR) {
 static unsigned long  ulStartMillis = millis();
 bL = !bL;
 bR = !bR;
 switch (nEstatActual) {

   case STATE_STOP:
     ...

   case STATE_FORWARD:
     if ((bL || bR)) {
       ulStartMillis = millis();
       return STATE_BORDER;
     }
     if (millis() - ulStartMillis > CINC_SEGONS) {
       ulStartMillis = millis();
       return STATE_BUSCAR; // Canvi d'estat per passar-se de 5 segons al mateix estat
     }
     break;

   case STATE_BORDER:
     ...

   case STATE_SEARCH:
     ...

   case STATE_FAST_FORWARD:
     ...
 }
 return nEstatActual;
}

20210316 (2h presencial)[modifica]

Seguim amb els robots

Exemple d'ús de l'estat de cerca

20210309 (2h presencial)[modifica]

Seguim amb els robots

20210304 Examen M03UF1 (3h presencial)[modifica]

1a hora de robots

A 2a i 3a hora hi ha examen d'avaluació ordinària.

Examen M07UF1 d'ordinària

20210303 (1h presencial)[modifica]

Seguim amb els robots

20210302 (2h síncrona)[modifica]

Proveu aquest codi en Python. Executeu-lo i verifiqueu que ho enteneu. En cas contrari, pregunteu:

for n in range (25,9,-5):
   print(n)

Comentem els codis dels estats del robot

20210225 (1h síncrona)[modifica]

Alguns codis comentats avui

20210224 (1h síncrona)[modifica]

Alguns codis comentats avui

20210223 (2h presencial)[modifica]

Seguim amb els robots

20210218 (1h presencial)[modifica]

Seguim amb el control del robot. Seguiment de línies i cerca d'una capsa al tatami.

20210217 (1h presencial)[modifica]

Seguim amb el control del robot. Seguiment de línies i cerca d'una capsa al tatami.

20210216 (2h síncrona)[modifica]

Alguns codis explicats avui

Depuració[modifica]

Explicació de la depuració amb gdb

20210211 (1h síncrona)[modifica]

Alguns codis comentats avui

20210210 (1h síncrona)[modifica]

Alguns codis comentats avui

Compilació d'un projecte amb múltiples codis font[modifica]

La compilació de múltiples fitxers .cpp es fa d'aquesta manera:

(La compilació requereix dels arxius .c o .cpp i no pas els .h)

gcc copiaCadena.c funcions.c -o copiaCadena

Es compilen tots els arxius .c a la vegada

Exercici[modifica]

A partir de m05e7_04.c feu un projecte per a que m05e7.c pugui fer els includes: aleatorietat.h, visualitzacio.h i gestioVectors.h

Criteri de selecció de funcions:

#include "aleatorietat.h" // #defines i vLlavorAleatorietat(), nNumAleat(int,int) i vGeneraNumerosAleatoris(double, double, int, double*)
#include "visualitzacio.h" // #defines i void vVisualitzaVector(double *)
#include "gestioVectors.h" // #defines i lfMaximVector(double *,int ) i lfMaximVector2(double *,int )

Per tant, haureu d'escriure el codi dels arxius aleatorietat.c, visualitzacio.c i gestioVectors.c

Els defines els heu de posar als arxius .h que creieu més convenient. Ho heu de compilar i ha de seguir funcionant.

20210209 (2h presencial)[modifica]

Alguns codis comentats avui

Proposta de control dels motors per infraroigs[modifica]

Al final de l'exemple irRobCtl:

vMotion( (bBL)?127:0 , (bBR)?127:0 );

20210204 (1h síncrona)[modifica]

Alguns codis comentats avui

Deures pel proper dia no presencial[modifica]

Exercici 2

Adreça per la classe d'en Carles a darrera hora d'avui[modifica]

Adreça per la classe d'en Carles a darrera hora

20210203 (1h síncrona)[modifica]

Alguns codis comentats avui

  • Desenvolupeu m6e03_09.c a partir de m6e03_08.c que faci que qualsevol frase que tingui majúscules sigui passada a minúscules. De tal manera que si introduïm TuruRut o tururut digui en ambdòs casos que és palíndrom.
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210202$ gcc m6e03_08.c -o m
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210202$ ./m
Paraula candidata a palíndrom: TuruRuT
Caràcter esquerra: T - Caràcter dreta: T
Caràcter esquerra: u - Caràcter dreta: u
Caràcter esquerra: r - Caràcter dreta: R
"TuruRuT" no és palíndrom
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210202$ ./m
Paraula candidata a palíndrom: tururut
Caràcter esquerra: t - Caràcter dreta: t
Caràcter esquerra: u - Caràcter dreta: u
Caràcter esquerra: r - Caràcter dreta: r
"tururut" és palíndrom

Pista:

('b' - 'a') + 'A'
(98 - 97) + 65 --> 66 --> 'B' 


  • Desenvolupeu m6e03_10.c a partir de m6e03_09.c que tregui els espais.
  • Desenvolupeu m6e03_11.c a partir de m6e03_10.c que tregui els espais, comes, punts, ...

20210202 (2h síncrona)[modifica]

Alguns codis comentats avui

20210128 (1h síncrona per confinament)[modifica]

Porteu pensat el segon exercici del dia anterior (implementació en Python de la solució proposada en C).

Alguns codis comentats avui

20210127 (1h síncrona per confinament)[modifica]

Alguns codis comentats avui

Exercicis[modifica]

  • Feu un programa que generi set números aleatoris entre -10.00 i 10.00. S'han de posar a les set primeres posicions de vector lfVector[99]. Aprofiteu l'exercici m05e7_03.c com a base per a resoldre-ho. Podeu generar la funció void vGeneraNumerosAleatoris(double lfMin, double lfMax, int nQuants, double* lfV). Una crida possible des de la funció main() seria vGeneraNumerosAleatoris(-10.00,10.00,7,lfVector)

Exemple d'execució:

jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210127$ ./m
vVisualitzaVector:
lfVector: { -0.01 -7.42 7.52 2.08 5.59 8.68 -9.30  }
1) El valor màxim del vector és 8.68
2) El valor màxim del vector és 8.68


  • El mateix que l'anterior en Python. La funció de generació haurà de ser diferent. Feu una proposta de codi.

20210126 (2h síncrona per confinament)[modifica]

Alguns codis comentats avui

Exercicis[modifica]

  • Feu un programa en C i en Python, aprofitant el que avui hem vist a classe, i modifiqueu els elements del vector (llista a Python) incrementant el seu valor en un 21% (com l'IVA).

Ha de sortir així:

jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210126/ex$ gcc m05e7_03_mesIva.c -o m
jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210126/ex$ ./m

---------------
vVisualitzaVector:
lfVector: { 2.34 4.56 -3.45 10.00 9.87 1.32 -1.27  }
1) El valor màxim del vector és 10.00
2) El valor màxim del vector és 10.00  

---------------
vVisualitzaVector:
lfVector: { 2.83 5.52 -4.17 12.10 11.94 1.60 -1.54  }
3) El valor màxim del vector és 12.10

Proposta de funció principal main():

int main(){
       double lfVector[99] = {2.34,4.56,-3.45,10,9.87,1.32,-1.27}; // 7 elements instanciats
       
       vVisualitzaVector(lfVector); // vVisualitzaVector(&lfVector[0]);
       printf("1) El valor màxim del vector és %.2lf\n",lfMaximVector(lfVector,MIDA_INICIAL));
       printf("2) El valor màxim del vector és %.2lf\n",lfMaximVector2(lfVector,MIDA_INICIAL));
       vAfegeixIva(lfVector,MIDA_INICIAL,21.0);
       vVisualitzaVector(lfVector); // vVisualitzaVector(&lfVector[0]);
       printf("3) El valor màxim del vector és %.2lf\n",lfMaximVector(lfVector,MIDA_INICIAL));
		
       return 0;
}

I a Python:

jordi@ecat-XPS13:~/Documents/escolaClot/curs2020-2021/m03/daw/20210126/ex$ python3 m05e7_03_mesIVA.py
vVector: [ 2.34 4.56 -3.45 10.00 9.87 1.32 -1.27 ]
El valor màxim del vector és 10.00
vVector: [ 2.83 5.52 -4.17 12.10 11.94 1.60 -1.54 ]
El valor màxim del vector és 12.10

Proposta de funció principal a Python:

lfVector = [2.34,4.56,-3.45,10,9.87,1.32,-1.27]  
	
vVisualitzaVector(lfVector)
print("El valor màxim del vector és %.2lf"%lfMaximVector(lfVector))
lfVector = vAfegeixIva(lfVector,21.0)
vVisualitzaVector(lfVector)
print("El valor màxim del vector és %.2lf"%lfMaximVector(lfVector))

20210120 (1h presencial) Robot[modifica]

Biblioteques per al robot versió 5

20210119 (2h síncrona)[modifica]

Seguim amb apuntadors. Darrer dia que vam parlar d'apuntadors.

Alguns codis comentats avui

Explicació de la funció d'intercanvi (swap)

Teoria d'apuntadors

20210114 (2h presencial)[modifica]

Alguns codis comentats avui

Seguim amb Arduino

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

20210111 (1h síncrona)[modifica]

Comencem apuntadors.

Codis fets avui

20201221 (1h síncrona)[modifica]

Dubtes de recursivitat i temes anteriors.

Què són les torres de Hanoi?

Vídeo: Entendiendo la recursividad con las Torres de Hanoi

Vídeo: La terrible leyenda de las Torres de Hanói

  • A partir del codi Les torres de Hanoi, feu un comptador de moviments de les torres de Hanoi. Excepcionalment podeu emprar variables globals.
  • Implementeu en Python les torres de Hanoi

20201217 (2h presencial)[modifica]

Alguns codis d'avui. Flanc implementat en Snap4Arduino

Porteu fet de casa l'exercici de Fibonacci traduït de Python a C.

Seguim amb Arduino

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part

Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part

20201214 (1h síncrona)[modifica]

Codis fets el dia d'avui

La recursivitat[modifica]

La recursivitat

Exemples de recursivitat[modifica]

La suma dels naturals

Les torres de Hanoi (Feu un comptador de moviments)

Fórmula de Wallis

Exercicis de recursivitat[modifica]

Exercicis 1, 2 i 12

20201210 (2h presencial)[modifica]

Introducció a Arduino

20201203 (2h presencial)[modifica]

Codis del dia d'avui

  • Feu la travessa en Python.
  • Feu un menú en C que cridi els tres programes de la travessa en C i els tres programes en Python.
  • Feu un menú en Python que cridi els tres programes de la travessa en C i els tres programes en Python.

20201130 (1h síncrona)[modifica]

Porteu fet i acabat l'exercici 5 del mòdul 4 del d97 en C i en Python.

Porteu pensat com fer l'exercici de la travessa (quiniela).

Codis del dia d'avui

20201126 (2h, presencial)[modifica]

Heu de portar acabat en Python les solucions en C del dia anterior. Resposta proposada per n'Andrea Sánchez

Exercici 11 del mòdul 4 del d97

Codis del dia d'avui

20201123 (1h síncrona)[modifica]

Alguns codis fets avui

20201120 (1h síncrona)[modifica]

Mirar possibles solucions a l'exercici 3 del mòdul 3 (màxim comú divisor de tres nombres) i l'exercici 3 del mòdul 4 del d97 (joc d'endevinar un número entre l'1 i el 1000)

20201119 (2h presencials)[modifica]

Alguns codis fets avui

Estructura condicional switch-case (existeix en C, no en Python)[modifica]

Estructura repetitiva do-while (existeix en C, no en Python)[modifica]

Menú amb do-while i switch-case[modifica]

Menú amb do-while i switch-case

Recursivitat i pseudoaleatorietat[modifica]

Resum teòric de recursivitat i pseudoaleatorietat en C

20201116 (1h en línia)[modifica]

Avui rebreu per correu electrònic la tasca a desenvolupar a l'hora de classe d'avui.

20201112 (2h presencials)[modifica]

Alguns codis fets avui

Exercici 1 de funcions[modifica]

Desenvolupeu un programa en C i un altre en Python que preguntin el radi d'una roda de bicicleta i retorni la longitud del pneumàtic de la bicicleta (Pista: 2 pi R).

Exercici 2 de funcions[modifica]

Desenvolupeu un programa en C i un altre en Python que preguntin els dos catets d'un triangle i calculi llur superfície.

Feu la funció lfSuperficie que sigui de tipus double en C i float en Python. El prototipus de la funció en C serà double lfSuperficie(double lfCatet1, double lfCatet2) i en Python def lfSuperficie(lfCatet1,lfCatet2)

Exercici 3 de funcions[modifica]

Desenvolupeu un programa en C i un altre en Python que preguntin els dos catets d'un triangle i calculi llur hipotenusa.

En C caldrà fer servir la funció sqrt(), per tant caldrà incloure include <math.h>. Recordeu que la comppilació fent servir la biblioteca matemàtica és:

gcc -lm ex03_func.c -o e3

Un exemple d'ús de la funció sqrt() en Python

Exercici 4 de funcions[modifica]

Desenvolupeu en C i en Python l'exercici 3 del mòdul 3 del d97. Recordeu que vam fer l'exercici del màxim comú divisor en C i l'exercici del màxim comú divisor en Python.

20201109 (1h en línia)[modifica]

Alguns codis fets avui

20201105 (1h)[modifica]

Concepte de funció.

Exercici 3

Alguns codis fets avui

20201104 (1h)[modifica]

Exercici 8. Algorisme 3n+1

Alguns codis fets avui

20201103 (2h)[modifica]

Exercicis d'estructures de control repetitives en Python

Alguns codis fets avui

Per a implementar l'exercici 6 de bucles[modifica]

Aquest és l'algorisme desenvolupat a classe i aquest és el codi en XML per a ser carregat per l'Snap!

Per simular un "Atura-ho Tot" en C, podeu fer servir un return 0; a la funció main()

Mireu pr02.py del Tercer dia de classe - M03 PRG 2020-2021 per saber com fer un return 0; en Python (sys.exit(0) i al principi cal afegir import sys).

20201029 (1h)[modifica]

Exercicis d'estructures de control repetitives en Python

Alguns codis fets avui

20201028 (1h)[modifica]

Exercicis d'estructures de control repetitives en Python

Alguns codis fets avui

20201027 (2h)[modifica]

Bucles amb Python

Alguns codis fets avui

20201022 (1h)[modifica]

Bucles amb Python

1r exercici. Equació de 2n grau

Alguns codis fets avui

20201021 (1h)[modifica]

Exercicis de condicions en Python

Alguns codis fets avui

20201020 (2h)[modifica]

Exercicis de condicions en Python

Alguns codis fets avui

20201015 (1h)[modifica]

Exercicis de condicions en Python

Alguns codis fets avui

20201014 (1h)[modifica]

Exercicis de condicions en Python

Alguns codis fets avui

20201013 (2h)[modifica]

Condicionals amb Python

20201008 (1h)[modifica]

Tercer dia de classe - M03 PRG 2020-2021

Codis del dia d'avui

20201007 (1h)[modifica]

Tercer dia de classe - M03 PRG 2020-2021

Codis del dia d'avui

20201006 (2h)[modifica]

Tercer dia de classe - M03 PRG 2020-2021

Codis del dia d'avui (comprimits els que hi eren al principi de la classe)

Tipus de dades fonamentals: Variables

20201001 (1h)[modifica]

Codis del dia d'avui

20200930 (1h)[modifica]

Segon dia de classe - M03 PRG 2020-2021

20200929 (2h)[modifica]

Codis explicats a classe[modifica]

Codis explicats a classe

Repositori de codis fet a classe durant el curs[modifica]

Codis fets a les classes de 1r de DAW