Diferència entre revisions de la pàgina «ASIX 2021-2022»
m (→20211123) |
|||
Línia 27: | Línia 27: | ||
[https://recull.binefa.cat/files/20211123/ Alguns codis comentats a classe] Usuari: ''asix'' i contrasenya: ''asix2122'' | [https://recull.binefa.cat/files/20211123/ Alguns codis comentats a classe] Usuari: ''asix'' i contrasenya: ''asix2122'' | ||
+ | |||
+ | === Examen '''EAC04_''nom''_''cognom''_ASIX1.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_ASIX1.c | ||
== 20211122 == | == 20211122 == |
Revisió del 19:05, 23 nov 2021
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
Contingut
- 1 Algunes classes
- 1.1 Teleconferència
- 1.2 20211123
- 1.3 20211122
- 1.4 20211117
- 1.5 20211116
- 1.6 20211115
- 1.7 20211110
- 1.8 20211109
- 1.9 20211103
- 1.10 20211102
- 1.11 20211027
- 1.12 20211026
- 1.13 20211025
- 1.14 20211020
- 1.15 20211019
- 1.16 20211018
- 1.17 20211013
- 1.18 20211011
- 1.19 20211006
- 1.20 20211005
- 1.21 20211004
- 1.22 20210929
- 1.23 20210928
- 1.24 20210927
- 1.25 20210922
- 1.26 20210921
- 2 Repositori de codis fet a classe durant el curs
- 3 Eines en línia
Algunes classes
Teleconferència
Teleconferència provisional per a compartir pantalles a classe i per a confinats
20211123
- Dubtes pendents
- m4e1.*, m4e2.*, m4e5.*, m4e6.*, m4e11.* i m4e12.* dels exercicis de recursivitat i aleatorietat (Essent * .png i .xml d'Snap! i .py i .c)
Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122
Examen EAC04_nom_cognom_ASIX1.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_ASIX1.c
20211122
Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122
20211117
Alguns codis comentats a classe Usuari: asix i contrasenya: asix2122
Comencem implementant en Python els codis desenvolupats en Snap! i ahir implementats en C. Després, seguim fent els exercicis plantejats el dia anterior.
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
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
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
Estructures repetitives
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
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
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
- 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.
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
Codis 00_py_intro:
Codis 00_C_intro:
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
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 : asix / asix2122
Disseny de diagrames de flux en línia