Diferència entre revisions de la pàgina «ASIX 2024-2025»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 7 revisions intermèdies del mateix usuari que no es mostren)
Línia 38: Línia 38:
  
 
= Algunes classes =
 
= Algunes classes =
 +
== 20250430 ==
 +
* Dubtes
 +
* Seguim amb les [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m6/d97m6te.htm cadenes de caràcters]
 +
* [[Mètodes de cadenes a Python]]
 +
* Part 1 de [[Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria]]
 +
 +
== 20250429 ==
 +
* rand()
 +
* Dubtes
 +
* Apuntadors
 +
== 20250424 ==
 +
* Seguim fent els [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm exercicis 3, 5, 6, 11 i 12].
 +
* Apuntadors
 +
 +
== 20250423 ==
 +
* Seguim fent els [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm exercicis 3, 5, 6, 11 i 12].
 +
 +
== 20250422 ==
 +
* [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/d97m4ex.htm Exercicis 3, 5, 6, 11 i 12]. Explicació de l'exercici 6.
 +
 
== 20250410 ==
 
== 20250410 ==
 
* Recursivitat
 
* Recursivitat
Línia 47: Línia 67:
 
== 20250408 ==
 
== 20250408 ==
 
* [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/annex.htm La depuració] El '''gdb'''.
 
* [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m4/annex.htm La depuració] El '''gdb'''.
* Codi [https://recull.binefa.cat/files/20240408/debug_p01.c debug_p01.c]
+
* Codi [https://recull.binefa.cat/files/20250408/debug_p01.c debug_p01.c]
  
 
== 20250403 ==
 
== 20250403 ==

Revisió de 14:05, 30 abr 2025

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

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

Estructura de les carpetes:

EH1 (depenent del subgrup)
SM1 (depenent del subgrup)
SM3
  examens
  exercicis
    C
    Python
    Encastats
  perDies

Enllaços ràpids

Compartició de pantalla

Llista de 1r d'ASIX

Totes les llistes

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

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

Pràctiques amb el robot versió 6

Algunes classes

20250430

20250429

  • rand()
  • Dubtes
  • Apuntadors

20250424

20250423

20250422

20250410

  • Recursivitat
  • Aleatorietat

20250409

  • Recursivitat

20250408

20250403

  • Recursivitat

20250402

  • Seguim amb la separació d'arxius
  • Recursivitat

20250401

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

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)

Separació d'arxius en C

Exemple de separació d'arxius en C

20250328

Concurs de robots

Graella

20250327

  • Seguim fent les pràctiques d'Arduino i robots

20250326

  • Seguim fent les pràctiques d'Arduino i robots

SM1 exam

  • Monday 20250317 - 19.10 to 21.00 Skill Assesment (504 & 505)
  • Friday 20250321 - 15.00 to 15.55 Knowledge Assesment (504 & 505)

20250320

  • Pseudofils a Arduino (com posar en paral·lel diferents processos).
  • Seguim fent les pràctiques d'Arduino i robots

20250319

  • Seguim fent les pràctiques d'Arduino i robots

20250313

  • Seguim fent les pràctiques d'Arduino i robots

20250312

  • Seguim fent les pràctiques d'Arduino i robots

20250227

  • Metacognició de síntesi
  • Seguim fent les pràctiques d'Arduino i robots

20250225

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250220

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250219

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250218

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250213

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250212

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250211

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250206

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots
  • Pas per referència:
/*
pasReferencia00.c 
El pas per referència serveix per modificar valors indirectament. (Sense return)
20250206
*/
#include <stdio.h>

void suma2(int *n){ // * significa que la variable emmagatzema l'adreça. No el valor
   *n = *n + 2; // El valor d'on apunta n s'incrementa en 2 
}

int main(){
   int x = 7;
   
   printf("1) x: %d\n",x);
   suma2(&x); // & diu l'adreça de la variable
   printf("2) x: %d\n",x);

   return 0;
}

20250205

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250130

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250128

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250123

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250122

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250121

  • Dubtes
  • Seguim fent les pràctiques d'Arduino i robots

20250117

SM1 act10:

systemctl --reverse list-dependencies cups

20250116

  • Dubtes
  • Seguim fent les pràctiques d'Arduino

20250115

  • Dubtes
  • Seguim fent les pràctiques d'Arduino

20250114

  • Dubtes
  • Seguim fent les pràctiques d'Arduino
  • Nou delay():
bool bNouDelay(int nMs){
 int nEspera = nMs/10, i;

 for (i = 0; i < 10; i++){
   if (bBotoPremut(BOTO_3)) {
     return true;
   }
   delay(nEspera);
 }
 return false;
}

void loop() {
 bool bSurt = false;

 if (bBotoPremut(BOTO_2)) {
   digitalWrite(LED_W, LOW);
   digitalWrite(LED_G, LOW);
   digitalWrite(LED_Y, LOW);
   digitalWrite(LED_R, LOW);
   while (true) { 
     digitalWrite(LED_W, HIGH); 
     bSurt = bNouDelay(1000);
     if (bSurt) break;
     digitalWrite(LED_W, LOW);

     digitalWrite(LED_G, HIGH); 
     bSurt = bNouDelay(1000);
     if (bSurt) break;
     digitalWrite(LED_G, LOW);  
...

20250109

  • Dubtes
  • Seguim fent les pràctiques d'Arduino
  • Pujada la segona part de les pràctiques d'Arduino

20250108

  • Dubtes
  • Seguim fent les pràctiques d'Arduino

20241219

  • Dubtes
  • Seguim fent les pràctiques d'Arduino

20241217

  • Dubtes
  • Seguim fent les pràctiques d'Arduino

20241212

  • Dubtes
  • Seguim fent les pràctiques d'Arduino

20241211

  • Dubtes
  • Visualització de nombres en diferents bases:
void loop() {
 static int n = 0;

 Serial.print("dec: ");
 Serial.print(n);
 Serial.print(", hex: ");
 Serial.print(n,16);
 Serial.print(", oct: ");
 Serial.print(n,8);
 Serial.print(", bin: ");
 Serial.println(n,2);
 n++;
 delay(50);
}
  • Seguim fent les pràctiques d'Arduino

20241210

  • Dubtes
  • Comencem a fer les pràctiques d'Arduino

20241205

  • Dubtes
  • Comencem a fer les pràctiques d'Arduino

20241204

  • Dubtes
  • Comencem a fer les pràctiques d'Arduino

20241122 Examen 1r trimestre

Examen del primer trimestre en paper i bolígraf. Es permeten apunts físics. No es permet l'ús de l'ordinador o del telèfon mòbil durant l'estona de l'examen.

20241121

  • Dubtes
  • Repàs

20241120

  • Dubtes
  • Bucles

20241119

  • Dubtes
  • Bucles

20241114

  • Dubtes
  • Operacions bàsiques a nivell de bit
  • Més pràctiques

20241113

  • Dubtes
  • Algorisme d'Euclides

20241112

  • Dubtes
  • Algorisme 3n+1

20241107

  • Dubtes
  • Seguim fent exercicis de bucles

20241106

  • Dubtes
  • Seguim resolent la verificació del número d'una targeta de crèdit

20241105

  • Dubtes
  • Comencem a resoldre la verificació del número d'una targeta de crèdit

20241030

  • Dubtes
  • Bucles en C emprant cadenes de caràcters

20241029

  • Dubtes
  • Increments
  • Bucles

20241024

  • Dubtes
  • Exercicis
  • Condicionals

20241023

  • Dubtes
  • Exercicis
  • Condicionals

20241022

20241017

  • Seguim en Python i C. Introducció de valors en C.

20241016

  • Seguim en Python i C. Introducció de valors en C.

20241015

  • Seguim en Python i C. Introducció de valors en C.

20241010

  • Seguim en Python i C. Introducció de valors en C.

20241008

  • Seguim en Python i C. Introducció de valors en C.
  • string en C i en Python

20241003

  • Seguim en Python i C. Introducció de valors en C.
  • Exercici del TAE

20241002

  • Seguim en Python i C. Introducció de valors en C.
  • Exercici de conversió de graus Fahrenheit a graus Celsius.
  • Exercici de càlcul de resistors en paral·lel

20241001

Seguim en Python i C. Introducció de valors en C.

Python:

nA = int(input("nA: ")) # imprimeix i captura del teclat
fB = float(input("fB: "))
print("nA: %d, fB: %f, fB: %.3f"%(nA,fB,fB));

C:

#include <stdio.h>

int main(){
   int nA;
   float fB;
    
   printf("nA: ");
   scanf("%d",&nA);
   printf("fB: "); // fB = float(input("fB: "))
   scanf("%f",&fB); // captura el valor del teclat
   printf("nA: %d, fB: %f, fB: %.3f\n",nA,fB,fB);
    
   return 0;
}

20240926 (1h)

Seguim en Python i C. Introducció de valors en C.

Tipus de variable en C. Visualització de caràcters del codi ASCII com a caràcter, decimal, hexadecimal i octal.

20240925 (1h)

Seguim en Python i C. Introducció de valors en C.

20240919 (1h)

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

  • Funcionament del return. Lectura a Linux del que retorna un programa al sistema operatiu:
echo $?

Lectura a Windows del que retorna un programa al sistema operatiu:

echo %errorlevel%
  • Retorn al sistema a Python:
ecat@iot-ecat:~$ python -c "import sys; sys.exit(0)"; echo $?
0
ecat@iot-ecat:~$ python -c "import sys; sys.exit(5)"; echo $?
5
ecat@iot-ecat:~$ python -c "import sys; sys.exit(-1)"; echo $?
255
  • Lectura de dades a Snap!, Python i C

20240918 (1h)

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

Introducció Hola món en Python i C.

Diferència a Windows entre ASCII i ANSI.

Manca demostrar el funcionament del return.

20240917 (1h)

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

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

Snap!

Snap!

Python

Instal·lador de Python per a Windows

Convertidor de blocs a Python

Pràctiques d'introducció a Python

C

Instal·lador de C per a Windows

Using GCC with MinGW

Fonaments de programació en C

IDE

Visual Studio Code

Geany

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

Repositori de codis fet a classe durant el curs

Codis fets a les classes de 1r d'ASIX usuari: asix / contrasenya: asix2425

Algorísmica

Exercicis bàsics de pesudocodi - Ex01

Python

Pràctiques d'introducció a Python

Condicionals en Python

Condicionals amb 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

Fonaments de programació en C

Eines en línia

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

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