Salta el contingut
 

Exercicis: Estructures de selecció

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Objectius

Els objectius d'aquests exercicis són:

  • Conéixer les diferents estructures de selecció disponibles en el llenguatge de programació.
  • Conéixer i utilitzar les estructures if, elsif i else.
  • Conéixer i utilitzar la estructura match-case.

Els exercicis marcats amb ✅ seran corregits a classe.

Estructura del projecte

Tots els exercicis han de complir amb la següent estructura:

  • Cada exercici ha d'anar dins del directori corresponent.
  • El nom del fitxer ha de coincidir amb el títol de l'exercici.
  • El format de la eixida del programa ha de ser consistent amb el format demanat.
  • Utilitza Funcions per encapsular la lògica de les operacions realitzades.

Exercicis

ud2/exercises/selection

which_is_greater.py

Crea un programa que demane a l'usuari dos nombre enters i mostre el valor més gran.

Exemple d'entrada i eixida
Entrada
5
10
Eixida
10

show_is_adult.py

Crea un programa que demane a l'usuari la seua edat i mostre el següents missatge en cas que siga major d'edat o no.

Exemple d'entrada i eixida
Entrada
20
Eixida
Eres major d'edat!
Entrada
16
Eixida
No eres major d'edat.

fight_for_cookies.py

Crea una programa que demane a l'usuari un nombre de persones i un nombre de galetes.

Si a tots els corresponen el mateix nombre de galetes, mostra Let's eat!. En canvi, si no es poden repartir equitativament, mostra Let's fight!

Exemple d'entrada i eixida
Entrada
10
20
Eixida
Let's eat!
Entrada
10
21
Eixida
Let's fight!

absolute_number.py

Crea un programa que retorne el valor absolut del nombre que introduisca l'usuari.

Exemple d'entrada i eixida
Entrada
10
Eixida
10
Entrada
-10
Eixida
10

is_valid_note.py

Crea un programa que mostre si el nombre enter introduit es correspon en un billet vàlid.

Exemple d'entrada i eixida
Entrada
10
Eixida
És vàlid!
Entrada
15
Eixida
No és vàlid.

which_pizza_should_i_buy.py

Volem decidir quina pizza ens interesa més comprar, donades el preu i les dimensions de la pizza.

  • La primera pizza és redona, per tant, l'usuari introduirà el preu i el seu diàmetre (en cm).
  • La segona pizza és rectangular, per tant, l'usuari introduirà el preu i les dimensions dels seus costats (en cm).

El programa mostrarà la informació sobre la pizza més rentable.

Exemple d'entrada i eixida
Entrada
10
30
12
20
40
Eixida
La pizza redona és més rentable: 0.014 €/cm²
Entrada
15
30
10
20
40
Eixida
La pizza rectangular és més rentable: 0.013 €/cm²

rock_paper_scissors.py

Crea un programa per jugar al joc Pedra, paper o tisores.

El programa rebrà la jugada de 2 jugadors i indicarà quins dels dos jugadors guanyat.

Exemple d'entrada i eixida
Entrada
pedra
pedra
Eixida
Els dos jugadors han empatat amb 'pedra'.
Entrada
paper
pedra
Eixida
Guanya el jugador 1 amb 'paper'.
Entrada
tisores
pedra
Eixida
Guanya el jugador 2 amb 'pedra'.

exam_grade.py

Crea un programa on l'usuari introduirà la nota d'un examen i el programa mostrarà el resultat obtingut.

  • Excel·lent (9 o 10)
  • Notable (7 o 8)
  • (6)
  • Suficient (5)
  • Suspés (0, 1, 2, 3 o 4)
  • Nota no vàlida: Altres valors.
Exemple d'entrada i eixida
Entrada
7
Eixida
Notable
Entrada
-1
Eixida
Nota no vàlida

next_second.py

Crea un programa que demane tres enters a l'usuari, corresponent a les hores, minuts i segons.

Comprova que els valors siguen vàlids. Si no ho són, cal que el programa mostre un missatge d'error.

En cas que siga una hora vàlida, el programa ha d'afegir 1 segon a aquesta i mostrar el resultat en el format HH:MM:SS

Exemple d'entrada i eixida
Entrada
10
10
10
Eixida
10:10:11
Entrada
10
10
59
Eixida
10:11:00
Entrada
25
-1
0
Eixida
El valor '25' no és vàlid per a les hores.
El valor '-1' no és vàlid per als minuts.

days_in_month.py

Crea un programa que reba el número del mes (0-12) i retorne el nombre de dies que té.

Exemple d'entrada i eixida
Entrada
1
Eixida
31
Entrada
2
Eixida
28
Entrada
4
Eixida
30

robot_face_generator.py

Volem dissenyar un programa que genere cares de robots.

L'usuari introduirà:

  • El tipus de monyo: arrissat (__@@@@@__), llis (__VVVVV__) o despentinat (__XXXXX__).
  • El tipus de ulls: aclucats (__.-.-.__), redons (__.o-o.__) o estrellats (__.*-*.__).
  • El tipus de nas: xato (__..0..__), arromangat (__..C..__) o aguilenc (__..V..__).
  • El tipus de boca: normal (__.===.__), bigot (__.~~~.__) o dents (__.www.__).
Exemple d'entrada i eixida
Entrada
arrissats
redons
xato
normal
Eixida
@@@@@
.o-o.
..0..
.===.

inside_circle.py

Fes un programa que avalue si les coordenades d'un punt (x,y) es troba dins d'una circunferència descrita pel seu centre (a,b) i el seu radi (r)

Imprimeix si el punt està dins o fora del cercle.

Exemple d'entrada i eixida
Entrada
1
1
0
0
2
Eixida
El punt està dins del cercle.
Entrada
2
2
0
0
2
Eixida
El punt està fora del cercle.

triangle_type.py

Crea un programa que demane a l'usuari la longitud dels tres costats d'un triangle i determine si és:

  • Equilàter: els tres costats són iguals.
  • Isòsceles: dos costats són iguals.
  • Escalè: els tres costats són diferents.
Exemple d'entrada i eixida
Entrada
5
5
5
Eixida
Equilàter
Entrada
5
5
3
Eixida
Isòsceles
Entrada
5
4
3
Eixida
Escalè

chose_your_own_adventure.py

Crea un programa que simule un joc de Tria la teua pròpia aventura, tenint en compte el seguent esquema:

graph TB
  island[Et despertes a una illa de nit. L'últim que recordes és ofegar-se.] --> islandQ{Que vols fer?} 
  islandQ-->|1. Espere|wait1[S'ha fet de dia. Tens molta fam]
  wait1--> wait1Q{Que vols fer?}
  wait1Q-->|1. Espere|dead[Has mort de fam]
  wait1Q-->|2. Vaig a cercar menjar|dayFindFood[Hi ha una palmera amb cocos]
  dayFindFood --> dayFindFoodQ{Que vols fer?}
  dayFindFoodQ -->|1. No hi puge, és perillós|dead
  dayFindFoodQ -->|2. Vaig a pujar!|scaped[Desde dalt de la palmera veus un vaixell. Estàs salvat!]
  islandQ-->|2. Vaig a cercar menjar|nightFindFood[És de nit, no veus res. T'esperes igualment]
  nightFindFood --> wait1
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.