ASIX-M3-UF1-A1
Esquema simplificat d’un ordinador
- La unitat central de processament pot processar milions d’instruccions per segon. I sempre espera noves instruccions...
- Usualment aquestes instruccions es poden donar agrupades en el que podríem anomenar com Programa.
- Però, en quin llenguatge li podem parlar a la unitat central de processament?
- Només entén un llenguatge de molt baix nivell conegut com llenguatge màquina.
- És fàcil aprendre aquest llenguatge i àgil per fer programes?
- Doncs NO!.
- Necessitem un llenguatge de programació d’alt nivell (més proper al llenguatge que parlem) per poder ser eficients alhora de programar.
- Python és una molt bona opció pels Administradors de Sistemes.
- Nosaltres fem programes d’alt nivell i la CPU només entén llenguatges de baix nivell. Com es resol?
- Hi ha dos opcions que depenen del llenguatge d’alt nivell emprat: intèrprets i compiladors.
- Python és un llenguatge interpretat.
- Aleshores per poder fer els nostres programes necessitarem tenir instal·lat en el nostre sistema l’intèrpret de python.
- Conviuen dues versions de python la 2.x i la 3.x: això és degut a que curiosament no hi ha compatibilitat entre les versions 2 i 3.
- I per tant, molts programes fets per a la versió 2 s’haurien de “reprogramar” perquè funcionin en la versió 3.
- Nosaltres treballarem amb la versió 3 per la millora que hi ha en les llibreries de sistemes.
- Amb les darreres versions d’Ubuntu l’intèrpret de python ja ve instal·lat.
- Veiem-ho!!
Contingut
- 1 ACTIVITAT 1.1: La calculadora
- 2 ACTIVITAT 1.2: Primers tipus de dades: enters(sense decimal) i reals(amb coma flotant)
- 3 ACTIVITAT 1.3: Els operador lógics i de comparació
- 4 ACTIVITAT 1.4: Les variables i les assignacions
- 5 ACTIVITAT 1.5: Cadenes
- 6 ACTIVITAT 1.6: Funcions predefinides
- 7 ACTIVITAT 1.7: Funcions en mòduls
- 8 ACTIVITAT 1.8: Els mètodes
- 9 ACTIVITAT 1.9: Introducció als programes
- 10 ACTIVITAT 1.10: Sortida amb format i programes més llegibles
ACTIVITAT 1.1: La calculadora
Indica resultat de les següents operacions:
- Operacions bàsiques:
>>> 2 + 3 >>> 4 – 3 >>> 5 * 3 >>> 8 / 2 >>> 7 % 2 >>> 2**3
- Més d’una operació (prioritat):
1r la potencia 2n canvis de signe (si n’hi ha): Per ex. - (-8) = +8 3r multiplicacions, divisions i mòduls (mateixa prioritat → d'esquerra a dreta) 4t sumes i restes (mateixa prioritat → d'esquerra a dreta)
>>> 4+3+2-5 >>> 2**3**2 (de dreta a esquerra) >>> 5*3+2 >>> 2+5*3 >>> 4/2*3 >>> 3*4/2 >>> 13%5*3 >>> 3*17%5 >>> 2+3-4*6/2**3%2
- Parèntesis per canviar la prioritat:
>>> 4+3+(2-5) >>> (2**3)**2 >>> 5*(3+2) >>> (2+5)*3 >>> 17%(5*3) >>> 3*(17%5) >>> (((2+3-4)*6)/2)**3%2
ACTIVITAT 1.2: Primers tipus de dades: enters(sense decimal) i reals(amb coma flotant)
Enters:
>>> 45 >>> -27
Reals:
>>> 5.25 >>> -8.1
Es poden fer operacions que involucrin els dos tipus i el resultat sempre serà del tipus més general (real).
>>> 45 + 5.25 >>> -27 + 5.25
Compte! Amb les divisions de tipus enter, obtindrem un número real (amb python 2 NO!):
>>> 6 / 3 >>> 7 / 3
però si el que volem és la divisió sencera, aleshores utilitzarem el mètode int():
>>> int(6/3) >>> int(7/3)
ACTIVITAT 1.3: Els operador lógics i de comparació
Un altre tipus de dada: els valors lògics (True o 1, False o 0).
Operadors lògics principals:
- operador de conjunció: and (i lògic).
True si i només si totes les parts són certes.
>>>True and True
Si alguna part és falsa el resultat és Fals.
>>>False and True
- operador de disjunció: or (o lògic)
Si una de les parts és certa el resultat serà cert.
>>>True or False
El resultat és fals només si les dos parts són falses.
>>>False and False
- operador de negació: not (no lògic)
El resultat és el valor lògic oposat
>>>not True >>>not False
Es pot tenir més d’una operació lògica amb una mateixa línia:
>>> True and False and True and True
En aquest cas phyton o resoldrà per l’esquerra:
1r True and False and True and True (True and False → False) False and True and True 2n False and True and True (False and True → False) False and True 3r False and True (False and True → False) False
Es poden tenir operadors lògics diferents amb una mateixa línia:
>>> True and False or not False
En aquest python utilitza una taula de precedència:
1r la negació: True and False or not False (not False → True) True and False or True 2n les conjuncions: True and False or True (True and False → False) False or True 3r les disjuncions: False or True (False or True → False) True
Operadors de comparació: - Igual a
>>> True == False
- Diferent a
>>> True != False
- Major a
>>> 9 > 4
- Menor que
>>> 4 < 5
- Major o igual que
>>> 10 >= 56
- Menor o igual que
>>> 45 <= 45
ACTIVITAT 1.4: Les variables i les assignacions
- Els resultats calculats anteriorment es mostren per pantalla però no es guarden enlloc.
- Les variables s’utilitzen per emmagatzemar dades per a la seva posterior utilització.
- Els programes poden guardar el resultat d'una operació en memòria, utilitzant variables.
- El valor emmagatzemat en una variable es pot canviar a voluntat dins del programa tants cops com calgui: es variable.
- Per distingir una variable de l'altra li posem nom. Per exemple: dni, hora, lloc, ... (es convenient utilitzar noms que ens recordin el que hi ha dins)
- Assignació d’un valor a una variable (primer escollir el nom).
>>> x = 456 (‘=’ operador d’assignació)
- Quan fem enter python emmagatzema la variable x i el seu valor en la memòria.
- Per veure el valor de la variable, només cal escriure-le i prèmer enter.
>>> x
- Canvi del valor de la variable:
>>> x = 788 (després de prèmer enter el valor de la variable x canvía) >>> x
- Compte! No confondre l’assignació amb la comparació.
>>> x = 50 (assignació) >>> x == 79 (comparació)
- Compte! Noms de les variables:
>>> Alçada576 (paraula seguida de números) >>> Alçada_576 (‘_’ es pot fer servir com a separador) >>> 45_alfa (no es pot començar el nom per un número) >>> Gravetat = 9.8 (es poden utilitzar majúscules)
- Compte! No es pot utilitzar com a nom de variables paraules reservades com if, while, repeat, ... ni paraules accentuades com àrea
- Compte! l'assignació d'una dada a una variable va SEMPRE de dreta a esquerra
- Les següents assignacions són incorrectes:
>>> 22 = edat >>> "Pepe" = nom
ACTIVITAT 1.5: Cadenes
Una cadena és una seqüència de caràcters entre cometes dobles (" ") o simples (' '). >>>"cases" >>>"0303456" Es poden emmagatzemar amb variables: >>>cadena_prova ="0303456" >>>cadena_prova '0303456' Operacions: - Suma (concatenació) >>>"cases" + " blaves" 'cases blaves' - Multiplicació (repetició) >>>"/*-" *5 '/*-/*-/*-/*-/*-'
No confondre la concatenació de cadenes amb la suma de nombres enters: >>> "25" + "25" '2525' >>> 25 + 25 50
- Comparacions:
--Iguals
>>> "abecedari" == "abella"
False
Python va comparant caràcter a caràcter i si no troba cap diferent és que són iguals.
--Diferents
>>> "hola" != "ola"
True
--Menor que
>>> "facultat" < "frase"
True
Python compara el codi ASCII de cada caràcter i quan troba el primer diferent en funció del codi decideix si és menor o no.
--Major que
>>> "hola" > "adeu"
True