ASIX 2023-2024

De binefa.com
Salta a la navegació Salta a la cerca

Quan tingueu les credencials d'accés a la NET heu de compartir-nos (als dos professors) una carpeta amb aquest nom: 2324-ASIX-SM3-1rCognom2nCognomNom (Per exemple, si el teu nom és Xavier López Pujol --> 2324-ASIX-SM3-LopezPujolXavier). A aquest enllaç podreu veure si ja hi sou a la llista:

Carpetes compartides del SM3 de 1r d'ASIX. Curs 2023-2024

Estructura de les carpetes:

SM1 (depenent del subgrup)
SM3
  examens
  exercicis
    C
    Python
    Encastats
  perDies
  • Dins de la vostra carpeta compartida, deseu els codis generats a la subcarpeta SM3/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 SM3/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

Algunes classes[modifica]

Enllaços ràpids[modifica]

Llista de 1r d'ASIX

Compartició de pantalla

20240523 Examen fitxers, estructures i gestió dinàmica de memòria (2h)[modifica]

Vídeo SO

Examen usuari: asix / contrasenya: asix2324

20240522 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240516 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240515 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240510 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240509 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240508 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240503 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers
  • Estructures

20240502 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Fitxers:

Fitxers en C

Fitxers en Python

20240426 (2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors
  • Examen usuari: asix / contrasenya: asix2324

20240425 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240424 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240419 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240418 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240417 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240412 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240410 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Dubtes
  • Exercicis d'exàmens anteriors

20240405 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Exercicis d'exàmens anteriors

20240404 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Repàs de l'algorisme d'ordenació de la bombolla
  • Implementació de l'algorisme de la bombolla bidireccional en Python i C
  • Introducció al tkinter
  • Exercicis d'exàmens anteriors

20240403 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

- Implementeu les funcions en Python:

n = int(input("nombre d'elements: "))
a = []
for x in range(n):
   a.append(random.randint(-9,9))
vilsualitzaLlista(a)
a = ordenaBombollaBidireccional(a)
vilsualitzaLlista(a)

- Implementeu les funcions en C:

int main(){
   int nValors[N],nQ;
   
   vLlavorAleatorietat();
   nQ = nPregunta("Nombre d'elements",N);
   vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
   vVisualitzaLlista(nValors,nQ);
   vOrdBombollaBidireccional(nValors,nQ);
   vVisualitzaLlista(nValors,nQ);

   return 0;
}

- Implementeu les funcions en Python:

n = int(input("nombre d'elements: "))
a = []
for x in range(n):
   a.append(random.randint(-9,9))
vilsualitzaLlista(a)
a = ordenaInsercio(a)
vilsualitzaLlista(a)

- Implementeu les funcions en C:

int main(){
   int nValors[N],nQ;
   
   vLlavorAleatorietat();
   nQ = nPregunta("Nombre d'elements",N);
   vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
   vVisualitzaLlista(nValors,nQ);
   vOrdInsercio(nValors,nQ);
   vVisualitzaLlista(nValors,nQ);

   return 0;
}

20240322 (Concurs de robots)[modifica]

Concurs de robots ASIX i DAW.

Quadre 2023-2024

20240321 (1h+2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Algorisme d'ordenació pel mètode de la bombolla (Bubble Sort)

Implementeu les funcions per a fer funcionar aquest programa d'ordenació de la bombolla. (Traducció del programa fet en Python prèviament)

int main(){
   int nValors[N],nQ;
   
   vLlavorAleatorietat();
   nQ = nPregunta("Nombre d'elements",N);
   vEmplenavalorsAleatoris(nValors,nQ,VAL_MIN,VAL_MAX);
   vVisualitzaLlista(nValors,nQ);
   vOrdBombolla(nValors,nQ);
   vVisualitzaLlista(nValors,nQ);

   return 0;
}

20240320 (1h)[modifica]

Pràctiques amb el robot versió 6

20240315 (1h)[modifica]

Simulació al Wokwi d'un Arduino fent servir fils (per a ser exactes, quelcom semblant a fils)

Biblioteca ArduinoThread

Seguim amb les Pràctiques amb el robot versió 6

20240314 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb teoria de programació.

I quan hi sigui en carles seguim amb les Pràctiques amb el robot versió 6

20240313 (1h)[modifica]

Pràctiques amb el robot versió 6

20240308 (1h)[modifica]

Diagrama d'estats per al sumo --> Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240307 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240301 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240229 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240228 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240223 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

[[Pràctiques amb el robot versió 6]

20240222 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240221 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240216 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pràctiques amb el robot versió 6

20240215 (3h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240214 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240209 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240208 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240207 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240202 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240201 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240129 (1h)[modifica]

Pas per referència

20240126 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Pas per referència

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

20240125 (2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240124 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240119 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20240118 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • millis()

20240117 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Operadors: ! (negació a nivell de variable), ~ (negació a nivell de bit), & (operació lògica i) i | (operació lògica o)

Visualització pel monitor sèrie de forma decimal (Serial.println(n,DEC)) i hexadecimal (Serial.print(n,HEX)).

 byte by = 0x00;

 by |= (bBotoPremut(BOTO_A4))? 0x08:0x00;
 by |= (bBotoPremut(BOTO_A5))? 0x04:0x00;
 by |= (bBotoPremut(BOTO_3))? 0x02:0x00;
 by |= (bBotoPremut(BOTO_2))? 0x01:0x00;
 Serial.print("Hexadecimal: 0x0");
 Serial.println(by,HEX);
 Serial.print("Binari: 0b");
 Serial.println(by,BIN);
 Serial.print("Decimal: ");
 Serial.println(by,DEC);
 Serial.print("Octal: 0"); // 0 at the beginning: https://learn.adafruit.com/deciphering-strange-arduino-code/octal
 Serial.println(by,OCT);
 Serial.print("Binari negat bit a bit: 0b");
 Serial.println(~by,BIN); // 4 bytes
 Serial.print("Binari negat bit a bit: 0b");
 Serial.println((byte)~by,BIN); // byte: limitem a 8 el nombre d'1s i 0s
 Serial.print("Binari negat a nivell de byte: 0b");
 Serial.println((byte)!by,BIN); // byte: limitem a 8 el nombre d'1s i 0s
 Serial.print("Hexadecimal negat bit a bit: 0x0");
 Serial.println(~by,HEX);
 Serial.print("Hexadecimal negat a nivell de byte: 0x");
 Serial.println(!by,HEX); // 4 bytes
 Serial.println((byte)!by,HEX); // 1 byte

Uns i zeros mitjançant selector (Simulat emprant TinkerCad)

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

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

20240112 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

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

20240111 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

  • Monitor sèrie (Serial Monitor)
  • Repàs del dia anterior:

- Serial.begin()

- Serial.println()

Serial.println(__FILE__);

- Serial.print()

- Serial.read()

  • Alguns exemples:

Potenciòmetre controlant la posició d'un servo emprant Arduino Uno

Exemple de control de 31 servos

Exemple emprant un mesurador d'ultrasons

Un altre exemple emprant ultrasons

Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi

Pantalla OLED

20240110 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Introducció a Arduino

Serial.println(__FILE__);


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

20231220 (2h + 1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Introducció a Arduino

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

20231215 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb els temes pendents d'ahir.

20231214 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Exercicis de recursivitat. (m4p01.c, m4p02.c, m4e1.c, m4e2.c i m4e2.py)

La depuració en C emprant gdb

Separació d'arxius en Python[modifica]

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)

Separació d'arxius en C[modifica]

Exemple de separació d'arxius en C

20231213 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Exercicis d'algorísmica alg01 (en Python) i alg07 (en Python i C). (Exercicis bàsics de pesudocodi)

20231201 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Afegir elements a una llista en Python

20231124 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb nombres aleatoris.

Exercicis d'estructures de control repetitives en Python

20231123 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Seguim amb nombres aleatoris.

20231122 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Nombres aleatoris.

20231117 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20231116 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20231115 (1h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: asix2324

20231110 (1h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: asix2324

20231109 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

El proceso de búsqueda de empleo | Flipped FOL: Búsqueda de empleo y relaciones laborales (Suplència Sandra)

20231108 (1h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

Exercicis de condicions en Python

Exercicis d'estructures de control repetitives en Python

20231103 (1h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

20231102 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

20231027 (1h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

Condicionals amb Python

20231026 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

EAC02[modifica]

Feu un programa en llenguatge C i Python que demani un valor en graus Fahrenheit i els converteixi a graus Kelvin.

K = (F − 32) × 5 ⁄ 9 + 273.15 (recordeu quan posavem 1./2)

Dins del programa, a la primera línia comentada posa el teu nom i cognoms.

El fitxer que m'enviaràs ( carles[punt]olive[arrova]fje[punt]edu) en C es dirà EAC02-ASIX-cognom_nom.c i en Python EAC02-ASIX-cognom_nom.py.txt.

20231025 (1h)[modifica]

Codis comentats avui a classe usuari: daw / contrasenya: daw2324

  • Canvieu m2p08.c a un m2p08.c emprant l'estil fet servir classe.
  • Traduïu m2p08.c a m2p08.py

Seguim amb les funcions.

20231020 (1h)[modifica]

Seguim amb la introducció a les funcions.

20231019 (1h + 2h)[modifica]

Seguim amb la introducció a les funcions.

20231018 (1h)[modifica]

Introducció a les funcions.

20231011 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Mirem la pràctica de generació de la lletra del DNI/NIF i seguim fent exercicis.

20231006 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20231005 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Fem m1e6 i m1e7 en Python i C.

20231004 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Hem fet m1e5.py i m1e5.c

20230929 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Explicació de com implementar potències (funció pow) per a poder resoldre l'exercici m1e5

20230928 (1h + 2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Fets els exercicis m1e3 i m1e4 en C i Python

20230927 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20230922 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20230921 (1h+2h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

20230920 (1h)[modifica]

Codis comentats avui a classe usuari: asix / contrasenya: asix2324

Compilador / intèrpret en línia onlinegdb.com

Snap![modifica]

Snap!

Python[modifica]

Instal·lador de Python per a Windows

Convertidor de blocs a Python

Pràctiques d'introducció a Python

C[modifica]

Instal·lador de C per a Windows

Using GCC with MinGW

Fonaments de programació en C

IDE[modifica]

Visual Studio Code

Geany

Compilador / intèrpret en línia onlinegdb.com

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

Codis fets a les classes de 1r de DAW usuari: daw / contrasenya: daw2324

Algorísmica[modifica]

Exercicis bàsics de pesudocodi - Ex01

Python[modifica]

Pràctiques d'introducció a Python

Condicionals en Python[modifica]

Condicionals amb Python

Exercicis de condicions en Python

Estructures repetitives, o bucles, en Python[modifica]

Estructures repetitives, o bucles, en Python

Exercicis d'estructures de control repetitives en Python

Instal·lació del Jupyter Lab[modifica]

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[modifica]

Fonaments de programació en C

Eines en línia[modifica]

Recull de codis fets a classe usuari / contrasenya : asix / asix2122

Disseny de diagrames de flux en línia

Snap! o Snap! personalitzat

Compilador / intèrpret en línia onlinegdb.com

Arduino Blocks

MinGW - Compilador de C per a Windows

Vídeo de particions en línia d'ordres

EduBlocks