Exercicis estructures de selecció

(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat

Sumari

  1. If else
    1. WhichBigger
      1. Input
      2. Output
    2. NiceIsLegalAge
      1. Input
      2. Output
    3. WillWeFightForThecookies
      1. Input
      2. Output
    4. AbsoluteNumber
      1. Input
      2. Output
    5. NiceIsValidNote
      1. Input
      2. Output
    6. WhichPizzaShouldIBuy
      1. Input
      2. Output
    7. RockPaperScissors
      1. Input
      2. Output
  2. If else aniuats i encadenats
    1. ExamGrade
      1. Input
      2. Output
    2. IsLeapYear
      1. Input
      2. Output
    3. NextSecond
      1. Input
      2. Output
  3. When
    1. HowManyDaysInMonth
      1. Input
      2. Output
    2. dayOfWeek
      1. Input: 7
      2. Output: diumenge
    3. IdentikitGenerator
      1. Input
      2. Output
  4. Generals
    1. Zeller
      1. Input
      2. Output
    2. CalculateMyWaterBill
      1. Input
      2. Output
    3. MinimumNotesAndCoins
      1. Input
      2. Output
  5. Avançats
    1. InsideCircle
    2. WhichTriangle
  6. Funcions
    1. ChooseYourOwnAdventure
  7. Acepta el reto

If else

WhichBigger

Demana dos enters a l'usuari i imprimeix el valor més gran

Input

40 33

Output

40

NiceIsLegalAge

L'usuari escriu un enter amb la seva edat i s'imprimeix ets major d'edat si és major d'edat

Input

18

Output

ets major d'edat

WillWeFightForThecookies

Input

10 20

Output

Let's Eat!

AbsoluteNumber

Input

-20

Output

20

NiceIsValidNote

Input

50

Output

bitllet vàlid

WhichPizzaShouldIBuy

Input

10 2 2

Output

Compra la rodona

RockPaperScissors

Input

1 2

Output

Guanya el segon

If else aniuats i encadenats

ExamGrade

Input

7.5

Output

Notable

IsLeapYear

L'usuari introdueix un any. Indica si és de traspàs printant "2020 és any de traspàs" o "2021 no és any de traspàs".

Input

1992

Output

1992 és any de traspàs

NextSecond

Input

10 50 59

Output

12:51:00

When

HowManyDaysInMonth

Input

1

Output

31

dayOfWeek

Donat un enter, printa el dia de la setmana amb text (dilluns, dimarts, dimecres…).

Input: 7

Output: diumenge

IdentikitGenerator

Input

arrissats
rodons
axafat
normal

Output

@@@@@
.o-o.
..0..
.===.

Generals

Zeller

La "Congruència de Zeller" és un algorisme per calcular el dia de la setmana d'una data concreta.

Té un algorisme una mica complex, però hi ha una versió bàsica aplicable que veiem a continuació.

Donada una data: dia/mes/any, l'algorisme és el següent

 dayOfWeek = (dia + y + y/4 - y/100 + y/400 + (31*m)/12) mod 7

 On:
    a = (14 - mes) / 12
    y = any - a
    m = mes + 12 * a - 2

El resultat (“d”) correspondrà al dia de la setmana: 0 (diumenge), 1 (dilluns) …….. 6 (dissabte).

Fer un programa que demani una data de naixement (de forma separada). Un número pel dia, un mes (en text) i un número per a l'any i que retorni el dia de la setmana que li correspon (dilluns, dimarts, …..).

Input

Dia: 14
Mes: gener
Any: 1973

Output

El teu aniversari, dia 14 de gener de 1973 va caure en: Diumenge

CalculateMyWaterBill

Input

B
5.0

Output

9.3245

MinimumNotesAndCoins

Input

603.25

Output

3 bitllets de 500€
1 bitllet de 100€
3 monedes de 1€
2 monedes de 10cèntims
1 moneda de 5cèntims

Avançats

InsideCircle

WhichTriangle

Funcions

ChooseYourOwnAdventure

graph TB island[Et despertes a una illa de nit. L'últim que recordes és ofegar-se.] --> islandQ{Que vols fer?} islandQ-->|1. Espero|wait1[S'ha fet de dia. Tens molta gana] wait1--> wait1Q{Que vols fer?} wait1Q-->|1. Espero|dead[Has mort de gana] wait1Q-->|2. Vaig a cercar menjar|dayFindFood[Hi ha una palmera amb cocos] dayFindFood --> dayFindFoodQ{Que vols fer?} dayFindFoodQ -->|1. No hi pujo, és perillós|dead dayFindFoodQ -->|2. Hi pujo|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

Acepta el reto