ASIX 2021-2022

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: 2122-ASIX-M03-1rCognom2nCognomNom (Per exemple, si el teu nom és Xavier López Pujol --> 2122-ASIX-M03-LopezPujolXavier). A aquest enllaç podreu veure si ja hi sou a la llista:

Carpetes compartides del M03 de 1r d'ASIX. Curs 2021-2022

Estructura de les carpetes:

M01 (depenent del subgrup)
M03
  examens
  exercicis
    C
    Python
  perDies
M16

Algunes classes

Llista de 1r d'ASIX

Teleconferència

Teleconferència provisional per a compartir pantalles a classe i per a confinats

20211116

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

Seguim fent els exercicis plantejats el dia anterior.

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)

20211115

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

Entrada de contrasenya oculta en Python

Font de codi

import getpass
szPwd = getpass.getpass("Enter Password")

20211110

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

  • Seguim fent els exercicis Snap!, Python i C (alg04, alg06, alg07 i alg08)

Exercicis Snap!, Python i C (alg04, alg06, alg07 i alg08)

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!

Aleatorietat en Python

Números aleatoris en Python

import random
nN = random.randint(a, b)

Retorna un enter aleatori nN, tal que a <= nN <= b. Àlies de randrange(a, b+1).

20211109

Blocs amb Snap!

Funcions en Python

Funcions en C

Exercicis bàsics de pesudocodi - Ex01

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

Exercicis Snap!, Python i C (alg04, alg06, alg07 i alg08)

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);
   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)

Examen EAC03_nom_cognom_ASIX1.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 notes obtingudes seguides d'un Enter.
  • Quart i darrer contestarem:

Bé, <nom de l'alumne> que fas <curs de l'alumne>, la mitjana 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_ASIX1.c i el document EAC03_nom_cognom_ASIX1.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

20211103

Funcions en Python

Estructures repetitives, o bucles, en Python

Estructures repetitives, o bucles, en Python

Exercicis d'estructures de control repetitives en Python

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

20211102

Funcions

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

Examen EAC02_nom_cognom_ASIX1.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à 12248)

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 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_ASIX1.c i el document EAC02_nom_cognom_ASIX1.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

20211027

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

Estructures repetitives, o bucles, en Python

Estructures repetitives, o bucles, en Python

Exercicis d'estructures de control repetitives en Python

20211026

Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122

Exercicis de condicionals en 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.

Examen EAC01_nom_cognom_ASIX1.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à 12345)

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_ASIX1.c i el document EAC01_nom_cognom_ASIX1.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

Operador ternari i switch

Els condicionals en C

Estructures repetitives

Estructures repetitives en C

20211025

Actualització de l'estructura de carpetes a la carpeta compartida.

Condicionals amb Python. Revisem el not.

  • 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 a classe usuari: asix / contrasenya: asix2122

20211020

Condicionals amb Python

Exercicis de condicions en Python

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

20211019

Examen d'avaluació inicial de programació a 1r d'ASIX. Curs 2021-2022

Els condicionals en C

Exercicis de condicions en Python

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

20211018

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

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.

20211013

Continuem fent els exercicis demanats el dia anterior.

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

20211011

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

C

Compilació amb l'arxiu de capçalera math.h:

gcc m1p06.c -o m1p06 -lm
  • 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.

Python

Fem servir el Jupyter Lab des de la màquina virtual. Des del terminal:

jupyter-lab

accés directe a 20211006_py_02.html

20211006

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

Exercici 2 d'algorísmica. Implementeu-ho en Python

Implementeu un algorisme que llegeixi dos números decimals i calculi i escrigui per pantalla el valor de la seva suma, resta, producte i divisió. Com a suggeriment, feu servir el tipus double o float.

20211005

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

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.

Exercici 2 d'algorísmica

Implementeu un algorisme que llegeixi dos números decimals i calculi i escrigui per pantalla el valor de la seva suma, resta, producte i divisió. Com a suggeriment, feu servir el tipus double o float.

20211004

Prova de Jupyter


Codis 00_py_intro:

00_py_intro.ipynb(Vista web)

Codis 00_C_intro:

00_C_intro.ipynb(Vista web)


Seguim amb la Introducció bàsica a Python

Els codis fets a classe són penjats al recull d'avui

20210929

Teleconferència provisional pel dia 20210929

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

20210928

Teleconferència provisional pel dia 20210928

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

20210927

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

20210922

Teleconferència puntual per al dia d'avui

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

20210921

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

Teleconferència puntual pel dia d'avui

Instal·lador de C per a Windows

Repositori de codis fet a classe durant el curs

Codis fets a les classes de 1r d'ASIX usuari: asix | contrasenya: asix2122

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

C

Fonaments de programació en C

Eines en línia

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