Diferència entre revisions de la pàgina «DAW 2022-2023»
m |
m (→20230518) |
||
(187 revisions intermèdies per 2 usuaris que no es mostren) | |||
Línia 18: | Línia 18: | ||
* Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta '''M03/exercicis/Python'''. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran ''alg04.py'', ''alg06.py'', ''alg07.py'' i ''alg08.py'' (si hi pugeu versions diferents, les podeu anomenar ''alg04_00.py'', ''alg04_01.py'', ...). També hi pujareu un arxiu en pdf, anomenat '''alg04_06_07_08_py.pdf''' amb les captures de codi més significatives (al principi, potser, serà tot el codi. Però quan els codis es facin més grans tan sols farà falta indicar la part més representativa) i les captures de llur execució. A classe comentem com fer-ho. '''També cal afegir l'enunciat i una captura del codi en Snap!''' | * Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta '''M03/exercicis/Python'''. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran ''alg04.py'', ''alg06.py'', ''alg07.py'' i ''alg08.py'' (si hi pugeu versions diferents, les podeu anomenar ''alg04_00.py'', ''alg04_01.py'', ...). També hi pujareu un arxiu en pdf, anomenat '''alg04_06_07_08_py.pdf''' amb les captures de codi més significatives (al principi, potser, serà tot el codi. Però quan els codis es facin més grans tan sols farà falta indicar la part més representativa) i les captures de llur execució. A classe comentem com fer-ho. '''També cal afegir l'enunciat i una captura del codi en Snap!''' | ||
= Algunes classes = | = Algunes classes = | ||
+ | == Enllaços ràpids == | ||
[https://docs.google.com/spreadsheets/d/1473ONxhjoLkQMlCbswTK61gk7emMzDFUVhaOqcsRFKE Llista de 1r de DAW] | [https://docs.google.com/spreadsheets/d/1473ONxhjoLkQMlCbswTK61gk7emMzDFUVhaOqcsRFKE Llista de 1r de DAW] | ||
− | |||
[https://meet.google.com/xcy-pzph-huk Teleconferència provisional per a compartir pantalles a classe i per a confinats] | [https://meet.google.com/xcy-pzph-huk Teleconferència provisional per a compartir pantalles a classe i per a confinats] | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | [[Introducció a Arduino]] | ||
+ | |||
+ | [https://wokwi.com/projects/354037245005603841 Simulació dels 4 leds i 4 botons de la placa S4A] | ||
+ | |||
+ | [https://wokwi.com/projects/355572920722910209 Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | [[Pràctiques amb el robot versió 6]] | ||
<!-- https://docs.python.org/3/library/csv.html --> | <!-- https://docs.python.org/3/library/csv.html --> | ||
+ | |||
+ | == 20230523 Examen d'ordinària '''UF3''' == | ||
+ | [https://recull.binefa.cat/files/20230523m03uf3exOrd/ Enunciat de l'examen i material] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | == 20230518 == | ||
+ | [https://recull.binefa.cat/files/20230518/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | == 20230516 == | ||
+ | [https://recull.binefa.cat/files/20230516/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | === '''Beques pel curs 2023-2024''' === | ||
+ | [https://recull.binefa.cat/files/tutoriaAccidental/beques/correuBeques.png Correu informatiu rebut avui] | ||
+ | |||
+ | [https://www.becaseducacion.gob.es/becas-y-ayudas/fp-bachillerato-otros/tipos-de-becas.html Beques oficials del ministeri] | ||
+ | |||
+ | [https://www.formacioprofessional.com/ca/ajuts-lescolaritat Ajut escola] | ||
+ | |||
+ | == 20230512 == | ||
+ | [https://recull.binefa.cat/files/20230512/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | == 20230511 == | ||
+ | [https://recull.binefa.cat/files/20230511/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | == 20230509 == | ||
+ | [https://recull.binefa.cat/files/20230509/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | == 20230505 == | ||
+ | [https://recull.binefa.cat/files/20230505/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | == 20230504 == | ||
+ | [https://recull.binefa.cat/files/20230504/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | === Exercici === | ||
+ | Fer un programa que faci servir una estructura similar a: | ||
+ | struct peli { | ||
+ | char titol[50]; | ||
+ | char director[50]; | ||
+ | char protagonista[50]; | ||
+ | int duracio; | ||
+ | }; | ||
+ | amb un menú amb aquestes opcions: | ||
+ | 1) Llegeix arxiu | ||
+ | 2) Quantes pel·lícules hi ha emmagatzemades? | ||
+ | 3) Visualitza informació de totes les pel·lícules | ||
+ | 4) Visualitza informació d'una pel·lícula | ||
+ | 5) Esborra pel·lícula | ||
+ | 6) Afegeix pel·lícula | ||
+ | 7) Escriu arxiu | ||
+ | x) Surt | ||
+ | |||
+ | == 20230502 == | ||
+ | [https://recull.binefa.cat/files/20230502/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]] | ||
+ | |||
+ | == 20230428 == | ||
+ | [https://recull.binefa.cat/files/20230428/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20230427 == | ||
+ | [https://recull.binefa.cat/files/20230427/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20230425 == | ||
+ | [https://recull.binefa.cat/files/20230425/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20230421 Exàmens d'ordinària '''UF1''' i '''UF2''' == | ||
+ | [https://recull.binefa.cat/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | == 20230420 == | ||
+ | [https://recull.binefa.cat/files/20230420/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20230418 == | ||
+ | [https://recull.binefa.cat/files/20230418/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m6/d97m6te.htm Fitxers en C] | ||
+ | |||
+ | [https://www.w3schools.com/python/python_file_handling.asp Fitxers en Python] | ||
+ | |||
+ | == 20230414 == | ||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m6/d97m6te.htm Funcions amb '''string.h'''] | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m6/d97m6te.htm Fitxers] | ||
+ | |||
+ | == 20230413 == | ||
+ | Convertir a Python el codi del dia anterior. | ||
+ | |||
+ | == 20230411 '''UF3''' == | ||
+ | [https://recull.binefa.cat/files/20230411/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Arguments en C i en Python. | ||
+ | |||
+ | // '''argc00.c''' | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(int argc,char*argv[]){ | ||
+ | int i; | ||
+ | |||
+ | printf("Arguments: %d\n",argc); | ||
+ | for(i = 0; i < argc; i++){ | ||
+ | printf("argv[%d]: %s\n",i,argv[i]); | ||
+ | } | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | # '''arg00.py''' | ||
+ | import sys | ||
+ | |||
+ | print("Arguments: %d"%(len(sys.argv))) | ||
+ | i = 0 | ||
+ | for arg in sys.argv: | ||
+ | print("argv[%d]: %s"%(i,arg)) | ||
+ | i += 1 | ||
+ | |||
+ | == 20230331 '''Concurs de robots''' == | ||
+ | '''Concurs de robots del M14UF1 a les aules 506 i 507 a partir de les 16.50''' | ||
+ | |||
+ | == 20230330 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230328/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | '''Darrer dia de classe abans del concurs de robots del M14UF1 que es farà demà, divendres 31 de març de 2023, a les aules 506 i 507 a partir de les 16.50''' | ||
+ | |||
+ | == 20230328 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230328/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | '''Darrer dia de classe abans dels exàmens finals del M03UF1 i M03UF2 que es faran al tornar de la Setmana Santa''' | ||
+ | |||
+ | * Seguim practicant programació en C i en Python | ||
+ | |||
+ | == 20230324 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230316/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | |||
+ | == 20230323 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230323/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | == 20230321 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230321/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim practicant programació en C i en Python | ||
+ | |||
+ | == 20230316 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230316/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | |||
+ | == 20230314 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230314/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim practicant programació en C i en Python | ||
+ | |||
+ | * ord() : Funció en Python que retorna el número de la [https://ca.wikipedia.org/wiki/ASCII taula ASCII] del caràcter passat. | ||
+ | |||
+ | * chr() : Funció en Python que retorna el caràcter del número corresponent a la [https://ca.wikipedia.org/wiki/ASCII taula ASCII]. | ||
+ | |||
+ | a = 49 | ||
+ | b = 'B' | ||
+ | print("El caràcter %d a la taula ASCII és %c"%(a,'''chr(a)''')) | ||
+ | print("El caràcter %d a la taula ASCII és %c"%('''ord(b)''',b)) | ||
+ | L'execució al terminal és: | ||
+ | El caràcter 49 a la taula ASCII és '''1''' | ||
+ | El caràcter '''66''' a la taula ASCII és B | ||
+ | |||
+ | == 20230310 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230310/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | |||
+ | == 20230307 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230307/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim practicant programació en C i en Python | ||
+ | == 20230303 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230303/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | == 20230302 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230302/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | |||
+ | == 20230228 (3h) '''Examen parcial''' == | ||
+ | * 1a hora: Examen parcial M03UF1 | ||
+ | |||
+ | * 2a hora: Examen parcial M03UF2 | ||
+ | |||
+ | == 20230224 (3h) == | ||
+ | [https://recull.binefa.cat/files/20230224/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim practicant programació en C i en Python | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]] | ||
+ | |||
+ | == 20230221 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230221/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim practicant programació en C i en Python | ||
+ | |||
+ | == 20230217 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230217/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Al [https://recull.binefa.cat/files/20230217/ recull d'avui] teniu una taula de la veritat per a programar el robot per donar la volta al tatami endavant i enrera. | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]: | ||
+ | |||
+ | == 20230216 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230216/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Seguim fent les pràctiques del [[Pràctiques amb el robot versió 6 | robot]]. | ||
+ | |||
+ | == 20230214 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230214/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [https://onecompiler.com/python Intèrpret de Python en línia] | ||
+ | |||
+ | [https://onecompiler.com/c Compilador de C en línia] | ||
+ | |||
+ | Seguim la resolució de l'exercici de la '''targeta de crèdit'''. [https://recull.binefa.cat/files/20230207/ Codis del dia anterior] | ||
+ | |||
+ | Per a la implementació en Python:<!-- https://onecompiler.com/python/3yxvqtbe5 --> | ||
+ | def parse(cad): | ||
+ | for c in cad: | ||
+ | if not(c>='0' and c<='9'): | ||
+ | return False | ||
+ | return True | ||
+ | |||
+ | def verifica(cad): | ||
+ | if parse(cad): | ||
+ | print("%s són tot números"%cad) | ||
+ | else: | ||
+ | print("%s no són tot números"%cad) | ||
+ | |||
+ | def cadena_a_llista(sz): | ||
+ | l = [] | ||
+ | for c in sz: | ||
+ | l.append(int(c)) | ||
+ | return l | ||
+ | |||
+ | szNumA = "12345678" | ||
+ | szNumB = "12345G78" | ||
+ | verifica(szNumA) | ||
+ | verifica(szNumB) | ||
+ | if parse(szNumA): | ||
+ | llistaN = cadena_a_llista(szNumA) | ||
+ | print(llistaN) | ||
+ | |||
+ | == 20230210 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230210/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [https://wokwi.com/projects/355572920722910209 Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora] | ||
+ | |||
+ | * Seguim fent les pràctiques d'Arduino / [[Pràctiques amb el robot versió 6 | robot]]: | ||
+ | |||
+ | == 20230209 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230209/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [https://wokwi.com/projects/355572920722910209 Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora] | ||
+ | |||
+ | * Seguim fent les pràctiques d'Arduino / [[Pràctiques amb el robot versió 6 | robot]]: | ||
+ | |||
+ | == 20230207 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230207/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Comencem la resolució de l'exercici de la targeta de crèdit. | ||
+ | |||
+ | == 20230203 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230203/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [https://wokwi.com/projects/355572920722910209 Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora] <-- '''Nova versió!''' | ||
+ | |||
+ | * Seguim fent les pràctiques d'Arduino / [[Pràctiques amb el robot versió 6 | robot]]: | ||
+ | |||
+ | == 20230202 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230202/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [https://wokwi.com/projects/355572920722910209 Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora] | ||
+ | |||
+ | * Seguim fent les pràctiques d'Arduino / [[Pràctiques amb el robot versió 6 | robot]]: | ||
+ | |||
+ | == 20230131 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230131/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Seguim amb la resolució d'exàmens M03UF1 i M03UF2 de cursos passats. | ||
+ | |||
+ | === Separació d'arxius en Python === | ||
+ | |||
+ | '''crida01.py''': | ||
+ | # crida01.py | ||
+ | |||
+ | def nLaTevaEdat(): | ||
+ | return int(input("La teva edat: ")) | ||
+ | |||
+ | '''if __name__ == "__main__":''' | ||
+ | print("Dius tenir %d anys"%nLaTevaEdat()) | ||
+ | |||
+ | '''principal.py''': | ||
+ | # principal.py | ||
+ | '''import''' ''crida01'' | ||
+ | |||
+ | nEdat = ''crida01''.nLaTevaEdat() | ||
+ | print("Heu dit que teniu %d anys"%nEdat) | ||
+ | |||
+ | '''principal02.py''': | ||
+ | # principal02.py | ||
+ | '''from''' crida01 '''import''' ''nLaTevaEdat'' | ||
+ | |||
+ | nEdat = ''nLaTevaEdat''() | ||
+ | print("Heu dit que teniu %d anys"%nEdat) | ||
+ | |||
+ | '''principal03.py''': | ||
+ | # principal03.py | ||
+ | '''from''' crida01 '''import''' nLaTevaEdat '''as''' ''nIntroEdat'' | ||
+ | |||
+ | nEdat = ''nIntroEdat''() | ||
+ | print("Heu dit que teniu %d anys"%nEdat) | ||
+ | |||
+ | == 20230127 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230127/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | Seguim fent les pràctiques d'Arduino. | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | == 20230126 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230119/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | Seguim fent les pràctiques d'Arduino. | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | unsigned char ucA; | ||
+ | |||
+ | ucA = 0xA5; | ||
+ | printf("ucA: 0x%X\n",ucA); | ||
+ | ucA = ~ucA; // el símbol de la ~ nega bit a bit | ||
+ | printf("ucA: 0x%X\n",ucA); | ||
+ | ucA = !ucA; // el símbol de l' ! nega tot el byte (diferent de zero és cert) | ||
+ | printf("ucA: 0x%X\n",ucA); | ||
+ | ucA = !ucA; // el símbol de l' ! nega tot el byte (diferent de zero és cert) | ||
+ | printf("ucA: 0x%X\n",ucA); | ||
+ | ucA = 0xA5; | ||
+ | printf("0x%X & 0x0F: 0x%X\n",ucA,ucA & 0x0F ); | ||
+ | printf("0x%X & 0xF0: 0x%X\n",ucA,ucA & 0xF0 ); | ||
+ | printf("(0x%X & 0xF0) >> 4: 0x%X\n",ucA,(ucA & 0xF0)>>4 ); | ||
+ | printf("0x%X | 0x0F: 0x%X\n",ucA,ucA | 0x0F ); | ||
+ | printf("0x%X | 0xF0: 0x%X\n",ucA,ucA | 0xF0 ); | ||
+ | printf("(0x%X | 0xF0) >> 4: 0x%X\n",ucA,(ucA,ucA | 0xF0)>>4 ); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | == 20230124 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230124/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20230120 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230120/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * [https://wokwi.com/projects/354037245005603841 Simulació de la placa S4A] | ||
+ | |||
+ | * Seguim fent les pràctiques d'Arduino: | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | * Eina per a dissenyar diagrames de flux en línia: | ||
+ | |||
+ | [https://app.diagrams.net/ Disseny de diagrames de flux en línia] | ||
+ | |||
+ | * Pujat al dia d'avui el codi [https://recull.binefa.cat/files/20230120/static00.c static00.c] | ||
+ | |||
+ | === EAC05 === | ||
+ | Feu un diagrama de flux (al recull d'avui tenia un arxiu amb extensió .dia que podeu aprofitar), que controla l'activació i la desactivació d'un commutador (polsador), que quan està activat (premut) encén un led i quan està desactivat (no premut) l'apaga, evitar els rebots tal com es va explicar a classe. | ||
+ | |||
+ | == 20230119 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230119/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Explicació de la implementació del [https://recull.binefa.cat/files/20230119/ord06_diagramaDeFlux.jpg diagrama de flux] d'una altra manera de resoldre l'exercici 6 de les [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]]: | ||
+ | |||
+ | [https://wokwi.com/projects/354304372782367745 ord06b] | ||
+ | |||
+ | * [https://wokwi.com/projects/354037245005603841 Simulació de la placa S4A] | ||
+ | |||
+ | * Seguim fent les pràctiques d'Arduino: | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | == 20230119 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230119/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | [https://wokwi.com/projects/354304372782367745 ord06b] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | == 20230117 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230117/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Seguim amb la resolució dels exàmens M03UF1 i M03UF2 de l'any passat. | ||
+ | |||
+ | == 20230113 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230113/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | == 20230112 (1h) == | ||
+ | [https://recull.binefa.cat/files/20230112/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Explicació de '''detecció per flanc''' i fer funcions '''delay()''' no blocants emprant '''millis()''' | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | == 20230110 (2h) == | ||
+ | [https://recull.binefa.cat/files/20230110/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20221220 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221220/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Fem la [https://recull.binefa.cat/files/20221220/20220401_m03uf2_ord/20220401_asixDaw_1rCognom_2nCognom_Nom_m03uf2_ord.pdf pregunta RA1-4] del recull d'avui. | ||
+ | |||
+ | == 20221216 (2h) == | ||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | == 20221215 (1h) '''Arduino''' == | ||
+ | [https://recull.binefa.cat/files/20221215/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | === Placa S4A-PLB emprant '''Arduino''' Nano === | ||
+ | [[Introducció a Arduino]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part]] | ||
+ | |||
+ | [[Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part]] | ||
+ | |||
+ | == 20221207 (2h) '''eac04''' == | ||
+ | [https://recull.binefa.cat/files/20221207/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [https://www.simplilearn.com/tutorials/python-tutorial/yield-in-python '''yield''' a Python] | ||
+ | |||
+ | * '''eac04''': | ||
+ | |||
+ | Feu un programa utilitzant un ''switch case'', per al control d'un ascensor, la presentació ha de ser idèntica a l'exemple. | ||
+ | |||
+ | Inspira't en la pràctica [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3p6.htm m3p06.c] - del tutorial D97 Anjuta- | ||
+ | |||
+ | [[Image:Ascensor.png|center|thumb|exemple de l'eac04]] | ||
+ | |||
+ | == 20221201 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221201/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20221125 (2h) '''eac03''' == | ||
+ | [https://recull.binefa.cat/files/20221125/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Al [https://recull.binefa.cat/files/20221125/recull recull d'avui] hi ha els codis ''apuntadors03.c'', ''apuntadors04.c'', ''apuntadors05.c'', ''apuntadors06.c'' i '''''apuntadors06.py''''' (implementació en Python per a fer el mateix que el codi fet en C). | ||
+ | |||
+ | * '''eac03''' | ||
+ | |||
+ | ''Hi ha un empresari que té un negoci amb diversos responsables.'' | ||
+ | |||
+ | ''A final de mes (es considera que cada mes són cinc setmanes), el responsable del negoci, que posarà el seu nom al document, introdueix mitjançant una aplicació el que ha facturat la primera setmana, la segona setmana, la tercera setmana, la quarta setmana i la cinquena setmana.'' | ||
+ | |||
+ | ''L'empresari mitjançant un missatge, pot veure el nom del responsable i la facturació del negoci a final de mes setmana a setmana i el total dels diners recaptats al seu compte bancari.'' | ||
+ | |||
+ | ''Feu servir un FOR. Implementeu-ho en C i en Python. Feu captures del programa funcionant.'' | ||
+ | |||
+ | == 20221124 (1h) '''Pas per valor i pas per referència''' == | ||
+ | [https://recull.binefa.cat/files/20221124/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Funció d'intercanvi (''swap'') en Python | ||
+ | |||
+ | * Com passar vectors i llistes a funcions | ||
+ | |||
+ | == 20221122 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221122/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | char szNom[] = "Nom Cognom1 Cognom2",szMinuscules[99],szMajuscules[99]; | ||
+ | int i; | ||
+ | |||
+ | for(i = 0; szNom[i];i++){ | ||
+ | if((szNom[i] >= 'A') && (szNom[i] <= 'Z')){ | ||
+ | szMinuscules[i] = szNom[i] - 'A' + 'a'; | ||
+ | }else{ | ||
+ | szMinuscules[i] = szNom[i]; | ||
+ | } | ||
+ | } | ||
+ | szMinuscules[i] = szNom[i]; // El darrer caràcter. Allà a on hi ha el '\0' | ||
+ | printf("En minúscules: \"%s\"\n",szMinuscules); | ||
+ | |||
+ | for(i = 0; szNom[i];i++){ | ||
+ | if((szNom[i] >= 'a') && (szNom[i] <= 'z')){ | ||
+ | szMajuscules[i] = szNom[i] - 'a' + 'A'; | ||
+ | }else{ | ||
+ | szMajuscules[i] = szNom[i]; | ||
+ | } | ||
+ | } | ||
+ | szMajuscules[i] = szNom[i]; // El darrer caràcter. Allà a on hi ha el '\0' | ||
+ | printf("En majúscules: \"%s\"\n",szMajuscules); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | == 20221118 (2h) '''eac02''' == | ||
+ | [https://recull.binefa.cat/files/20221118/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4te.htm Recursivitat al d97] | ||
+ | === eac02 === | ||
+ | ''Hi ha un empresari que té quatre negocis, una sabateria, un taller de pneumàtics, un supermercat i una gestoria.'' | ||
+ | ''A final de mes, el responsable de cada negoci, quan li pregunten a través d'una aplicació contesta els diners facturats.'' | ||
+ | ''L'empresari mitjançant un missatge relacionant cada negoci, pot veure el facturat a cada negoci i el total dels diners recaptats al seu compte bancari.'' | ||
+ | |||
+ | ''Feu servir un ''for''. Versió '''eac02.py''' i '''eac02.c''''' | ||
+ | |||
+ | == 20221117 (2h) '''Recursivitat''' == | ||
+ | [https://recull.binefa.cat/files/20221117/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4te.htm Recursivitat al d97] | ||
+ | |||
+ | == 20221115 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221115/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Convertiu [https://recull.binefa.cat/files/20221111/suma9i10.py suma9i10.py] a suma9i10.c | ||
+ | |||
+ | == 20221114 (1h) ''Suplència'' == | ||
+ | [https://recull.binefa.cat/files/20221114sup/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20221111 (2h) '''Vectors (''arrays unidimensionals'') a C i llistes a Python''' == | ||
+ | [https://recull.binefa.cat/files/20221111/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | * Llistes de Python: | ||
+ | |||
+ | [https://docs.python.org/3/tutorial/datastructures.html Estructures de dades en Python] | ||
+ | |||
+ | [https://developers.google.com/edu/python/lists Llistes de Python] a Google for Education | ||
+ | |||
+ | [https://www.programiz.com/python-programming/list Llistes de Python] a programiz.com | ||
+ | |||
+ | # llesques01.py | ||
+ | llistaCaracters = ['T','o','n','i',' ','V','a','r','ó','n'] | ||
+ | print(llistaCaracters) | ||
+ | print(llistaCaracters[1]) | ||
+ | print(llistaCaracters.index('o')) | ||
+ | print(llistaCaracters[1:]) | ||
+ | print(llistaCaracters[1:6]) | ||
+ | print(llistaCaracters[1:-2]) | ||
+ | cadena = "Toni Varón" | ||
+ | print(cadena) | ||
+ | print(cadena[1]) | ||
+ | print(cadena.index('o')) | ||
+ | print(cadena[1:]) | ||
+ | print(cadena[1:6]) | ||
+ | print(cadena[1:-2]) | ||
+ | |||
+ | cadena = "Dídac Garcia Dumé" | ||
+ | posA = cadena.index('a') | ||
+ | print(posA) | ||
+ | posB = cadena[posA+1:].index('a') | ||
+ | print(posA+posB+1) | ||
+ | posC = cadena[posB+1:].index('a') | ||
+ | print(posA+ posB+1 + posC+1) | ||
+ | * Vectors en C: | ||
+ | |||
+ | [https://www.programiz.com/c-programming/c-arrays Vectors (''arrays'') en C] | ||
+ | |||
+ | Exercici a desenvolupar en Python i en C: | ||
+ | |||
+ | Feu un vector / llista de 1000 posicions. De la posició 0 a la 999 hi haurà la suma del valors de dos daus llençats a l'atzar. Heu de comptar el número de cops que la suma dóna 9 i el número de cops que la suma dóna 10. Després heu de dir el percentatge de cops que la suma és 9 i 10. | ||
+ | |||
+ | == 20221110 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221110/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20221108 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221108/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | '''Heu de dur fet de casa''' el codi ''aleatori01.py'' basat en ''aleatori01.c'' | ||
+ | |||
+ | == 20221107 (1h) ''Suplència'' == | ||
+ | [https://recull.binefa.cat/files/20221107sup/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20221104 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221104/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | // time00.c | ||
+ | // Unix Epoch | ||
+ | #include <stdio.h> | ||
+ | #include <time.h> | ||
+ | |||
+ | int main(){ | ||
+ | printf("%lu\n",time(NULL)); | ||
+ | // Mostra el número de segons que han passat des del primer de gener de 1970 | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | == 20221103 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221103/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | == 20221028 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221028/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | === '''eac01''' === | ||
+ | Realitza un programa (fes servir un '''for''' en '''C''') que digui: | ||
+ | |||
+ | '''Hola com et dius? ''' | ||
+ | |||
+ | '''A quin curs pertanys?''' | ||
+ | |||
+ | '''Digues-me les 5 notes que has obtingut de programació: ''' | ||
+ | |||
+ | Calcula la seva mitjana aritmètica de les notes i contesta: | ||
+ | |||
+ | '''Hola, ''Nom'' de ''DAW1'' la teva nota mitjana de programació és ''XX.XX'' '''(dos decimals). | ||
+ | |||
+ | == 20221027 (1h) '''break''', '''continue''', '''do-while''' i '''switch-case''' == | ||
+ | [https://recull.binefa.cat/files/20221027/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | int n = 1; | ||
+ | |||
+ | while(1){ // for(;;) <-- Bucles infinits | ||
+ | printf("%d ",n); | ||
+ | n += 1; // o n = n+1; o ++n; o n++; | ||
+ | if(n > 37){ | ||
+ | '''break'''; // Es trenca el bucle infinit | ||
+ | } | ||
+ | } | ||
+ | printf("\nAquí es trenca el bucle infinit"); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | int ct; | ||
+ | |||
+ | for(ct=0;ct<19;ct++){ | ||
+ | if(ct%3){ | ||
+ | '''continue'''; | ||
+ | } | ||
+ | printf("el número %d és múltiple de 3\n",ct); | ||
+ | } | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | == 20221025 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221025/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | Exercici del '''continue''' en Python | ||
+ | |||
+ | == 20221021 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221020/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | === Estructures repetitives, o bucles, en Python === | ||
+ | [[Pràctiques d'introducció a Python . Part 3 - SMX | Estructures repetitives, o bucles, en Python]] | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm Més exercicis bàsics (m3e*)] | ||
+ | |||
+ | == 20221020 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221020/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | === Estructures repetitives, o bucles, en Python === | ||
+ | [[Pràctiques d'introducció a Python . Part 3 - SMX | Estructures repetitives, o bucles, en Python]] | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm Més exercicis bàsics (m3e*)] | ||
+ | |||
+ | == 20221018 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221018/ Codis comentats avui a classe] usuari: ''asix'' / contrasenya: ''asix2223'' | ||
+ | |||
+ | Introducció a les '''funcions''' en Python i en C. | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | === Estructures repetitives, o bucles, en Python === | ||
+ | [[Pràctiques d'introducció a Python . Part 3 - SMX | Estructures repetitives, o bucles, en Python]] | ||
+ | |||
+ | [[Exercicis d'estructures de control repetitives en Python]] | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3ex.htm Més exercicis bàsics (m3e*)] | ||
+ | |||
+ | == 20221014 (2h) '''Funcions''' == | ||
+ | [https://recull.binefa.cat/files/20221014/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | Introducció a les '''funcions''' en Python i en C. | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | |||
+ | A segona hora feu l'examen d'avaluació inicial. | ||
+ | |||
+ | * '''Primer enunciat''': | ||
+ | |||
+ | Partint de la pràctica del tutorial D97 anjuta [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m1/d97m1p2.htm m1p02.c], demaneu, a més: ''Quin cotxe teniu?'' i ''Quina matrícula?'' | ||
+ | |||
+ | * '''Segon enunciat''': | ||
+ | |||
+ | Partint de la pràctica del tutorial D97 anjuta [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m1/d97m1p5.htm m1p05], implementeu la [https://nineplanets.org/kids/temperature-conversion/ conversió de graus Kelvin a Fahrenheit]. | ||
+ | |||
+ | * '''Tercer enunciat''': | ||
+ | |||
+ | Feu un programa que llegeixi un codi d'accés i ho compari amb el codi 3421 que tindreu emmagatzemat al programa, després de la comparació heu de dir si és correcte o no. | ||
+ | |||
+ | == 20221013 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221013/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | |||
+ | == 20221011 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221011/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | |||
+ | == 20221007 (2h) == | ||
+ | [https://recull.binefa.cat/files/20221007/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | == 20221006 (1h) == | ||
+ | [https://recull.binefa.cat/files/20221006/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
+ | |||
+ | [[Pràctiques d'introducció a Python . Part 2 - SMX | Condicionals en Python]] | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m3/d97m3te.htm Condicionals en C] | ||
+ | |||
+ | [[Exercicis emprant condicionals en C i Python]] | ||
+ | |||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m2/d97m2ex.htm Més exercicis bàsics (m2e*)] | ||
+ | |||
+ | === ''' Llei de Morgan''' === | ||
+ | * En Python: | ||
+ | not ( a and b ) = not a or not b | ||
+ | not ( a or b ) = not a and not b | ||
+ | * En C: | ||
+ | !( a && b ) = !a || !b | ||
+ | !( a || b ) = !a && !b | ||
== 20221004 (2h) == | == 20221004 (2h) == | ||
Línia 31: | Línia 819: | ||
else: | else: | ||
print("Línia 5") | print("Línia 5") | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | int a = 30; | ||
+ | if(!(a == 30)){ // if(a != 30){ | ||
+ | printf("Línia 7\n"); | ||
+ | }else{ | ||
+ | printf("Línia 9\n"); | ||
+ | } | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | int nEdat; | ||
+ | |||
+ | printf("Edat (pots passar en edat laboral): "); | ||
+ | scanf("%d",&nEdat); | ||
+ | if( (nEdat >= 16) && (nEdat <= 65) ){ | ||
+ | printf("Pots passar\n"); | ||
+ | }else{ | ||
+ | printf("No pots passar\n"); | ||
+ | } | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | nEdat = int(input("Edat (pots passar en edat laboral): ")) | ||
+ | if nEdat >= 16 and nEdat <= 65: | ||
+ | print("Pots passar") | ||
+ | else: | ||
+ | print("No pots passar") | ||
+ | |||
+ | # Lleis de Morgan | ||
+ | # not ( a and b ) = not a or not b | ||
+ | # not ( a or b ) = not a and not b | ||
+ | |||
+ | nEdat = int(input("Edat (pots passar en edat laboral): ")) | ||
+ | if not (nEdat >= 16) or not(nEdat <= 65): # if not (nEdat >= 16 and nEdat <= 65): | ||
+ | print("No pots passar") | ||
+ | else: | ||
+ | print("Pots passar") | ||
+ | |||
== 20220930 (2h) == | == 20220930 (2h) == | ||
[https://recull.binefa.cat/files/20220930/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | [https://recull.binefa.cat/files/20220930/ Codis comentats avui a classe] usuari: ''daw'' / contrasenya: ''daw2223'' | ||
Línia 213: | Línia 1.047: | ||
[https://sourceforge.net/projects/mingw/ MinGW - Compilador de C per a Windows] | [https://sourceforge.net/projects/mingw/ MinGW - Compilador de C per a Windows] | ||
+ | |||
+ | [https://drive.google.com/file/d/1Oc50PJsmL3m-U3fn0TbwmGTW9uLOoBwi/view?usp=share_link Vídeo de particions en línia d'ordres] | ||
+ | |||
+ | [https://app.edublocks.org/ EduBlocks] |
Revisió de 13:42, 23 maig 2023
Quan tingueu les credencials d'accés a la NET heu de compartir-nos (als dos professors) una carpeta amb aquest nom: 2223-DAW-M03-1rCognom2nCognomNom (Per exemple, si el teu nom és Xavier López Pujol --> 2223-DAW-M03-LopezPujolXavier). A aquest enllaç podreu veure si ja hi sou a la llista:
Carpetes compartides del M03 de 1r de DAW. Curs 2022-2023
Estructura de les carpetes:
M01 (depenent del subgrup) M03 examens exercicis C Python perDies M14 Arduino
- Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta M03/exercicis/C. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran alg04.c, alg06.c i alg07.c (si hi pugeu versions diferents, les podeu anomenar alg04_00.c, alg04_01.c, ...). També hi pujareu un arxiu en pdf, anomenat alg04_06_07_c.pdf amb les captures de codi més significatives (al principi, potser, serà tot el codi. Però quan els codis es facin més grans tan sols farà falta indicar la part més representativa) i les captures de llur execució. A classe comentem com fer-ho. També cal afegir l'enunciat i una captura del codi en Snap!
- Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta M03/exercicis/Python. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran alg04.py, alg06.py, alg07.py i alg08.py (si hi pugeu versions diferents, les podeu anomenar alg04_00.py, alg04_01.py, ...). També hi pujareu un arxiu en pdf, anomenat alg04_06_07_08_py.pdf amb les captures de codi més significatives (al principi, potser, serà tot el codi. Però quan els codis es facin més grans tan sols farà falta indicar la part més representativa) i les captures de llur execució. A classe comentem com fer-ho. També cal afegir l'enunciat i una captura del codi en Snap!
Contingut
- 1 Algunes classes
- 1.1 Enllaços ràpids
- 1.2 20230523 Examen d'ordinària UF3
- 1.3 20230518
- 1.4 20230516
- 1.5 20230512
- 1.6 20230511
- 1.7 20230509
- 1.8 20230505
- 1.9 20230504
- 1.10 20230502
- 1.11 20230428
- 1.12 20230427
- 1.13 20230425
- 1.14 20230421 Exàmens d'ordinària UF1 i UF2
- 1.15 20230420
- 1.16 20230418
- 1.17 20230414
- 1.18 20230413
- 1.19 20230411 UF3
- 1.20 20230331 Concurs de robots
- 1.21 20230330 (1h)
- 1.22 20230328 (2h)
- 1.23 20230324 (2h)
- 1.24 20230323 (1h)
- 1.25 20230321 (2h)
- 1.26 20230316 (1h)
- 1.27 20230314 (2h)
- 1.28 20230310 (2h)
- 1.29 20230307 (2h)
- 1.30 20230303 (2h)
- 1.31 20230302 (1h)
- 1.32 20230228 (3h) Examen parcial
- 1.33 20230224 (3h)
- 1.34 20230221 (2h)
- 1.35 20230217 (2h)
- 1.36 20230216 (1h)
- 1.37 20230214 (2h)
- 1.38 20230210 (2h)
- 1.39 20230209 (1h)
- 1.40 20230207 (2h)
- 1.41 20230203 (2h)
- 1.42 20230202 (1h)
- 1.43 20230131 (2h)
- 1.44 20230127 (2h)
- 1.45 20230126 (1h)
- 1.46 20230124 (2h)
- 1.47 20230120 (2h)
- 1.48 20230119 (1h)
- 1.49 20230119 (1h)
- 1.50 20230117 (2h)
- 1.51 20230113 (2h)
- 1.52 20230112 (1h)
- 1.53 20230110 (2h)
- 1.54 20221220 (1h)
- 1.55 20221216 (2h)
- 1.56 20221215 (1h) Arduino
- 1.57 20221207 (2h) eac04
- 1.58 20221201 (1h)
- 1.59 20221125 (2h) eac03
- 1.60 20221124 (1h) Pas per valor i pas per referència
- 1.61 20221122 (2h)
- 1.62 20221118 (2h) eac02
- 1.63 20221117 (2h) Recursivitat
- 1.64 20221115 (2h)
- 1.65 20221114 (1h) Suplència
- 1.66 20221111 (2h) Vectors (arrays unidimensionals) a C i llistes a Python
- 1.67 20221110 (1h)
- 1.68 20221108 (2h)
- 1.69 20221107 (1h) Suplència
- 1.70 20221104 (2h)
- 1.71 20221103 (1h)
- 1.72 20221028 (2h)
- 1.73 20221027 (1h) break, continue, do-while i switch-case
- 1.74 20221025 (2h)
- 1.75 20221021 (2h)
- 1.76 20221020 (1h)
- 1.77 20221018 (2h)
- 1.78 20221014 (2h) Funcions
- 1.79 20221013 (1h)
- 1.80 20221011 (2h)
- 1.81 20221007 (2h)
- 1.82 20221006 (1h)
- 1.83 20221004 (2h)
- 1.84 20220930 (2h)
- 1.85 20220929 (1h)
- 1.86 20220927 (2h)
- 1.87 20220923 (2h)
- 1.88 20220922 (1h)
- 1.89 20220920 (2h)
- 1.90 20220916 (2h)
- 1.91 20220915 (1h)
- 1.92 20220913 (2h)
- 2 Repositori de codis fet a classe durant el curs
- 3 Eines en línia
Algunes classes
Enllaços ràpids
Teleconferència provisional per a compartir pantalles a classe i per a confinats
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
Simulació dels 4 leds i 4 botons de la placa S4A
Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
Pràctiques amb el robot versió 6
20230523 Examen d'ordinària UF3
Enunciat de l'examen i material usuari: daw / contrasenya: daw2223
20230518
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
20230516
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
Beques pel curs 2023-2024
20230512
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
20230511
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
20230509
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
20230505
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
20230504
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
Exercici
Fer un programa que faci servir una estructura similar a:
struct peli { char titol[50]; char director[50]; char protagonista[50]; int duracio; };
amb un menú amb aquestes opcions:
1) Llegeix arxiu 2) Quantes pel·lícules hi ha emmagatzemades? 3) Visualitza informació de totes les pel·lícules 4) Visualitza informació d'una pel·lícula 5) Esborra pel·lícula 6) Afegeix pel·lícula 7) Escriu arxiu x) Surt
20230502
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria
20230428
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230427
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230425
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230421 Exàmens d'ordinària UF1 i UF2
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230420
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230418
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230414
20230413
Convertir a Python el codi del dia anterior.
20230411 UF3
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Arguments en C i en Python.
// argc00.c #include <stdio.h> int main(int argc,char*argv[]){ int i; printf("Arguments: %d\n",argc); for(i = 0; i < argc; i++){ printf("argv[%d]: %s\n",i,argv[i]); } return 0; }
# arg00.py import sys print("Arguments: %d"%(len(sys.argv))) i = 0 for arg in sys.argv: print("argv[%d]: %s"%(i,arg)) i += 1
20230331 Concurs de robots
Concurs de robots del M14UF1 a les aules 506 i 507 a partir de les 16.50
20230330 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Darrer dia de classe abans del concurs de robots del M14UF1 que es farà demà, divendres 31 de març de 2023, a les aules 506 i 507 a partir de les 16.50
20230328 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Darrer dia de classe abans dels exàmens finals del M03UF1 i M03UF2 que es faran al tornar de la Setmana Santa
- Seguim practicant programació en C i en Python
20230324 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230323 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230321 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim practicant programació en C i en Python
20230316 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230314 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim practicant programació en C i en Python
- ord() : Funció en Python que retorna el número de la taula ASCII del caràcter passat.
- chr() : Funció en Python que retorna el caràcter del número corresponent a la taula ASCII.
a = 49 b = 'B' print("El caràcter %d a la taula ASCII és %c"%(a,chr(a))) print("El caràcter %d a la taula ASCII és %c"%(ord(b),b))
L'execució al terminal és:
El caràcter 49 a la taula ASCII és 1 El caràcter 66 a la taula ASCII és B
20230310 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230307 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim practicant programació en C i en Python
20230303 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230302 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230228 (3h) Examen parcial
- 1a hora: Examen parcial M03UF1
- 2a hora: Examen parcial M03UF2
20230224 (3h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim practicant programació en C i en Python
- Seguim fent les pràctiques del robot
20230221 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim practicant programació en C i en Python
20230217 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Al recull d'avui teniu una taula de la veritat per a programar el robot per donar la volta al tatami endavant i enrera.
- Seguim fent les pràctiques del robot:
20230216 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques del robot.
20230214 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Seguim la resolució de l'exercici de la targeta de crèdit. Codis del dia anterior
Per a la implementació en Python:
def parse(cad): for c in cad: if not(c>='0' and c<='9'): return False return True def verifica(cad): if parse(cad): print("%s són tot números"%cad) else: print("%s no són tot números"%cad) def cadena_a_llista(sz): l = [] for c in sz: l.append(int(c)) return l szNumA = "12345678" szNumB = "12345G78" verifica(szNumA) verifica(szNumB) if parse(szNumA): llistaN = cadena_a_llista(szNumA) print(llistaN)
20230210 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora
- Seguim fent les pràctiques d'Arduino / robot:
20230209 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora
- Seguim fent les pràctiques d'Arduino / robot:
20230207 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Comencem la resolució de l'exercici de la targeta de crèdit.
20230203 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora <-- Nova versió!
- Seguim fent les pràctiques d'Arduino / robot:
20230202 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Simulació dels 4 leds i 4 botons de la placa S4A, permetent prémer més d'un botó alhora
- Seguim fent les pràctiques d'Arduino / robot:
20230131 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Seguim amb la resolució d'exàmens M03UF1 i M03UF2 de cursos passats.
Separació d'arxius en Python
crida01.py:
# crida01.py def nLaTevaEdat(): return int(input("La teva edat: ")) if __name__ == "__main__": print("Dius tenir %d anys"%nLaTevaEdat())
principal.py:
# principal.py import crida01 nEdat = crida01.nLaTevaEdat() print("Heu dit que teniu %d anys"%nEdat)
principal02.py:
# principal02.py from crida01 import nLaTevaEdat nEdat = nLaTevaEdat() print("Heu dit que teniu %d anys"%nEdat)
principal03.py:
# principal03.py from crida01 import nLaTevaEdat as nIntroEdat nEdat = nIntroEdat() print("Heu dit que teniu %d anys"%nEdat)
20230127 (2h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Seguim fent les pràctiques d'Arduino.
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
20230126 (1h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Seguim fent les pràctiques d'Arduino.
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
#include <stdio.h> int main(){ unsigned char ucA; ucA = 0xA5; printf("ucA: 0x%X\n",ucA); ucA = ~ucA; // el símbol de la ~ nega bit a bit printf("ucA: 0x%X\n",ucA); ucA = !ucA; // el símbol de l' ! nega tot el byte (diferent de zero és cert) printf("ucA: 0x%X\n",ucA); ucA = !ucA; // el símbol de l' ! nega tot el byte (diferent de zero és cert) printf("ucA: 0x%X\n",ucA); ucA = 0xA5; printf("0x%X & 0x0F: 0x%X\n",ucA,ucA & 0x0F ); printf("0x%X & 0xF0: 0x%X\n",ucA,ucA & 0xF0 ); printf("(0x%X & 0xF0) >> 4: 0x%X\n",ucA,(ucA & 0xF0)>>4 ); printf("0x%X | 0x0F: 0x%X\n",ucA,ucA | 0x0F ); printf("0x%X | 0xF0: 0x%X\n",ucA,ucA | 0xF0 ); printf("(0x%X | 0xF0) >> 4: 0x%X\n",ucA,(ucA,ucA | 0xF0)>>4 ); return 0; }
20230124 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20230120 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Seguim fent les pràctiques d'Arduino:
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
- Eina per a dissenyar diagrames de flux en línia:
Disseny de diagrames de flux en línia
- Pujat al dia d'avui el codi static00.c
EAC05
Feu un diagrama de flux (al recull d'avui tenia un arxiu amb extensió .dia que podeu aprofitar), que controla l'activació i la desactivació d'un commutador (polsador), que quan està activat (premut) encén un led i quan està desactivat (no premut) l'apaga, evitar els rebots tal com es va explicar a classe.
20230119 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Explicació de la implementació del diagrama de flux d'una altra manera de resoldre l'exercici 6 de les Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part:
- Seguim fent les pràctiques d'Arduino:
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
20230119 (1h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
20230117 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Seguim amb la resolució dels exàmens M03UF1 i M03UF2 de l'any passat.
20230113 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
20230112 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Explicació de detecció per flanc i fer funcions delay() no blocants emprant millis()
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
20230110 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221220 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Fem la pregunta RA1-4 del recull d'avui.
20221216 (2h)
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
20221215 (1h) Arduino
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Placa S4A-PLB emprant Arduino Nano
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 1a part
Pràctiques Arduino sobre placa S4A i Snap4Arduino - 2a part
20221207 (2h) eac04
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- eac04:
Feu un programa utilitzant un switch case, per al control d'un ascensor, la presentació ha de ser idèntica a l'exemple.
Inspira't en la pràctica m3p06.c - del tutorial D97 Anjuta-
20221201 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221125 (2h) eac03
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Al recull d'avui hi ha els codis apuntadors03.c, apuntadors04.c, apuntadors05.c, apuntadors06.c i apuntadors06.py (implementació en Python per a fer el mateix que el codi fet en C).
- eac03
Hi ha un empresari que té un negoci amb diversos responsables.
A final de mes (es considera que cada mes són cinc setmanes), el responsable del negoci, que posarà el seu nom al document, introdueix mitjançant una aplicació el que ha facturat la primera setmana, la segona setmana, la tercera setmana, la quarta setmana i la cinquena setmana.
L'empresari mitjançant un missatge, pot veure el nom del responsable i la facturació del negoci a final de mes setmana a setmana i el total dels diners recaptats al seu compte bancari.
Feu servir un FOR. Implementeu-ho en C i en Python. Feu captures del programa funcionant.
20221124 (1h) Pas per valor i pas per referència
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Funció d'intercanvi (swap) en Python
- Com passar vectors i llistes a funcions
20221122 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
#include <stdio.h> int main(){ char szNom[] = "Nom Cognom1 Cognom2",szMinuscules[99],szMajuscules[99]; int i; for(i = 0; szNom[i];i++){ if((szNom[i] >= 'A') && (szNom[i] <= 'Z')){ szMinuscules[i] = szNom[i] - 'A' + 'a'; }else{ szMinuscules[i] = szNom[i]; } } szMinuscules[i] = szNom[i]; // El darrer caràcter. Allà a on hi ha el '\0' printf("En minúscules: \"%s\"\n",szMinuscules); for(i = 0; szNom[i];i++){ if((szNom[i] >= 'a') && (szNom[i] <= 'z')){ szMajuscules[i] = szNom[i] - 'a' + 'A'; }else{ szMajuscules[i] = szNom[i]; } } szMajuscules[i] = szNom[i]; // El darrer caràcter. Allà a on hi ha el '\0' printf("En majúscules: \"%s\"\n",szMajuscules); return 0; }
20221118 (2h) eac02
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
eac02
Hi ha un empresari que té quatre negocis, una sabateria, un taller de pneumàtics, un supermercat i una gestoria. A final de mes, el responsable de cada negoci, quan li pregunten a través d'una aplicació contesta els diners facturats. L'empresari mitjançant un missatge relacionant cada negoci, pot veure el facturat a cada negoci i el total dels diners recaptats al seu compte bancari.
Feu servir un for. Versió eac02.py i eac02.c
20221117 (2h) Recursivitat
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221115 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Convertiu suma9i10.py a suma9i10.c
20221114 (1h) Suplència
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221111 (2h) Vectors (arrays unidimensionals) a C i llistes a Python
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
- Llistes de Python:
Estructures de dades en Python
Llistes de Python a Google for Education
Llistes de Python a programiz.com
# llesques01.py llistaCaracters = ['T','o','n','i',' ','V','a','r','ó','n'] print(llistaCaracters) print(llistaCaracters[1]) print(llistaCaracters.index('o')) print(llistaCaracters[1:]) print(llistaCaracters[1:6]) print(llistaCaracters[1:-2]) cadena = "Toni Varón" print(cadena) print(cadena[1]) print(cadena.index('o')) print(cadena[1:]) print(cadena[1:6]) print(cadena[1:-2])
cadena = "Dídac Garcia Dumé" posA = cadena.index('a') print(posA) posB = cadena[posA+1:].index('a') print(posA+posB+1) posC = cadena[posB+1:].index('a') print(posA+ posB+1 + posC+1)
- Vectors en C:
Exercici a desenvolupar en Python i en C:
Feu un vector / llista de 1000 posicions. De la posició 0 a la 999 hi haurà la suma del valors de dos daus llençats a l'atzar. Heu de comptar el número de cops que la suma dóna 9 i el número de cops que la suma dóna 10. Després heu de dir el percentatge de cops que la suma és 9 i 10.
20221110 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221108 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223 Heu de dur fet de casa el codi aleatori01.py basat en aleatori01.c
20221107 (1h) Suplència
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221104 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Exercicis d'estructures de control repetitives en Python
// time00.c // Unix Epoch #include <stdio.h> #include <time.h> int main(){ printf("%lu\n",time(NULL)); // Mostra el número de segons que han passat des del primer de gener de 1970 return 0; }
20221103 (1h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Exercicis d'estructures de control repetitives en Python
20221028 (2h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Exercicis d'estructures de control repetitives en Python
eac01
Realitza un programa (fes servir un for en C) que digui:
Hola com et dius?
A quin curs pertanys?
Digues-me les 5 notes que has obtingut de programació:
Calcula la seva mitjana aritmètica de les notes i contesta:
Hola, Nom de DAW1 la teva nota mitjana de programació és XX.XX (dos decimals).
20221027 (1h) break, continue, do-while i switch-case
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Exercicis d'estructures de control repetitives en Python
#include <stdio.h> int main(){ int n = 1; while(1){ // for(;;) <-- Bucles infinits printf("%d ",n); n += 1; // o n = n+1; o ++n; o n++; if(n > 37){ break; // Es trenca el bucle infinit } } printf("\nAquí es trenca el bucle infinit"); return 0; }
#include <stdio.h> int main(){ int ct; for(ct=0;ct<19;ct++){ if(ct%3){ continue; } printf("el número %d és múltiple de 3\n",ct); } return 0; }
20221025 (2h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Exercici del continue en Python
20221021 (2h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Estructures repetitives, o bucles, en Python
Estructures repetitives, o bucles, en Python
Exercicis d'estructures de control repetitives en Python
20221020 (1h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Estructures repetitives, o bucles, en Python
Estructures repetitives, o bucles, en Python
Exercicis d'estructures de control repetitives en Python
20221018 (2h)
Codis comentats avui a classe usuari: asix / contrasenya: asix2223
Introducció a les funcions en Python i en C.
Estructures repetitives, o bucles, en Python
Estructures repetitives, o bucles, en Python
Exercicis d'estructures de control repetitives en Python
20221014 (2h) Funcions
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Introducció a les funcions en Python i en C.
A segona hora feu l'examen d'avaluació inicial.
- Primer enunciat:
Partint de la pràctica del tutorial D97 anjuta m1p02.c, demaneu, a més: Quin cotxe teniu? i Quina matrícula?
- Segon enunciat:
Partint de la pràctica del tutorial D97 anjuta m1p05, implementeu la conversió de graus Kelvin a Fahrenheit.
- Tercer enunciat:
Feu un programa que llegeixi un codi d'accés i ho compari amb el codi 3421 que tindreu emmagatzemat al programa, després de la comparació heu de dir si és correcte o no.
20221013 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221011 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221007 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20221006 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Exercicis emprant condicionals en C i Python
Llei de Morgan
- En Python:
not ( a and b ) = not a or not b not ( a or b ) = not a and not b
- En C:
!( a && b ) = !a || !b !( a || b ) = !a && !b
20221004 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
a = 30 if not (a == 30) : # if a != 30 : print("Línia 3") else: print("Línia 5")
#include <stdio.h> int main(){ int a = 30; if(!(a == 30)){ // if(a != 30){ printf("Línia 7\n"); }else{ printf("Línia 9\n"); } return 0; }
#include <stdio.h> int main(){ int nEdat; printf("Edat (pots passar en edat laboral): "); scanf("%d",&nEdat); if( (nEdat >= 16) && (nEdat <= 65) ){ printf("Pots passar\n"); }else{ printf("No pots passar\n"); } return 0; }
nEdat = int(input("Edat (pots passar en edat laboral): ")) if nEdat >= 16 and nEdat <= 65: print("Pots passar") else: print("No pots passar")
# Lleis de Morgan # not ( a and b ) = not a or not b # not ( a or b ) = not a and not b nEdat = int(input("Edat (pots passar en edat laboral): ")) if not (nEdat >= 16) or not(nEdat <= 65): # if not (nEdat >= 16 and nEdat <= 65): print("No pots passar") else: print("Pots passar")
20220930 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20220929 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20220927 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Comparativa de programes bàsics en C i en python
Exercicis bàsics (m1e*) (excepte el 2)
Exercicis emprant condicionals en C i Python
20220923 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Repàs de tipus de variables
gcc m1p06.c -o m1p06 -lm
Exercicis (excepte el 2)
#include <stdio.h> int main(){ char cA = 'A', cB = 103 /* g */, cC = 0x6B /* k */; printf("%c %d 0x%X\n",cA,cA,cA); printf("%c %d 0x%X\n",cB,cB,cB); printf("%c %d 0x%X 0x%x\n",cC,cC,cC,cC); return 0; }
20220922 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Taula amb la mida d'alguns tipus de variable en C (Segona taula de colors)
#include <stdio.h> int main(){ char cA = 'A', cB = 103 /* g */, cC = 0x6B /* k */; printf("%c %d 0x%X\n",cA,cA,cA); printf("%c %d 0x%X\n",cB,cB,cB); printf("%c %d 0x%X 0x%x\n",cC,cC,cC,cC); return 0; }
20220920 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
szCognom = "Varón" szNom = 'Toni' szNomComplet = szNom + " " + szCognom print("1) " + szNomComplet) szNomTotal = "%d) %s %s"%(2,szNom,szCognom) print(szNomTotal) szNomTotal2 = "%d) %s %s" print(szNomTotal2%(3,szNom,szCognom))
#include <stdio.h> int main(){ char szCognom[20] = "Varón",szNom[20] = "Toni"; printf("%s %s\n",szNom,szCognom); printf("%d) %s %s\n",2,szNom,szCognom); return 0; }
szNom = input("Com et dius?: ") print('Hola, ' + szNom)
#include <stdio.h> int main(){ char szNom[20]; printf("Nom: "); scanf("%s",&szNom[0]); // Que és el mateix que scanf("%s",szNom); printf("Hola, %s\n",szNom); return 0; }
20220916 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
20220915 (1h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Compilador / intèrpret en línia onlinegdb.com
Snap!
Python
Pràctiques d'introducció a Python
C
20220913 (2h)
Codis comentats avui a classe usuari: daw / contrasenya: daw2223
Instal·lador de C per a Windows
Repositori de codis fet a classe durant el curs
Codis fets a les classes de 1r de DAW usuari: daw / contrasenya: daw2223
Algorísmica
Exercicis bàsics de pesudocodi - Ex01
Python
Pràctiques d'introducció a Python
Condicionals en Python
Exercicis de condicions en Python
Estructures repetitives, o bucles, en Python
Estructures repetitives, o bucles, en Python
Exercicis d'estructures de control repetitives en Python
Instal·lació del Jupyter Lab
Prova de Jupyter via web externa
Instal·lació de Jupyter Lab a la màquina virtual GNU/Linux. Des del terminal:
$ su - # apt update # apt install python3-pip # exit $ pip --version $ pip install jupyterlab $ pip install jupyter-c-kernel
Sortiu de la sessió i torneu-hi a entrar. Seguiu amb aquestes ordres:
$ install_c_kernel --user $ jupyter kernelspec list
Un cop instal·lat s'executa des del terminal:
$ jupyter-lab
I apareix el navegador web amb el Jupyter Lab.
C
Eines en línia
Recull de codis fets a classe usuari / contrasenya : asix / asix2122
Disseny de diagrames de flux en línia
Compilador / intèrpret en línia onlinegdb.com
MinGW - Compilador de C per a Windows