Diferència entre revisions de la pàgina «ASIX-M3-UF1-A4.2- Solucions Exercicis llistes»

De wikiserver
Dreceres ràpides: navegació, cerca
(Pàgina blanquejada)
Línia 1: Línia 1:
 +
== A4.2 Exercicis Llistes ==
  
 +
1. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, la mostri per pantalla.
 +
<!---->
 +
<source lang = "python">
 +
print("Programa mòduls 1r d'ASIX")
 +
print("-------------------------")
 +
 +
# Constant
 +
MODULS = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]
 +
 +
# Recórrer la llista i mostrar cada mòdul
 +
for modul in MODULS :
 +
    print(modul)
 +
</source>
 +
 +
 +
2. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, demani la nota obtinguda de cada mòdul i ens digui quants mòduls ha aprovat, ha suspès o té convalidats.
 +
<!---->
 +
<source lang = "python">
 +
print("Programa mòduls aprovats, suspesos i convalidats de 1r d'ASIX \n")
 +
 +
# Constant
 +
MODULS = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]
 +
 +
# Inicialitzar variables
 +
aprovats = 0
 +
suspesos = 0
 +
convalidats = 0
 +
 +
# Recórrer la llista i demanar cada nota
 +
for modul in MODULS :
 +
    nota = input("Nota de %s: " %modul)
 +
    if nota == "convalidat":
 +
      convalidats += 1
 +
    elif int(nota) >= 5 :
 +
      aprovats += 1
 +
    else :
 +
      suspesos += 1
 +
 +
# Mostrar el resultat
 +
 +
print("Aprovats: ", aprovats)
 +
print("Suspesos: ", suspesos)
 +
print("convalidats: ", convalidats)
 +
</source>
 +
 +
 +
3. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, demani la nota obtinguda de cada mòdul i elimini de la llista els aprovats i convalidats i mostri els mòduls pendents d'aprovar.
 +
<!---->
 +
<source lang = "python">
 +
print("Programa mòduls pendents de 1r d'ASIX \n")
 +
 +
# Inicialitzar moduls
 +
moduls = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]
 +
 +
# Inicialitzar variables
 +
aprovats = []
 +
 +
# Recórrer la llista i demanar cada nota
 +
for modul in moduls :
 +
    nota = input("Nota de %s: " %modul)
 +
    if nota == "convalidat" or int(nota) >= 5 :
 +
      aprovats.append(modul)
 +
 +
# Treure els mòduls aprovats
 +
for modul in aprovats :
 +
    moduls.remove(modul)
 +
 +
# Mostrar els mòduls pendents
 +
print("Mòduls pendents: "+ str(moduls))
 +
</source>
 +
 +
 +
4. Feu un programa que donades dues llistes inicialitzades amb els valors [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1], posi a una tercera llista, per a cada posició, la suma dels elements de les altres llistes.
 +
<!---->
 +
<source lang = "python">
 +
# Inicialitzar les llistes
 +
llista1 = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]
 +
llista2 = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]
 +
 +
# Declarar la llista resultat
 +
resultat = []
 +
 +
# Recórrer les llistes
 +
for i in range(len(llista1)):
 +
 +
    # suma de cada posició de les dues llistes
 +
    resultat.append(llista1[i] + llista2[i])
 +
 +
# Mostrar la llista amb el resultat
 +
print(resultat)
 +
</source>
 +
 +
 +
5. Fes un programa que donada una llista de números ja inicialitzada, la recorri amb un for i quan surti del for imprimeixi el valor més petit de la taula.
 +
<!---->
 +
<source lang = "python">
 +
# Inicialitzar la llista
 +
llista_num = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]
 +
 +
# Inicialitzar més petit
 +
mesPetit = llista_num[0]
 +
 +
# Recórrer la llista
 +
for numActual in llista_num :
 +
 +
    # En cas que el número actual sigui més petit s'actualtiza mesPetit
 +
    if numActual < mesPetit :
 +
      mesPetit = numActual
 +
 +
# Mostrar la llista amb el resultat
 +
print("Número més petit de la llista:", mesPetit)
 +
</source>
 +
 +
 +
6. Fes un programa que donada una llista de números ja inicialitzada, imprimeixi per pantalla els valors en ordre invers.
 +
<!---->
 +
<source lang = "python">
 +
# Inicialitzar la llista
 +
llista_num = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]
 +
 +
# Recórrer la llista en ordre invers
 +
for num in reversed(llista_num) :
 +
   
 +
    # Mostrar el número de la posició índex
 +
    print(num, end= "  ")
 +
</source>
 +
 +
 +
7. Fes un programa que faci una rotació cap a l’esquerra o cap a la dreta (segons ens indiqui l’usuari) de tots els elements de una llista (en rotació esquerra l’element que està a la primera posició passarà a l’ultima i en rotació dreta l’element que està l’últim passarà a la primera posició).
 +
<!---->
 +
<source lang = "python">
 +
# Inicialitzar la llista
 +
llista_num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
 +
 +
# Inicialitzar sentit rotació
 +
rotacio = input("Rotació esquerra o dreta? ")
 +
 +
if rotacio == "esquerra" :
 +
 +
# Rotació esquerra
 +
  aux = llista_num[0]
 +
  for index in range(len(llista_num)-1) :
 +
      llista_num[index] = llista_num[index +1]
 +
  llista_num[len(llista_num)-1] = aux
 +
  print(llista_num)
 +
 +
elif rotacio == "dreta" :
 +
 +
# Rotació dreta
 +
  aux = llista_num[len(llista_num)-1]
 +
  for index in range(len(llista_num)-1, 0, -1) :
 +
      llista_num[index] = llista_num[index-1]
 +
  llista_num[0] = aux
 +
  print(llista_num)
 +
 +
else :
 +
# Opció incorrecte
 +
  print("Opció incorrecte: opcions vàlides són esquerra o dreta")
 +
</source>
 +
 +
 +
8. Feu un programa anomenat '''ParaulesSenars''' que llegeixi una frase escrita en una sola línia des del teclat i tot seguit escrigui les paraules que hi ha en posició senar (la primera, la tercera, etc.). Per exemple, si s'escriu “Hi havia una vegada un lloc...”, es mostrarà “Hi una un”.
 +
<!---->
 +
<source lang = "python">
 +
print("Programa paraules senars d'una frase")
 +
 +
# Inicialitzar variables
 +
frase = input("Introdueix una frase: ")
 +
index = 0
 +
 +
# Obtenir llista de paraules
 +
paraules = frase.split(' ')
 +
 +
# Recórrer la llista i mostrar les paraules senars
 +
while index < len(paraules) :
 +
    # Mostrar la paraula
 +
    print(paraules[index])
 +
    # Paraula següent
 +
    index +=2
 +
 +
# Amb for ...
 +
'''
 +
for index in range(0, len(paraules), 2):
 +
    print(paraules[index])
 +
'''
 +
</source>

Revisió del 19:15, 4 maig 2023

A4.2 Exercicis Llistes

1. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, la mostri per pantalla.

print("Programa mòduls 1r d'ASIX")
print("-------------------------")

# Constant
MODULS = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]

# Recórrer la llista i mostrar cada mòdul
for modul in MODULS :
    print(modul)


2. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, demani la nota obtinguda de cada mòdul i ens digui quants mòduls ha aprovat, ha suspès o té convalidats.

print("Programa mòduls aprovats, suspesos i convalidats de 1r d'ASIX \n")

# Constant
MODULS = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]

# Inicialitzar variables
aprovats = 0
suspesos = 0
convalidats = 0

# Recórrer la llista i demanar cada nota
for modul in MODULS :
    nota = input("Nota de %s: " %modul)
    if nota == "convalidat":
       convalidats += 1
    elif int(nota) >= 5 :
       aprovats += 1
    else :
       suspesos += 1

# Mostrar el resultat

print("Aprovats: ", aprovats)
print("Suspesos: ", suspesos)
print("convalidats: ", convalidats)


3. Fes un programa que emmagatzemi els mòduls de primer d'ASIX ("Implantació de sistemes operatius", "Gestió de bases de dades", "Programació bàsica" ...) en una llista i a continuació, demani la nota obtinguda de cada mòdul i elimini de la llista els aprovats i convalidats i mostri els mòduls pendents d'aprovar.

print("Programa mòduls pendents de 1r d'ASIX \n")

# Inicialitzar moduls
moduls = ["Sistemes operatius", "Gestió de bases de dades", "Programació bàsica", "Llenguatge de marques", "Fonaments de maquinari", "Planificació i administració de xarxes", "Implantació d'aplicacions web", "Formació i orientació laboral"]

# Inicialitzar variables
aprovats = []

# Recórrer la llista i demanar cada nota
for modul in moduls :
    nota = input("Nota de %s: " %modul)
    if nota == "convalidat" or int(nota) >= 5 :
       aprovats.append(modul)

# Treure els mòduls aprovats
for modul in aprovats :
    moduls.remove(modul)

# Mostrar els mòduls pendents
print("Mòduls pendents: "+ str(moduls))


4. Feu un programa que donades dues llistes inicialitzades amb els valors [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1], posi a una tercera llista, per a cada posició, la suma dels elements de les altres llistes.

# Inicialitzar les llistes
llista1 = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]
llista2 = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]

# Declarar la llista resultat
resultat = []

# Recórrer les llistes
for i in range(len(llista1)):

    # suma de cada posició de les dues llistes
    resultat.append(llista1[i] + llista2[i])

# Mostrar la llista amb el resultat
print(resultat)


5. Fes un programa que donada una llista de números ja inicialitzada, la recorri amb un for i quan surti del for imprimeixi el valor més petit de la taula.

# Inicialitzar la llista
llista_num = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]

# Inicialitzar més petit
mesPetit = llista_num[0]

# Recórrer la llista
for numActual in llista_num :

    # En cas que el número actual sigui més petit s'actualtiza mesPetit 
    if numActual < mesPetit :
       mesPetit = numActual

# Mostrar la llista amb el resultat
print("Número més petit de la llista:", mesPetit)


6. Fes un programa que donada una llista de números ja inicialitzada, imprimeixi per pantalla els valors en ordre invers.

# Inicialitzar la llista
llista_num = [-3, 5, 1, -4, 8, 20, -9, 2, 11, -1]

# Recórrer la llista en ordre invers
for num in reversed(llista_num) :
     
    # Mostrar el número de la posició índex
    print(num, end= "  ")


7. Fes un programa que faci una rotació cap a l’esquerra o cap a la dreta (segons ens indiqui l’usuari) de tots els elements de una llista (en rotació esquerra l’element que està a la primera posició passarà a l’ultima i en rotació dreta l’element que està l’últim passarà a la primera posició).

# Inicialitzar la llista
llista_num = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Inicialitzar sentit rotació
rotacio = input("Rotació esquerra o dreta? ")

if rotacio == "esquerra" :

# Rotació esquerra
   aux = llista_num[0]
   for index in range(len(llista_num)-1) :
       llista_num[index] = llista_num[index +1]
   llista_num[len(llista_num)-1] = aux
   print(llista_num)

elif rotacio == "dreta" :

# Rotació dreta
   aux = llista_num[len(llista_num)-1]
   for index in range(len(llista_num)-1, 0, -1) :
       llista_num[index] = llista_num[index-1]
   llista_num[0] = aux
   print(llista_num)

else :
# Opció incorrecte
   print("Opció incorrecte: opcions vàlides són esquerra o dreta")


8. Feu un programa anomenat ParaulesSenars que llegeixi una frase escrita en una sola línia des del teclat i tot seguit escrigui les paraules que hi ha en posició senar (la primera, la tercera, etc.). Per exemple, si s'escriu “Hi havia una vegada un lloc...”, es mostrarà “Hi una un”.

print("Programa paraules senars d'una frase")

# Inicialitzar variables
frase = input("Introdueix una frase: ")
index = 0

# Obtenir llista de paraules
paraules = frase.split(' ')

# Recórrer la llista i mostrar les paraules senars
while index < len(paraules) :
     # Mostrar la paraula
     print(paraules[index])
     # Paraula següent
     index +=2

# Amb for ...
'''
for index in range(0, len(paraules), 2):
    print(paraules[index])
'''