Diferència entre revisions de la pàgina «ASIX/M03/UF3/A01»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb « {| style="border-spacing:0;width:17.198cm;" |- style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:none;border-right:non...».)
 
m
 
(Hi ha 8 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 +
[[Category:M03]]
 +
{{titol|PT1. Llibreries}}
 +
{{capcalera|Guillem Solà i Boeck|22}}
 +
==Ex1. Implementa l'exemple 1 de la teoria i executa'l==
 +
===fibonacci.py===
 +
<source lang='python'>
 +
def fib(n):
 +
#imprimeix per pantalla la sèrie fibonacci fins al terme "n"
 +
    a, b = 0, 1
 +
    while b < n:
 +
        print(b, end=' ')
 +
        a, b = b, a+b
 +
    print()
  
{| style="border-spacing:0;width:17.198cm;"
 
|- style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:none;border-right:none;padding:0.097cm;"
 
| colspan="2" | '''MÒDUL 3 – Programació bàsica'''
 
|- style="background-color:#b3b3b3;border-top:none;border-bottom:0.5pt solid #000000;border-left:none;border-right:none;padding:0.097cm;"
 
|| '''UNITAT FORMATIVA 2'''
 
  
Disseny Modular
+
def fib2(n):
|| '''ACTIVITAT 1 '''
+
#Retorna la sèrie Fibonacci fins al terme "n"
 +
    result = []
 +
    a, b = 0, 1
 +
    while b < n:
 +
        result.append(b)
 +
        a, b = b, a+b
 +
    return result
 +
</source>
  
Llibreries
+
===exercici1.py===
|- style="background-color:#ffffff;border-top:none;border-bottom:1pt solid #000000;border-left:none;border-right:none;padding-top:0.199cm;padding-bottom:0.199cm;padding-left:0.101cm;padding-right:0.101cm;"
+
<source lang='python'>
| colspan="2" | '''Pràctica 1: Llibreries'''
+
#importo la llibreria creada
|- style="background-color:transparent;border:none;padding:0cm;"
+
import fibonacci
| colspan="2" |
 
  
 +
#crido la funció ''fib'' amb paràmetre 1000
 +
fibonacci.fib(1000)
  
{| style="border-spacing:0;margin:auto;width:17.198cm;"
+
#imprimeixo el resultat de la funció ''fib2'' amb paràmetre 1000
|-
+
print(fibonacci.fib2(1000))
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''01'''
 
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;color:#000000;" | '''Implementa l’exemple 1 de la teoria i executa’l.'''
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#0000ff;" |
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|-
 
|}
 
  
|-
+
#imprimeixo el resultat del mètode ''__name__'' de la llibreria (retorna el nom d'aquesta)
|}
+
print(fibonacci.__name__)
 +
</source>
  
 +
==Ex2. Busca per Internet 5 llibreries de python3 que puguin ser útils per a tu==
 +
===math===
 +
Afegeix funcionalitat amb operacions matemàtiques més complexes; encara que la llibreria cmath està preparada per a operacions més complexes.
 +
[https://docs.python.org/2/library/math.html Pàgina web]
  
 +
===os===
 +
Ofereix una interfície per interactuar amb el sistema operatiu ja sigui amb comandes de terminal o altres funcions.
 +
[https://docs.python.org/2/library/os.html Pàgina web]
  
{| style="border-spacing:0;margin:auto;width:17.201cm;"
+
===random===
|-
+
Funcions relacionades amb generadors de números pseudo-aleatoris, escollir ítems aleatoris de llistes, etc.
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''02'''
+
[https://docs.python.org/2/library/random.html Pàgina web]
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;color:#000000;" | '''Busca per internet 5 llibreries de python3 que pugin ser útils per tu.'''
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#0000ff;" |
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|-
 
|}
 
  
 +
===sys===
 +
Permet accedir a variables del propi entorn Python
 +
[https://docs.python.org/3.6/library/sys.html Pàgina web]
  
 +
===datetime===
 +
Incorpora classes per a treballar amb formats de data i hora. Pot servir per a formatar variables com a dates i/o hores.
 +
[https://docs.python.org/3.6/library/datetime.html#module-datetime | Pàgina web]
  
{| style="border-spacing:0;margin:auto;width:17.201cm;"
+
==Ex3. On podries trobar les llibreries de python al teu sistema. Utilitza la llibreria sys i la variable sys.path==
|-
+
Per defecte, les llibreries es troben a <code>/usr/lib/pythonx.y</code> (en funció de la versió) i <code>/usr/lib64/pythonx.y</code> per a les llibreries de 64 bits
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''03'''
 
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;" | <div style="color:#000000;">'''On podries trobar les teves llibreries de python al teu sistema.'''</div>
 
  
<div style="color:#000000;">'''Utilitza la llibreria sys i la variable sys.path'''</div>
+
==Ex4. Realitzar un programa amb el següent menú==
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
+
            SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA
| colspan="2" style="color:#0000ff;" |
+
************************************************************************
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
+
  ************ MENÚ ************
| colspan="2" style="color:#006600;" |
+
1. eina PING
|-
+
2. eina TRACERT
|}
+
3. eina HOSTNAME
 +
4. eina IFCONFIG
 +
  5. eina DNS
 +
6. eina GATEWAY
  
 +
Per a poder realitzar el programa necessitarem la llibreria OS. No cal utilitzar funcions per a aquest programa
  
 +
===exercici4.py===
 +
<source lang='python'>
 +
import os
  
{| style="border-spacing:0;margin:auto;width:17.201cm;"
+
opcio=0
|-
+
while opcio!=7:
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''04'''
 
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;" | <div style="color:#000000;">'''Realitzar un programa amb el següent menú:'''</div>
 
  
 +
    print("SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA")
 +
    print("*************************************************")
 +
    print("\nMENÚ")
 +
    print("****")
 +
    print("1. Eina PING")
 +
    print("2. Eina TRACERT")
 +
    print("3. Eina HOSTNAME")
 +
    print("4. Eina IFCONFIG")
 +
    print("5. Eina DNS")
 +
    print("6. Eina GATEWAY")
 +
    print("7. Sortir")
  
<div style="color:#000000;">'''SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA'''</div>
+
    opcio=eval(input("Tria una eina: "))
 +
    if opcio==1:
 +
        print("Faré 4 pings a www.google.com")
 +
        os.system("ping -c 4 www.google.com")
 +
    elif opcio==2:
 +
        print("Faré un traceroute a www.google.com")
 +
        os.system("traceroute www.google.com")
 +
    elif opcio==3:
 +
        print("El nom de host d'aquest sistema és")
 +
        os.system("hostname")
 +
    elif opcio==4:
 +
        print("Resultat de la comanda ifconfig:")
 +
        os.system("ifconfig -a")
 +
    elif opcio==5:
 +
        print("L'adreça IP de google.com és")
 +
        os.system("host google.com")
 +
    elif opcio==6:
 +
        os.system("ping -c 4 gateway")
 +
    elif opcio==7:
 +
        print("Fins aviat")
 +
    else:
 +
        print("opció incorrecta")
 +
</source>
  
<div style="color:#000000;">'''<nowiki>************************************************************************</nowiki>'''</div>
+
==Ex5. Fent servir la llibreria datetime realitza l’exercici següent==
 +
Hora i dia actual: 2018-05-02 13:04:21.221194
 +
Hora i dia actual amb format:  18-05-02-13-04
 +
Any Actual:  2018
 +
Mes actual:  May
 +
Setmana de l'any:  18
 +
Dia de la setmana en número:  3
 +
Dia de l'any:  122
 +
Dia del mes:  02
 +
Dia de la setmana:  Wednesday
  
<div style="color:#000000;">'''<nowiki>************ </nowiki>MENÚ ************'''</div>
+
No cal utilitzar funcions per aquest programa.
 +
Per poder donar-li el format desitjat a datetime, hauràs de fer servir [https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior strtime]
  
<div style="color:#000000;">'''1. eina PING'''</div>
+
Exemple:
 +
<code>datetime.date.today().strftime("%c"))</code>
  
<div style="color:#000000;">'''2. eina TRACERT'''</div>
+
===exercici5.py===
 +
<source lang='python'>
 +
import time
  
<div style="color:#000000;">'''3. eina HOSTNAME'''</div>
+
print("Hora i dia actual: %s" % time.strftime("%Y-%m-%d %H:%M:%S.%f"))
 
+
print("Hora i dia actual amb format: %s" % time.strftime("%y-%m-%d-%H-%M"))
<div style="color:#000000;">'''4. eina IFCONFIG'''</div>
+
print("Any actual: %s" % time.strftime("%Y"))
 
+
print("Mes actual: %s" % time.strftime("%b"))
<div style="color:#000000;">'''5. eina DNS'''</div>
+
print("Setmana de l'any: %s" % time.strftime("%W"))
 
+
print("Dia de la setmana en número: %s" % time.strftime("%w"))
<div style="color:#000000;">'''6. eina GATEWAY'''</div>
+
print("Dia de l'any: %s" % time.strftime("%j"))
 
+
print("Dia del mes: %s" % time.strftime("%d"))
 
+
print("Dia de la setmana: %s" % time.strftime("%a"))
<div style="color:#000000;"></div>
+
</source>
 
 
<div style="color:#000000;">'''Per poder realitzar el programa necessitarem la llibreria OS.'''</div>
 
 
 
<div style="color:#000000;">'''No cal utilitzar funcions per aquest programa.'''</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#0000ff;" |
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|-
 
|}
 
 
 
 
 
 
 
{| style="border-spacing:0;margin:auto;width:17.201cm;"
 
|-
 
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''05'''
 
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;" | <div style="color:#000000;">'''Fent servir la llibreria datetime realitza l’exercici següent:'''</div>
 
 
 
<div style="color:#000000;">'''No cal utilitzar funcions per aquest programa.'''</div>
 
 
 
<div style="color:#000000;">'''Per poder donar-li el format desitjat a datetiem, hauràs de fer servir strtime:'''</div>
 
 
 
<div style="color:#000000;">[https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior]</div>
 
 
 
<div style="color:#000000;">'''Exemple:'''</div>
 
 
 
<div style="color:#000000;">'''datetime.date.today().strftime("%c"))'''</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2" | <div style="color:#0000ff;">Hora i dia actual: 2018-05-02 13:04:21.221194</div>
 
 
 
<div style="color:#0000ff;">Hora i dia actual amb format: 18-05-02-13-04</div>
 
 
 
<div style="color:#0000ff;">Any Actual: 2018</div>
 
 
 
<div style="color:#0000ff;">Mes actual: May</div>
 
 
 
<div style="color:#0000ff;">Setmana de l'any: 18</div>
 
 
 
<div style="color:#0000ff;">Dia de la setmana en número: 3</div>
 
 
 
<div style="color:#0000ff;">Dia de l'any: 122</div>
 
 
 
<div style="color:#0000ff;">Dia del mes: 02</div>
 
 
 
<div style="color:#0000ff;">Dia de la setmana: Wednesday</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|-
 
|}
 
 
 
 
 
 
 
 
 
 
 
{| style="border-spacing:0;margin:auto;width:17.201cm;"
 
|-
 
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''06'''
 
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;" | <div style="color:#000000;">'''Implementa una llibreria pròpia per a calcular els números primers que hi ha des de l’1 a un número donat per l’usuari.'''</div>
 
 
 
<div style="color:#000000;">'''Crea una funció que generi números de l’1 al número donat, comprovi si és primer i en cas afirmatiu, l’imprimeixi per pantalla'''</div>
 
 
 
<div style="color:#000000;">'''Crea una segona funció anomenada es_primer amb paràmetre d’entrada un número i de sortida si és primer o no. Aquesta funció anirà dividint el número donat entre 2, 3, 4, ... fins al número donat, si el residu és 0 és que no és primer, si cap residu és 0, és que és primer.'''</div>
 
 
 
 
 
<div style="color:#000000;">'''Desprès crea un programa que importi aquesta llibreria, demani el número a l’usuari i mostri els primers que hi ha entre 1 i el número donat.'''</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2" | <div style="color:#ff0000;">Sortida:</div>
 
 
 
 
 
<div style="color:#280099;"><nowiki>*********************</nowiki></div>
 
 
 
<div style="color:#280099;">Aquest programa demanarà números i et donarà els números primers que hi ha des de l’1 al número donat</div>
 
 
 
<div style="color:#280099;"><nowiki>*********************</nowiki></div>
 
 
 
<div style="color:#280099;">Dóna'm un número natural: 9</div>
 
 
 
 
 
<div style="color:#280099;">Nombre primer: 1</div>
 
 
 
<div style="color:#280099;">Nombre primer: 2</div>
 
 
 
<div style="color:#280099;">Nombre primer: 3</div>
 
 
 
<div style="color:#280099;">Nombre primer: 5</div>
 
 
 
<div style="color:#280099;">Nombre primer: 7</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|-
 
|}
 
 
 
 
 
 
 
 
 
 
 
{| style="border-spacing:0;margin:auto;width:17.201cm;"
 
|-
 
| align=center style="background-color:#e6e6e6;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;color:#000000;" | '''07'''
 
| style="background-color:#e6e6e6;border:0.05pt solid #000000;padding:0.097cm;" | <div style="color:#000000;">'''Amb la llibreria Math implementa la següent fórmula:'''</div>
 
 
 
<div style="color:#000000;">[[Image:Imatge1.png]]'''Recorda que una equació d’aquest tipus te dos possibles solucions.'''</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2" | <div style="color:#ff0000;">Sortida:</div>
 
 
 
<div style="color:#280099;">Anem a resoldre una equació de segon grau</div>
 
 
 
<div style="color:#280099;">a*X**2+b*X+c=0</div>
 
 
 
<div style="color:#280099;">Introdueix la incògnita a: 1</div>
 
 
 
<div style="color:#280099;">Introdueix la incògnita b: -5</div>
 
 
 
<div style="color:#280099;">Introdueix la incògnita c: 6</div>
 
 
 
<div style="color:#280099;">Els possibles resultats són: 3.00 i 2.00</div>
 
|- style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"
 
| colspan="2"  style="color:#006600;" |
 
|-
 
|}
 

Revisió de 14:12, 16 abr 2020


Guillem Solà i Boeck (host A10BPC22)

Ex1. Implementa l'exemple 1 de la teoria i executa'l

fibonacci.py

def fib(n):
#imprimeix per pantalla la sèrie fibonacci fins al terme "n" 
    a, b = 0, 1
    while b < n:
        print(b, end=' ')
        a, b = b, a+b
    print()


def fib2(n):
#Retorna la sèrie Fibonacci fins al terme "n"
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result

exercici1.py

#importo la llibreria creada
import fibonacci

#crido la funció ''fib'' amb paràmetre 1000
fibonacci.fib(1000)

#imprimeixo el resultat de la funció ''fib2'' amb paràmetre 1000
print(fibonacci.fib2(1000))

#imprimeixo el resultat del mètode ''__name__'' de la llibreria (retorna el nom d'aquesta)
print(fibonacci.__name__)

Ex2. Busca per Internet 5 llibreries de python3 que puguin ser útils per a tu

math

Afegeix funcionalitat amb operacions matemàtiques més complexes; encara que la llibreria cmath està preparada per a operacions més complexes. Pàgina web

os

Ofereix una interfície per interactuar amb el sistema operatiu ja sigui amb comandes de terminal o altres funcions. Pàgina web

random

Funcions relacionades amb generadors de números pseudo-aleatoris, escollir ítems aleatoris de llistes, etc. Pàgina web

sys

Permet accedir a variables del propi entorn Python Pàgina web

datetime

Incorpora classes per a treballar amb formats de data i hora. Pot servir per a formatar variables com a dates i/o hores. | Pàgina web

Ex3. On podries trobar les llibreries de python al teu sistema. Utilitza la llibreria sys i la variable sys.path

Per defecte, les llibreries es troben a /usr/lib/pythonx.y (en funció de la versió) i /usr/lib64/pythonx.y per a les llibreries de 64 bits

Ex4. Realitzar un programa amb el següent menú

            SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA
************************************************************************
************ MENÚ ************
1. eina PING
2. eina TRACERT
3. eina HOSTNAME
4. eina IFCONFIG
5. eina DNS
6. eina GATEWAY

Per a poder realitzar el programa necessitarem la llibreria OS. No cal utilitzar funcions per a aquest programa

exercici4.py

import os

opcio=0
while opcio!=7:

    print("SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA")
    print("*************************************************")
    print("\nMENÚ")
    print("****")
    print("1. Eina PING")
    print("2. Eina TRACERT")
    print("3. Eina HOSTNAME")
    print("4. Eina IFCONFIG")
    print("5. Eina DNS")
    print("6. Eina GATEWAY")
    print("7. Sortir")

    opcio=eval(input("Tria una eina: "))
    if opcio==1:
        print("Faré 4 pings a www.google.com")
        os.system("ping -c 4 www.google.com")
    elif opcio==2:
        print("Faré un traceroute a www.google.com")
        os.system("traceroute www.google.com")
    elif opcio==3:
        print("El nom de host d'aquest sistema és")
        os.system("hostname")
    elif opcio==4:
        print("Resultat de la comanda ifconfig:")
        os.system("ifconfig -a")
    elif opcio==5:
        print("L'adreça IP de google.com és")
        os.system("host google.com")
    elif opcio==6:
        os.system("ping -c 4 gateway")
    elif opcio==7:
        print("Fins aviat")
    else:
        print("opció incorrecta")

Ex5. Fent servir la llibreria datetime realitza l’exercici següent

Hora i dia actual:  2018-05-02 13:04:21.221194
Hora i dia actual amb format:  18-05-02-13-04
Any Actual:  2018
Mes actual:  May
Setmana de l'any:  18
Dia de la setmana en número:  3
Dia de l'any:  122
Dia del mes:  02
Dia de la setmana:  Wednesday

No cal utilitzar funcions per aquest programa. Per poder donar-li el format desitjat a datetime, hauràs de fer servir strtime

Exemple: datetime.date.today().strftime("%c"))

exercici5.py

import time

print("Hora i dia actual: %s" % time.strftime("%Y-%m-%d %H:%M:%S.%f"))
print("Hora i dia actual amb format: %s" % time.strftime("%y-%m-%d-%H-%M"))
print("Any actual: %s" % time.strftime("%Y"))
print("Mes actual: %s" % time.strftime("%b"))
print("Setmana de l'any: %s" % time.strftime("%W"))
print("Dia de la setmana en número: %s" % time.strftime("%w"))
print("Dia de l'any: %s" % time.strftime("%j"))
print("Dia del mes: %s" % time.strftime("%d"))
print("Dia de la setmana: %s" % time.strftime("%a"))