**Sessió 3**. Funcions. Condicionals ======================================= Objectius ~~~~~~~~~ * Assimilar plenament qué són i com s'avaluen les expressions booleanes * Resoldre problemes amb composicions seqüencials i condicionals * Escollir l'estructura condicional adient per cada problema * Definir correctament funcions que retornen valors booleans * Fer servir doctests per comprovar la *correcció* de les funcions * Disenyar solucions de problemes que fan servir més d'una funció, en particular on alguna funció crida a un altre | Conceptes ~~~~~~~~~ **Funcions** - funcions booleanes (retornen *True* o *False*) - disseny amb funcions, doctests de funcions - composició de funcions - funcions en expressions - desenvolupament incremental **Condicionals** - expressions booleanes, `operadors lògics `_, taula de veritat - composició condicional (o alternativa) - simple: *if* - amb alternativa: *if*, *else* - amb diversos casos: *if*, *elif*, *else* - condició, bloc de codi (composició seqüencial), branca - composicions condicionals encadenades - composicions condicionals imbricades - simplificació de composicions condicionals - sentència nul·la (*pass*) | Exemples ~~~~~~~~ **Preparats pel professorat de la EEBE:** [1]_ .. toctree:: :maxdepth: 1 sessio_3/eebe/mymax sessio_3/eebe/mrua | Exercicis ~~~~~~~~~ **Preparats pel professorat de la EEBE:** [1]_ .. toctree:: :maxdepth: 1 sessio_3/eebe/trapezi sessio_3/eebe/signe sessio_3/eebe/nota sessio_3/eebe/ordenacio **Preparats pel professorat de la ETSEIB:** `http://gie.cs.upc.edu/fi `_ [2]_ - `ETSEIB. Comissions `_ - `ETSEIB. Colors d'un mapa + doctests `_ - `ETSEIB. Funcions com a paràmetres `_ - `ETSEIB. Natació `_ - `ETSEIB. Zona de cerca `_ **Preparats al Jutge:** `https://jutge.org `_ [3]_ - Llista 1: inici .. toctree:: sessio_3/jutge/leading_hand .. **Preparats al intèrpret online Python tutor:** `www.pythontutor.com `_ [4]_ .. warning:: S'han d'incloure | Exercicis adicionals ~~~~~~~~~~~~~~~~~~~~ .. .. warning:: S'han de completar **Preparats pel professorat de la EEBE:** [1]_ **Preparats pel professorat de la ETSEIB:** `http://gie.cs.upc.edu/fi `_ [2]_ - `ETSEIB. Nòmines `_ **Preparats al Jutge:** `https://jutge.org `_ [3]_ - Llista 1: inici .. toctree:: sessio_3/jutge/max_min **Preparats al intèrpret online Python tutor:** `www.pythontutor.com `_ [4]_ | | Referències ~~~~~~~~~~~ - Principals: - `Capítol 5 i capítol 4 del llibre de teoria `_ (*How to Think Like a Computer Scientist: Learning with Python 2nd Edition*) - `Capítol 6 `_ i `capítol 5 `_ de la versió online del llibre *How to Think Like a Computer Scientist: Learning with Python 3* - `The Python Language Reference `_ Lloc web oficial amb la documentació online de Pyhton 3 | | | .. rubric:: Footnotes .. [1] Els exercicis d'aquest apartat han estat desenvolupats pel professorat del Departament de Ciències de la Computació (CS) i del Departament d'Enginyeria de Sistemes, Automàtica i Informàtica Industrial (ESAII) de l'Escola d'Enginyeria de Barcelona Est (EEBE) .. [2] Els exercicis i documents als que s'accedeix a través d'un link a la pàgina web *gie.cs.upc.edu* han estat desenvolupats per professorat del Departament de Ciències de la Computació (CS) de la UPC, i es troben publicats a la web de la l'assignatura *Fonaments de Informàtica* de la Escola Tècnica Superior de Enginyeria Industrial de Barcelona (ETSEIB) .. [3] The Virtual Learning Environment for Computer Programming © Jordi Petit and Salvador Roura, 2006-2016 .. [4] Python tutor és un intèrpret online molt complet que a més a més permet veure l’execució pas a pas. És molt útil per entendre el funcionament de Python o fins i tot per a trobar errors. A més a més, com que és en línia, no requereix instal·lar Python. Heu de fer servir la versió 3