DAW 2021-2022
Quan tingueu les credencials d'accés a la NET heu de compartir-nos (als dos professors) una carpeta amb aquest nom: 2122-DAW-M03-1rCognom2nCognomNom (Per exemple, si el teu nom és Xavier López Pujol --> 2122-DAW-M03-LopezPujolXavier). A aquest enllaç podreu veure si ja hi sou a la llista:
Carpetes compartides del M03 de 1r de DAW. Curs 2021-2022
Estructura de les carpetes:
M01 (depenent del subgrup) M03 examens exercicis C Python perDies M14
Contingut
- 1 Algunes classes
- 1.1 Teleconferència
- 1.2 20220118 (Baixa professor)
- 1.3 20220113 (Baixa professor)
- 1.4 20220111 (Baixa professor)
- 1.5 20211221
- 1.6 20211217
- 1.7 20211216
- 1.8 20211210
- 1.9 20211209
- 1.10 20211203
- 1.11 20211202
- 1.12 20211130
- 1.13 20211126
- 1.14 20211125
- 1.15 20211123
- 1.16 20211119
- 1.17 20211118
- 1.18 20211116
- 1.19 20211112
- 1.20 20211111
- 1.21 20211109
- 1.22 20211105
- 1.23 20211104
- 1.24 20211102
- 1.25 20211029
- 1.26 20211028
- 1.27 20211026
- 1.28 20211022
- 1.29 20211021
- 1.30 20211019
- 1.31 20211015
- 1.32 20211014
- 1.33 20211008
- 1.34 20211007
- 1.35 20211005
- 1.36 20211001
- 1.37 20210930
- 1.38 20210928
- 1.39 20210923
- 1.40 20210921
- 2 Repositori de codis fet a classe durant el curs
- 3 Eines en línia
Algunes classes
Codis comentats avui usuari: daw / contrasenya: daw2122
Teleconferència
Teleconferència provisional per a compartir pantalles a classe i per a confinats
20220118 (Baixa professor)
Tasques a fer:
Més informació:
Introducció als apuntadors (Teoria d'apuntadors)
20220113 (Baixa professor)
Us he penjat al recull de fa dos dies els darrers codis fets en C i el pdf amb els enunciats dels dígits de control.
Proveu d'implementar en Python, emprant llistes, els codis: codiBarres00.c, targetaCredit_02_05.c i cc_03.c
Com a exemple, us he resolt codiBarres00.py com a implementació en Python de codiBarres00.c. També, al recull del dia d'avui, us he passat un exemple de conversió de llista de caràcters a llista de nombres enters.
Pugeu els codis targetaCredit_02_05.py i cc_03.py a una subcarpeta anomenada llistes de la carpeta Python de la vostra carpeta compartida amb mi. Feu-me arribar un correu electrònic quan els hàgiu pujat.
20220111 (Baixa professor)
Us he penjat al recull d'avui els darrers codis fets en C i el pdf amb els enunciats dels dígits de control.
Proveu d'implementar en Python, emprant llistes, els codis: codiBarres00.c, targetaCredit_02_05.c i cc_03.c
Com a exemple, us he resolt codiBarres00.py com a implementació en Python de codiBarres00.c
20211221
Recull de codis comentats avui usuari: daw / contrasenya: daw2122
- Dubtes pendents
- Fem la implementació del dígit de verificació d'un codi de barres present a algorismes de dígits de control
20211217
Recull de codis comentats avui usuari: daw / contrasenya: daw2122
- Dubtes pendents
Examen EAC06_nom_cognom_DAW1.c
Feu un programa, que us demani un número corresponent a un mes i us digui quin mes és.
Us ha de dir també quants dies té (el mes de febrer es considera de 28 dies).
Heu de filtrar que no sigui inferior a 1 ni superior a 12, cas en què contestarem "número de mes incorrecte" i ho haurà de tornar a preguntar.
Exemple:
Mes 1------> Correspon al mes de gener i té 31 dies.
20211216
Recull de codis comentats avui usuari: daw / contrasenya: daw2122
- Dubtes pendents
Tornem a repassar llistes i tuples:
- Feu els exercicis de les pàgines 14, 17, 19, 21, 22, 23 (consulteu com calcular el producte escalar), 24, 25 i 26 del document llistes i tuples
Els codis tindran el nom llista14.py, llista17.py fins a arribar a llista26.py (si feu servir el Jupyter Lab escriviu, comentat a la primera línia, el nom del codi. També haureu d'afegir una exportació en html a la carpeta compartida). Feu un document llistaPython.pdf a on hi surtin els codis comentats i llurs execucions. Deseu-lo a una subcarpeta anomenada llistes dins de la subcarpeta Python a la carpeta compartida.
- Fem la implementació del dígit de verificació de les targetes de crèdit present a algorismes de dígits de control
20211210
Recull de codis comentats avui usuari: daw / contrasenya: daw2122
- Dubtes pendents
- Seguim amb la implementació del dígit de verificació de les targetes de crèdit, fent servir vectors (arrays) d'enters, present a algorismes de dígits de control. Al recull del codi d'avui hi ha targetaCredit_01_00.c amb el codi comentat a les parts clau.
- Feina pendent de pujar dels exercicis de M2 i M3 de la col·lecció d'exercicis del d97
De la classe de l'11 de novembre hi havia aquests enunciats:
Feu els exercicis 5 i 6 d'aquesta col·lecció d'exercicis (m2e5.png, m2e5.xml, m2e5.py, m2e5.c, m2e6.png, m2e6.xml, m2e6.py i m2e6.c)
Un cop acabat els anteriors farem els exercicis 1, 3 i 8 d'aquesta col·lecció d'exercicis (m3e1.png, m3e1.xml, m3e1.py, m3e1.c, m3e3.* i m3e8.* . Essent * .png, .xml, .py i .c)
- Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta M03/exercicis/C/m2_m3. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran m2e5.c, m2e6.c, m3e1.c, m3e3.c i m3e8.c (si hi pugeu versions diferents, les podeu anomenar m2e5_00.c, m2e5_01.c, ...). També hi pujareu un arxiu en pdf, anomenat m2_m3_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ó. 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/m2_m3. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran m2e5.py, m2e6.py, m3e1.py, m3e3.py i m3e8.py (si hi pugeu versions diferents, les podeu anomenar m2e5_00.py, m2e5_01.py, ...). També hi pujareu un arxiu en pdf, anomenat m2_m3_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ó. Si feu servir el Jupyter Lab, no pujareu els arxius .py sinó l'arxiu .ipynb i l'exportació a html. També cal afegir l'enunciat i una captura del codi en Snap!
- Feina pendent de pujar dels exercicis del M4 de la col·lecció d'exercicis del d97
De la classe del 23 de novembre hi havia aquest enunciats:
- m4e1.*, m4e2.*, m4e5.*, m4e6.*, m4e11.* i m4e12.* dels exercicis de recursivitat i aleatorietat (Essent *: .py , .c)
Seguint la manera de pujar els arxius al M2 i M3, fareu les supcarpetes M03/exercicis/C/m4 i M03/exercicis/Python/m4. Poseu-hi allà les vostres propostes de solució. A la part de C tindreu l'arxiu m4_c.pdf i a la de Python m4_py.pdf. A ambdós documents hi haurà les captures de codi més importants i les diverses execucions possibles que il·lustrin les diferents possibilitats dels programes que heu desenvolupat. A la part de C també hi haurà els codis amb extensió .c i a les de Python amb extensió .py si feu servir un editor com el VSCode o l'arxiu .ipynb i l'exportació a html en cas de fer servir Jupyter Lab. Cal afegir l'enunciat. En aquesta part no cal que feu servir Snap!.
Examen EAC05_nom_cognom_DAW1.c
Realitzeu un programa que demani una lletra minúscula de l'abecedari i la transformi a majúscula , una majúscula a minúscula, qualsevol caràcter que no sigui una lletra avisarem dient NO ÉS UNA LLETRA i vagi ensenyant les lletres següents una a una en línies diferents, a intervals d'un segon, fins a arribar a la 'Z' on el programa pararà.
Si la lletra és la 'a', ens mostrarà 'A',si la lletra és la 'A', ens mostrarà 'a' i totes les lletres línia a línia fins a la 'z' o la 'Z'.
Si la lletra és la 'z' o 'Z' la transformarà i pararà immediatament.
Verbigràcia:
Introdueix una lletra de l'abecedari: x
X
Y
Z
20211209
- Dubtes pendents i repàs.
Codis comentats avui usuari: daw / contrasenya: daw2122
Python (llistes i tuples)
- Feu els exercicis de les pàgines 14, 17, 19, 21, 22, 23 (consulteu com calcular el producte escalar), 24, 25 i 26 del document llistes i tuples
Els codis tindran el nom llista14.py, llista17.py fins a arribar a llista26.py (si feu servir el Jupyter Lab escriviu, comentat a la primera línia, el nom del codi. També haureu d'afegir una exportació en html a la carpeta compartida). Feu un document llistaPython.pdf a on hi surtin els codis comentats i llurs execucions. Deseu-lo a una subcarpeta anomenada llistes dins de la subcarpeta Python a la carpeta compartida.
C (vectors)
- Fem la implementació del dígit de verificació de les targetes de crèdit present a algorismes de dígits de control
20211203
- Dubtes pendents i repàs.
- Passar de majúscules a minúscules i a l'inrevès.
Codis comentats avui usuari: daw / contrasenya: daw2122
Examen EAC04_nom_cognom_DAW1.c
Realitzeu un programa que demani una lletra minúscula de l'abecedari i la transformi a majúscula, vagi ensenyant les lletres següents una a una en línies diferents, a intervals d'un segon, fins a arribar a la 'Z' on el programa pararà.
Si la lletra és la 'a', ens mostrarà 'A' i totes les lletres línia a línia fins a la 'Z'.
Si la lletra és la 'z' la transformarà a majúscula i pararà immediatament.
Verbigràcia:
Introdueix una lletra de l'abecedari: x
X
Y
Z
20211202
- Dubtes pendents i repàs.
- m4e1.*, m4e2.*, m4e5.*, m4e6.*, m4e11.* i m4e12.* dels exercicis de recursivitat i aleatorietat (Essent * .png i .xml d'Snap! i .py i .c)
- Concepte de vectors (array). Vector de nombres reals.
- Exercici en C que pregunta el nombre de dies (màxim de 7) per a fer la mitjana de les temperatures del nombre de dies entrat (al recull hi ha els tres codis fet a classe).
Codis comentats avui usuari: daw / contrasenya: daw2122
20211130
- Dubtes pendents i repàs.
- m4e1.*, m4e2.*, m4e5.*, m4e6.*, m4e11.* i m4e12.* dels exercicis de recursivitat i aleatorietat (Essent * .png i .xml d'Snap! i .py i .c)
Codis comentats avui usuari: daw / contrasenya: daw2122
20211126
Dubtes pendents.
Codis comentats avui usuari: daw / contrasenya: daw2122
Examen EAC04_nom_cognom_DAW1.c
Feu un programa que faci la pregunta a sota indicada i tingui cinc possibles respostes i només una de correcta.
Quina és la velocitat de llum?, escriu una opció, de la 1 a la 5: 1-La velocitat de la llum és 300.000 quilòmetres/segon. 2-La velocitat de la llum és 343,2 metres/segons. 3-La velocitat de la llum és de 300.000 quilòmetres/hora. 4-Cap dels anteriors. 5-Totes les anteriors són correctes.
Quan contesteu una resposta incorrecta,hem de contestar------> T'has equivocat... i tornes a preguntar.
Si la persona s'ha equivocat més de tres cops,hem de contestar------> Hauries d'estudiar més... i acabem.
Si ens posa un número inferior a 1 o superior a 5,hem de contestar-----> Opció no disposada, tria de la 1 a la 5 i tornes a preguntar.
Recorda utilitzar while(1) o for(;;) i break per sortir.
EAC04_nom_cognom_DAW1.c
20211125
Codis comentats avui usuari: daw / contrasenya: daw2122
Aleatorietat a C
#include <stdlib.h> #include <time.h> void vLlavorAleatorietat(){ srand( (unsigned)time( NULL ) ); } int nNumAleat(int nMin,int nMax){ return nMin+ rand()% ((nMax-nMin)+1); }
20211123
- Dubtes del dia anterior i repàs de la recursivitat.
- m4e1.*, m4e2.*, m4e5.*, m4e6.*, m4e11.* i m4e12.* dels exercicis de recursivitat i aleatorietat (Essent * .png i .xml d'Snap! i .py i .c)
Codis comentats avui usuari: daw / contrasenya: daw2122
20211119
Seguim fent els exercicis plantejats el dia anterior.
Codis comentats avui usuari: daw / contrasenya: daw2122
20211118
Seguim fent els exercicis plantejats el dia anterior.
Codis comentats avui usuari: daw / contrasenya: daw2122
20211116
Seguim fent els exercicis plantejats el dia anterior.
Codis comentats avui usuari: daw / contrasenya: daw2122
20211112
Seguim fent els exercicis plantejats el dia anterior.
Codis comentats avui usuari: daw / contrasenya: daw2122
Examen EAC03_nom_cognom_DAW1.c
Es tracta de fer un programa que calculi la mitjana aritmètica de 8 notes aconseguides en programació.
Demanarem primer el nom de l'alumne.
Segon preguntarem el curs que fa.
Tercer preguntarem les 8 notes obtingudes seguides d'un Enter.
Quart calcularem la mitjana aritmètica.
Cinquè i darrer contestarem:
Bé <nom de l'alumne> de <curs que fa> la teva mitja aritmètica de les teves 8 notes és:_______
Realitzarem la captura i suma de les notes mitjançant un For.
Deseu a la carpeta compartida l'arxiu EAC03_nom_cognom_DAW1.c i el document EAC03_nom_cognom_DAW1.pdf (canvieu nom pel vostre nom i cognom pel vostre cognom). Heu de trametre els dos arxius (.c i .pdf) a l'adreça carles(punt)olive(arrova)fje(punt)edu
20211111
Seguim fent els exercicis plantejats el dia anterior.
Codis comentats avui usuari: daw / contrasenya: daw2122
Un cop acabat els anteriors farem els exercicis 5 i 6 d'aquesta col·lecció d'exercicis (m2e5.png, m2e5.xml, m2e5.py, m2e5.c, m2e6.png, m2e6.xml, m2e6.py i m2e6.c)
Un cop acabat els anteriors farem els exercicis 1, 3 i 8 d'aquesta col·lecció d'exercicis (m3e1.png, m3e1.xml, m3e1.py, m3e1.c, m3e3.* i m3e8.* . Essent * .png, .xml, .py i .c)
20211109
Seguim fent eles exercicis plantejats el dia anterior.
Codis comentats avui usuari: daw / contrasenya: daw2122
20211105
Les funcions a Snap! es diuen blocs. Baixeu-vos els codis blocsSnap_01.xml i blocsSnap_02.xml del recull de codis comentats avui, i analitzem llurs blocs.
Codis comentats avui usuari: daw / contrasenya: daw2122
Seguim fent els exercicis del darrer dia:
Implementeu en Snap!, Python i C els exercicis 4, 6, 7 i 8 (no feu en C el 8) de la col·lecció d'exercicis bàsics de pesudocodi
- 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!
Examen EAC02_nom_cognom_DAW1.c
Realitzeu un programa que segueixi la seqüència següent:
Introduïu un número que fa de codi d'accés: (Que serà 14822)
en cas d'encertar-lo demanarà:
Com et dius? Posarem el nom i contestarà:
Molt bé <el nom que hagis posat> , estàs autoritzat.
Després sortirà del programa.
Si en introduir el codi d'accés és erroni, contestarà: Prova-ho una altra vegada.
Després ho tornarà a preguntar, fent servir un bucle while, do-while o for, fins que s'encerti. Després posarem el nom i contestarà:
Per fi ho has aconseguit! Molt bé <el nom que hagis posat> , estàs autoritzat.
Després sortirà del programa.
Deseu a la carpeta compartida l'arxiu EAC02_nom_cognom_DAW1.c i el document EAC02_nom_cognom_DAW1.pdf (canvieu nom pel vostre nom i cognom pel vostre cognom). Heu de trametre els dos arxius (.c i .pdf) a l'adreça carles(punt)olive(arrova)fje(punt)edu
20211104
Codis comentats avui usuari: daw / contrasenya: daw2122
Estructures repetitives en Python
#ifdef, #ifndef, #else i #endif
Implementeu en Snap!, Python i C els exercicis 4, 6, 7 i 8 (no feu en C el 8) de la col·lecció d'exercicis bàsics de pesudocodi
- 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!
Com esperar
Des del sistema operatiu:
En Linux:
sleep 5
essent 5 el nombre de segons que s'espera.
En Windows:
timeout 5
essent 5 el nombre de segons que s'espera.
Funcions d'espera de temps multiplataforma:
En C:
#include <stdio.h> #define LINUX #ifdef LINUX #include <unistd.h> #else #include <Windows.h> #endif int main(){ int nS; char szOrdre[99]; printf("Nombre de segons a esperar: "); scanf("%d",&nS); sleep(nS); // A Linux són segons i a Windows són milisegons printf("S'ha acabat l'espera de %d segons\n",nS); return 0; }
En Python:
import time # Per a fer servir sleep() nS = int(input("Nombre de segons a esperar: ")) time.sleep(nS) print("S'ha acabat l'espera de %d segons"%nS)
20211102
Estructures repetitives en Python
Funcions
20211029
Lleis de Morgan:
!(a&b) = !a | !b !(a|b) = !a & !b
Codis comentats avui usuari: daw / contrasenya: daw2122
Examen EAC01_nom_cognom_DAW1.c
Realitzeu un programa que segueixi la seqüència següent:
Introduïu un número que fa de codi d'accés: (Que serà 12346)
en cas d'encertar-lo demanarà:
Com et dius? Posarem el nom i contestarà:
Molt bé <el nom que hagis posat> , estàs autoritzat.
Després sortirà del programa.
Si en introduir el codi d'accés és erroni, contestarà: Prova-ho una altra vegada.
Després sortirà del programa.
Deseu a la carpeta compartida l'arxiu EAC01_nom_cognom_DAW1.c i el document EAC01_nom_cognom_DAW1.pdf (canvieu nom pel vostre nom i cognom pel vostre cognom). Heu de trametre els dos arxius (.c i .pdf) a l'adreça carles(punt)olive(arrova)fje(punt)edu
20211028
Estructures repetitives en Python
Codis comentats avui usuari: daw / contrasenya: daw2122
C
switch i operador ternari.
Exercicis de condicionals en C. (comentem cond06.c)
cond01.c) Feu un programa que demani dos números, 'a' i 'b', i us digui si la seva suma és positiva, negativa o zero.
cond02.c) Escriviu un programa que llegeixi un número i us digui si és parell o senar.
cond03.c) Escriviu un programa que demani un nombre enter entre un i dotze i imprimeixi el nombre de dies que té el mes corresponent.
No hi ha cond04.c (El codi en C equivalent al de Python requereix d'uns coneixements que no s'han explicat encara)
cond05.c) Escriviu un programa que llegeixi un any i us digui si és de traspàs. (Considerarem any és de traspàs si és un número divisible per 4, però no si és divisible per 100, excepte que també sigui divisible per 400)
cond06.c) Feu un programa que llegeixi un caràcter pel teclat i comprovi si és una lletra majúscula.
- 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 cond01.c, cond02.c, cond03.c, cond05.c i cond06.c (si hi pugeu versions diferents, les podeu anomenar cond02_00.c, cond02_01.c, ...). També hi pujareu un arxiu en pdf, anomenat condicionals_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.
Aleatorietat a Python
import random nN = random.randint(a, b)
Retorna un enter aleatori nN, tal que a <= nN <= b. Àlies de randrange(a, b+1).
20211026
Estructures repetitives en Python
Codis comentats avui usuari: daw / contrasenya: daw2122
20211022
Més exercicis de condicionals en C.
Estructures repetitives en Python
Estructures repetitives en C
Codis comentats avui usuari: daw / contrasenya: daw2122
20211021
Actualització de l'estructura de carpetes a la carpeta compartida.
Condicionals amb Python. Revisem el not (l'equivalent en C eś el signe d'admiració !).
C
cond01.c) Feu un programa que demani dos números, 'a' i 'b', i us digui si la seva suma és positiva, negativa o zero.
cond02.c) Escriviu un programa que llegeixi un número i us digui si és parell o senar.
cond03.c) Escriviu un programa que demani un nombre enter entre un i dotze i imprimeixi el nombre de dies que té el mes corresponent.
No hi ha cond04.c (El codi en C equivalent al de Python requereix d'uns coneixements que no s'han explicat encara)
cond05.c) Escriviu un programa que llegeixi un any i us digui si és de traspàs. (Considerarem any és de traspàs si és un número divisible per 4, però no si és divisible per 100, excepte que també sigui divisible per 400)
cond06.c) Feu un programa que llegeixi un caràcter pel teclat i comprovi si és una lletra majúscula.
- 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 cond01.c, cond02.c, cond03.c, cond05.py i cond06.py (si hi pugeu versions diferents, les podeu anomenar cond02_00.c, cond02_01.c, ...). També hi pujareu un arxiu en pdf, anomenat condicionals_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.
Python
- Exercicis de condicions en Python. Dins de la vostra carpeta compartida, feu la subcarpeta M03/exercicis/Python. Poseu-hi allà les vostres propostes de solució. Teniu dues opcions per a penjar el codi:
- 1) Els noms dels arxius seran cond01.py, cond02.py, cond03.py, cond04.py, cond05.py i cond06.py (si hi pugeu versions diferents, les podeu anomenar cond04_00.py, cond04_01.py, ...). També hi pujareu un arxiu en pdf, anomenat condicionals_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.
- 2) Pugeu els arxius condicionals_py.ipynb (arxiu del jupyter-lab) i condicionals_py.htm (arxiu exportat del jupyter-lab). També hi pujareu un arxiu en pdf, anomenat condicionals_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.
Codis comentats avui usuari: daw / contrasenya: daw2122
20211019
Codis fets avui usuari: daw / contrasenya: daw2122
Exercicis de condicions en Python
20211015
Operadors relacionals: m2p06.c
Comencem per la pràctica m2p05.c
Exercici 4 del mòdul 2 del d97
20211014
Codis comentats avui a classe usuari: daw / contrasenya: daw2122
Per a fer una potència en C es fa servir la funció pow() (que li cal l'arxiu de capçalera math.h i, per tant, requereix afegir a la compilació el paràmetre -lm):
lfBase ^ lfExponent => pow(lfBase,lfExponent)
Per a fer una potència en Python es fa servir l'operador **:
lfBase ^ lfExponent => lfBase**lfExponent
En Python:
- Exercicis 3, 4, 5, 6 i 7 dels exercicis de C del mòdul 1 del d97. Dins de la vostra carpeta compartida, feu la subcarpeta M03/exercicis/Python. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran m1e3.py, m1e4.py, m1e5.py, m1e6.py i m1e7.py (si hi pugeu versions diferents, les podeu anomenar m1e7_00.py, m1e7_01.py, ...). També hi pujareu un arxiu en pdf, anomenat m1e3_7_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.
En C:
20211008
Codis comentats avui a classe usuari: daw / contrasenya: daw2122
Compilació amb l'arxiu de capçalera math.h:
gcc m1p06.c -o m1p06 -lm
Per a fer una potència en C es fa servir la funció pow():
lfBase ^ lfExponent => pow(lfBase,lfExponent)
En C:
- Exercicis 3, 4, 5, 6 i 7 dels exercicis de C del mòdul 1 del d97. Dins de la vostra carpeta compartida, feu la subcarpeta M03/Exercicis/C. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran m1e3.c, m1e4.c, m1e5.c, m1e6.c i m1e7.c (si hi pugeu versions diferents, les podeu anomenar m1e7_00.c, m1e7_01.c, ...). També hi pujareu un arxiu en pdf, anomenat m1e3_7.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.
20211007
Codis comentats avui a classe usuari: daw / contrasenya: daw2122
Python
Fem servir el Jupyter Lab des de la màquina virtual. Des del terminal:
jupyter-lab
Accés directe a 20211007_py.html i accés directe a 20211007_py_02.html
C
- Implementació en C dels dos darrers exercicis d'aquest enllaç
- Implementació en C de l'exercici 5 de la col·lecció d'exercicis de pseudocodi
- Exercicis 3, 4, 5, 6 i 7 dels exercicis de C del mòdul 1 del d97. Dins de la vostra carpeta compartida, feu la subcarpeta M03/Exercicis/C. Poseu-hi allà les vostres propostes de solució. Els noms dels arxius seran m1e3.c, m1e4.c, m1e5.c, m1e6.c i m1e7.c (si hi pugeu versions diferents, les podeu anomenar m1e7_00.c, m1e7_01.c, ...). També hi pujareu un arxiu en pdf, anomenat m1e3_7.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.
20211005
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.
Codis 00_py_intro:
Codis 00_C_intro:
Seguim amb la Introducció bàsica a Python
20211001
Teleconferència provisional pel dia 20211001
20210930
Teleconferència provisional pel dia 20210930
20210928
Teleconferència provisional pel dia 20210928
20210923
Adreça de la teleconferència per al dia d'avui
Codis comentats avui a classe usuari: daw / contrasenya: daw2122
20210921
Codis comentats avui a classe usuari: daw / contrasenya: daw2122
Repositori de codis fet a classe durant el curs
Codis fets a les classes de 1r de DAW usuari: daw | contrasenya: daw2122
Pràctiques d'introducció a Python
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
C
Eines en línia
Recull de codis fets a classe usuari / contrasenya : daw / daw2122
Disseny de diagrames de flux en línia