Diferència entre revisions de la pàgina «ASIX-M3-UF1-A2.4-Solucions Exercicis estructura iterativa: for»

De wikiserver
Dreceres ràpides: navegació, cerca
(Pàgina blanquejada)
Línia 1: Línia 1:
== A2.4 Exercicis estructura iterativa ==
 
  
1. Imprimir els números del 1 al 100.
 
 
<source lang="python">
 
print("Imprimir els números del 1 al 100")
 
 
for i in range(1,101):
 
  print(i ,end= " ")
 
</source>
 
 
 
2. Imprimir els números parells del 0 al 98.
 
<!---->
 
<source lang="python">
 
print("Imprimir els números parells del 0 al 98")
 
 
for i in range(0,100,2):
 
  print(i ,end= " ")
 
</source>
 
 
 
3. Imprimir els números del 100 al 1.
 
<!---->
 
 
<source lang="python">
 
print("Imprimir els números del 100 al 1")
 
 
for i in range(100,0,-1):
 
  print(i ,end= " ")
 
</source>
 
 
4. Demanar cinc números i mostrar la suma.
 
<!---->
 
<source lang="python">
 
print("Demanar cinc números i mostrar la suma")
 
 
suma = 0
 
for _ in range(5):       
 
  valor = int(input("Introdueix un valor: "))
 
  suma += valor
 
print("La suma és: %d" %suma)
 
</source>
 
 
 
5. Igual que l'anterior però només sumant els valors més grans de 10.
 
<!---->
 
<source lang="python">
 
print("Demanar cinc números i sumar els valors que siguin més grans de 10")
 
 
suma = 0
 
for _ in range(5):       
 
  valor = int(input("Introdueix un valor: "))
 
  if valor > 10:
 
    suma += valor
 
print("La suma és: %d" %suma)
 
</source>
 
 
 
6. Calcular el producte dels números del 1 al 10.
 
<!---->
 
<source lang="python">
 
print("Calcular el producte dels números del 1 al 10")
 
 
mult =1
 
for i in range(1,11):
 
    mult=mult*i
 
print("EL resultat és: ", mult)
 
</source>
 
 
 
7. Demanar cinc números enters positius i mostrar el valor més gran.
 
<!---->
 
<source lang="python">
 
print("Demanar cinc números enters positius i mostrar el valor més gran")
 
 
max = 0
 
for _ in range(5):
 
  num = int(input("Introdueix un enter positiu: "))         
 
  if num > max:
 
    max = num
 
print("El màxim és: ", max)
 
</source>
 
 
 
8. Fer un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:
 
<pre>
 
    * * * * *
 
    * * * * *
 
    * * * * *
 
    * * * * *
 
    * * * * *
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Quadrat n x n d'asteriscos")
 
 
num = int(input("Introdueix número d'asteriscos: "))
 
for _ in range(num):
 
  print("* "*num)
 
</source>
 
 
 
9. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:
 
<pre>
 
    * * * * *
 
    *      *
 
    *      *
 
    *      *
 
    * * * * *
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Quadrat n x n d'asteriscos buit")
 
 
num = int(input("Introdueix número d'asteriscos: "))
 
for i in range(1, num+1):
 
  if (i == 1 or i == num):
 
    print("* "*num)
 
  else:
 
    print("* ",end='')
 
    print("  "*(num-2), end='')
 
    print("*")
 
</source>
 
 
 
10. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
    *
 
    * *
 
    * * *
 
    * * * *
 
    * * * * *
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb asteriscos de num línies")
 
 
num = int(input("Introdueix el número de línies: "))
 
for i in range(1, num+1):
 
  print("* "*i)
 
</source>
 
 
 
11. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
    * * * * *
 
    * * * *
 
    * * *
 
    * *
 
    *
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb asteriscos de num línies")
 
 
num = int(input("Introdueix el número de línies: "))
 
for i in range(num, 0, -1):
 
  print("* "*i)
 
</source>
 
 
 
12. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
            *
 
          * *
 
        * * *
 
      * * * *
 
    * * * * *
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb asteriscos de num línies")
 
 
num = int(input("Introdueix el número de línies: "))
 
for i in range(1,num+1):
 
  print("  "*(num-i), end='')
 
  print("* "*i)
 
</source>
 
 
 
13. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
    * * * * *
 
      * * * *
 
        * * *
 
          * *
 
            *
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb asteriscos de num línies")
 
 
num = int(input("Introdueix el número de línies: "))
 
for i in range(num):
 
  print("  "*i, end='')
 
  print("* "*(num-i))
 
</source>
 
 
 
'''Bucles niuats'''
 
 
14. Escriu un programa que llegeixi un número num i mostri per pantalla el següent:
 
<pre><!---->
 
    Exemple num=5
 
    1
 
    1 2
 
    1 2 3
 
    1 2 3 4
 
    1 2 3 4 5
 
</pre>
 
 
<source lang="python">
 
print("Dibuix amb números consecutius")
 
 
num = int(input("Introdueix un número enter positiu: "))
 
for i in range(1,num+1):
 
  for j in range(1,i+1):
 
      print(j, end='')
 
  print("")
 
</source>
 
 
 
15. Escriu un programa que llegeixi un número i mostri per pantalla el següent:
 
<pre>
 
    Exemple num=5
 
 
    5 4 3 2 1
 
    4 3 2 1
 
    3 2 1
 
    2 1
 
    1
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb números consecutius")
 
 
num = int(input("Introdueix un número enter positiu: "))
 
for i in range(num,0,-1):
 
  for j in range(i,0,-1):
 
      print(j, end='')
 
  print("")
 
</source>
 
 
 
16. Escriu un programa que llegeixi un número i mostri per pantalla el següent:
 
<pre>
 
    Exemple num=5
 
 
            1
 
          2 1
 
        3 2 1
 
      4 3 2 1
 
    5 4 3 2 1
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb números consecutius decreixents")
 
 
num = int(input("Introdueix un número enter positiu: "))
 
for i in range(1,num+1):
 
  for j in range(1,num-i+1):
 
    print(" ", end='')
 
  for j in range(i,0,-1):
 
    print(j, end='')
 
  print("")
 
</source>
 
 
 
17. Escriu un programa que llegeixi un número imparell i mostri per pantalla el següent:
 
<pre>
 
    Exemple num=9
 
 
    1
 
    3 1
 
    5 3 1
 
    7 5 3 1
 
    9 7 5 3 1
 
</pre>
 
<!---->
 
<source lang="python">
 
print("Dibuix amb números consecutius decreixents")
 
 
num = int(input("Introdueix un número enter imparell positiu: "))
 
for i in range(1, num+1, 2):
 
    for j in range(i, 0, -2):
 
        print(j, end=" ")
 
    print("")
 
</source>
 
 
 
18. Escriu un programa que llegeixi un número enter més gran que 0 i mostri el factorial de tots els números entre 1 i el número introduït.
 
<pre>
 
    Exemple num = 4
 
 
    1! = 1
 
    2! = 2 * 1 = 2
 
    3! = 3 * 2 * 1 = 6
 
    4! = 4 * 3 * 2 * 1 = 24
 
</pre>
 
 
<!---->
 
<source lang = "python">
 
print("Cálcul del factorial d'un número")
 
 
# Introduim el número preparem la sortida.
 
num = int(input("Introduiex un número enter: "))
 
 
# Recòrrer tots els números des de l'1 fins el num
 
for numactual in range(1, num+1):
 
    print("%d! =" %numactual, end= " ")
 
 
# Inicialitzem la variable per calcular el factorial
 
    factorial = 1
 
 
# Tractament diferent del factorial de 1
 
    if numactual > 1:
 
 
# Càlcul del factorial del número numactual
 
      for n in range(numactual,0, -1):
 
 
          # Tractament diferent del cas 1
 
          if n == 1 :
 
              print("%d = " %n, end= " ")
 
          else :
 
              print("%d * " %n, end= " ")
 
 
          # Acumuelm el producte a cada iteració
 
          factorial *= n       
 
   
 
    # Escribim el resultat del factorial del númeor nuactual
 
    print(factorial)
 
</source>
 
 
 
19. Escriu un programa que mostri la següent sortida:
 
 
<pre>
 
ZYWXVUTSRQPONMLKJIHGFEDCBA
 
YWXVUTSRQPONMLKJIHGFEDCBA
 
WXVUTSRQPONMLKJIHGFEDCBA
 
XVUTSRQPONMLKJIHGFEDCBA
 
VUTSRQPONMLKJIHGFEDCBA
 
UTSRQPONMLKJIHGFEDCBA
 
TSRQPONMLKJIHGFEDCBA
 
SRQPONMLKJIHGFEDCBA
 
RQPONMLKJIHGFEDCBA
 
QPONMLKJIHGFEDCBA
 
PONMLKJIHGFEDCBA
 
ONMLKJIHGFEDCBA
 
NMLKJIHGFEDCBA
 
MLKJIHGFEDCBA
 
LKJIHGFEDCBA
 
KJIHGFEDCBA
 
JIHGFEDCBA
 
IHGFEDCBA
 
HGFEDCBA
 
GFEDCBA
 
FEDCBA
 
EDCBA
 
DCBA
 
CBA
 
BA
 
A
 
</pre>
 
<!---->
 
<source lang = "python">
 
print("Abecedari invers")
 
 
# Inicialitzem codi lletra final sempre la 'A'
 
codiFinal=ord('A')
 
 
# Codi lletra final varia en cada línia
 
for codiInicial in range(ord('Z'),ord('A')-1,-1):
 
 
    # Recorregut de tots els codis: codiInicial Fixe i codiFinal va variant...
 
    for codiLletra in range(codiInicial,codiFinal,-1):
 
        print(chr(codiLletra), end="")
 
 
    # Salt de línia
 
    print("")
 
</source>
 
 
20. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
    1 2 3 4 5
 
    1 2 3 4
 
    1 2 3
 
    1 2
 
    1
 
</pre>
 
<!---->
 
 
<source lang = "python">
 
print("Dibuix amb números consecutius")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(num, 0, -1):
 
    for j in range(1, i+1):
 
        print(j, end=" ")
 
    print("")
 
</source>
 
 
21. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
    1 1 1 1 1
 
    2 2 2 2
 
    3 3 3
 
    4 4
 
    5
 
</pre>
 
<!-- -->
 
<source lang = "python">
 
print("Dibuix amb números")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(1, num+1):
 
    for j in range(num, i-1, -1):
 
        print(i, end=" ")
 
    print("")
 
</source>
 
 
 
22. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
<pre>
 
    5 5 5 5 5
 
    4 4 4 4
 
    3 3 3
 
    2 2
 
    1
 
</pre>
 
<!-- -->
 
<source lang = "python">
 
print("Dibuix amb números")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(num, 0, -1):
 
    for j in range(1, i+1):
 
        print(i, end=" ")
 
    print("")
 
</source>
 
 
 
23. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)
 
<pre>
 
    1 1 1 1 1 1 1
 
    1 2 3 4 5 6
 
    3 3 3 3 3
 
    1 2 3 4
 
    5 5 5
 
    1 2
 
    7
 
</pre>
 
<!-- -->
 
Amb dos fors:
 
<source lang = "python">
 
print("Dibuix amb números")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(1, num+1):
 
    for j in range(1, num-i+2):
 
        if i%2==1 :
 
            print(i, end=" ")
 
        else:
 
            print(j, end=" ")
 
    print("")
 
</source>
 
 
<!-- -->
 
Amb tres fors:
 
<source lang = "python">
 
print("Dibuix amb números")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(1, num+1):
 
    if i%2==1 :
 
        for j in range(1, num-i+2):   
 
            print(i, end=" ")
 
    else:
 
        for j in range(1, num-i+2):   
 
            print(j, end=" ")
 
    print("")
 
</source>
 
 
 
24. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)
 
<pre>
 
    7 7 7 7 7 7 7
 
    6 5 4 3 2 1
 
    5 5 5 5 5
 
    4 3 2 1
 
    3 3 3
 
    2 1
 
    1
 
</pre>
 
 
<!-- -->
 
Amb dos fors:
 
<source lang = "python">
 
print("Dibuix amb números")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(num, 0, -1):
 
    for j in range(i, 0, -1):
 
        if i%2==1 :
 
            print(i, end=" ")
 
        else:
 
            print(j, end=" ")
 
    print("")
 
</source>
 
 
<!--
 
Amb tres fors:
 
<source lang="java">
 
print("Dibuix amb números")
 
 
num = int(input("Introdueix un número enter: "))
 
for i in range(num, 0, -1):
 
    if i%2==1 :
 
        for j in range(i, 0, -1):       
 
            print(i, end=" ")
 
    else:
 
        for j in range(i, 0, -1):
 
            print(j, end=" ")
 
    print("")
 
</source>
 
-->
 

Revisió del 20:05, 12 set 2023