Diferència entre revisions de la pàgina «ASIX-M3-UF1-A2.1-Exercicis estructura alternativa»
(→Exercicis preliminars) |
(→Exercicis sentencia if) |
||
(51 revisions intermèdies per 2 usuaris que no es mostren) | |||
Línia 3: | Línia 3: | ||
1. Escriure un programa que demani una nota d'una prova i ens digui si ha aprovat (>=5). | 1. Escriure un programa que demani una nota d'una prova i ens digui si ha aprovat (>=5). | ||
− | + | 2. Escriure un programa que demani una nota d'una prova i ens digui si ha aprovat o ha suspès. | |
− | |||
− | + | 3. Escriure un programa que demani dos números i digui si són iguals o diferents. | |
− | + | 4. Escriure un programa que provi d'endevinar un número secret (poseu el número secret com a constant). | |
− | + | ==Exercicis sentencia if== | |
− | + | 1. Els treballadors d’una fàbrica treballen en dos torns: diürn i nocturn. Es vol calcular el salari d’un dia d’acord amb els següents punts: | |
+ | :a. La tarifa de les hores diürnes és de 4€ | ||
+ | :b. La tarifa de les hores nocturnes és de 6€ | ||
+ | :c. En cas de ser festiu, la tarifa s’incrementa en 2€ el torn diari i en 3€ el torn nocturn. | ||
− | + | El programa ha de llegir les hores treballades, el torn i el dia (festiu o laborable) i dir quin serà el salari. | |
− | + | 2. Escriviu un programa que simuli una calculadora simple. El programa llegeix dos enters i un caràcter. Si el caràcter és un '+' s’imprimeix la suma, si és un '–' la resta, si és un '*' el producte, si és un '/' la divisió real, si és '//' la divisió entera i si és un '%', el mòdul. | |
− | |||
− | + | 3. Escriviu un programa que llegeixi del teclat un enter comprès entre 0 i 63 (inclosos) i ens digui el nombre de bits que necessitem per escriure’l en binari. No s’ha de fer servir cap funció calcular-ho, sinó simplement a base de '''if .. elif .. else''', recordant que a cada potència de 2 necessitem un bit més. | |
− | |||
− | + | 4. Volem saber si una persona és major d’edat, per això llegirem la data de naixement(dia_neix, mes_neix i any_neix). | |
− | <source lang=" | + | : Utilitzeu el següent codi per obtenir dia, mes i any actual |
− | + | <source lang="python"> | |
+ | from datetime import date | ||
− | # | + | #Dia, mes i any actual |
− | + | AVUI = date.today() | |
− | + | DIA_ACTUAL = AVUI.day | |
− | + | MES_ACTUAL = AVUI.month | |
− | + | ANY_ACTUAL = AVUI.year | |
− | + | </source> | |
− | + | 5. Escriu un programa que llegeixi un número enter positiu i determini si es un número de 1, 2,3 o 4 xifres. | |
− | + | Control d'errors: Escriu els missatges pertinents si han introduït un valor fora del rang o si no han introduït un número enter. | |
− | + | <source lang="python"> | |
− | + | isinstance(variable, type)) | |
− | |||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | + | 6. En un casino de jocs es desitja mostrar els missatges respectius per els punts obtinguts en el llançament de tres daus d'un client, d'acord als següents resultats: | |
− | |||
− | + | :a) Si els tres daus són sis, mostrar el missatge "Excel·lent" | |
+ | :b) Si dos daus són sis, mostrar el missatge "Molt bé" | ||
+ | :c) Si un dau és sis, mostrar el missatge "Regular" | ||
+ | :d) Si cap dau és sis, mostrar el missatge "Pèssim" | ||
− | + | : Utilitzeu el següent codi per simular el llançament d'un dau | |
− | + | <source lang="python"> | |
− | + | from random import randint | |
− | + | r=randint(1,6) | |
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
− | + | 7. Demaneu tres números enters positius i mostreu-los en ordre descendent. | |
− | + | Control d'errors: Escriu els missatges pertinents si han introduït un valor negatiu, si no han introduït un enter o si han introduït números iguals. | |
− | + | 8. Tres persones les edats de les quals s’han de llegir per teclat, van a un parc d’atraccions. El cost de l’entrada normal és de 20€. Però tenen els següents descomptes: | |
− | |||
− | + | :A. Els menors de 5 anys no paguen però han d’anar acompanyats d’algun més gran de 12 anys, sinó no poden entrar | |
+ | :B. Entre els 5 i els 12 anys paguen el 25 % de l’entrada | ||
+ | :C. Entre els 12 anys i els 16 anys paguen el 50 % de l’entrada | ||
+ | :D. Els més grans de 16 anys paguen l’entrada normal, excepte que els tres estiguin entre els 16 i els 18 anys, que aquest cas com hi ha una oferta, només pagaran dues entrades normals entre els tres. | ||
+ | :E. Els més grans de 65 anys no paguen | ||
− | + | Quan costaran les tres entrades? | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revisió de 18:22, 10 oct 2023
Exercicis preliminars
1. Escriure un programa que demani una nota d'una prova i ens digui si ha aprovat (>=5).
2. Escriure un programa que demani una nota d'una prova i ens digui si ha aprovat o ha suspès.
3. Escriure un programa que demani dos números i digui si són iguals o diferents.
4. Escriure un programa que provi d'endevinar un número secret (poseu el número secret com a constant).
Exercicis sentencia if
1. Els treballadors d’una fàbrica treballen en dos torns: diürn i nocturn. Es vol calcular el salari d’un dia d’acord amb els següents punts:
- a. La tarifa de les hores diürnes és de 4€
- b. La tarifa de les hores nocturnes és de 6€
- c. En cas de ser festiu, la tarifa s’incrementa en 2€ el torn diari i en 3€ el torn nocturn.
El programa ha de llegir les hores treballades, el torn i el dia (festiu o laborable) i dir quin serà el salari.
2. Escriviu un programa que simuli una calculadora simple. El programa llegeix dos enters i un caràcter. Si el caràcter és un '+' s’imprimeix la suma, si és un '–' la resta, si és un '*' el producte, si és un '/' la divisió real, si és '//' la divisió entera i si és un '%', el mòdul.
3. Escriviu un programa que llegeixi del teclat un enter comprès entre 0 i 63 (inclosos) i ens digui el nombre de bits que necessitem per escriure’l en binari. No s’ha de fer servir cap funció calcular-ho, sinó simplement a base de if .. elif .. else, recordant que a cada potència de 2 necessitem un bit més.
4. Volem saber si una persona és major d’edat, per això llegirem la data de naixement(dia_neix, mes_neix i any_neix).
- Utilitzeu el següent codi per obtenir dia, mes i any actual
from datetime import date
#Dia, mes i any actual
AVUI = date.today()
DIA_ACTUAL = AVUI.day
MES_ACTUAL = AVUI.month
ANY_ACTUAL = AVUI.year
5. Escriu un programa que llegeixi un número enter positiu i determini si es un número de 1, 2,3 o 4 xifres.
Control d'errors: Escriu els missatges pertinents si han introduït un valor fora del rang o si no han introduït un número enter.
isinstance(variable, type))
6. En un casino de jocs es desitja mostrar els missatges respectius per els punts obtinguts en el llançament de tres daus d'un client, d'acord als següents resultats:
- a) Si els tres daus són sis, mostrar el missatge "Excel·lent"
- b) Si dos daus són sis, mostrar el missatge "Molt bé"
- c) Si un dau és sis, mostrar el missatge "Regular"
- d) Si cap dau és sis, mostrar el missatge "Pèssim"
- Utilitzeu el següent codi per simular el llançament d'un dau
from random import randint
r=randint(1,6)
7. Demaneu tres números enters positius i mostreu-los en ordre descendent.
Control d'errors: Escriu els missatges pertinents si han introduït un valor negatiu, si no han introduït un enter o si han introduït números iguals.
8. Tres persones les edats de les quals s’han de llegir per teclat, van a un parc d’atraccions. El cost de l’entrada normal és de 20€. Però tenen els següents descomptes:
- A. Els menors de 5 anys no paguen però han d’anar acompanyats d’algun més gran de 12 anys, sinó no poden entrar
- B. Entre els 5 i els 12 anys paguen el 25 % de l’entrada
- C. Entre els 12 anys i els 16 anys paguen el 50 % de l’entrada
- D. Els més grans de 16 anys paguen l’entrada normal, excepte que els tres estiguin entre els 16 i els 18 anys, que aquest cas com hi ha una oferta, només pagaran dues entrades normals entre els tres.
- E. Els més grans de 65 anys no paguen
Quan costaran les tres entrades?