ASIX-M3-UF1-A2.5-Solucions Exercicis estructura iterativa: recorregut

De wikiserver
Dreceres ràpides: navegació, cerca

1. Escriu un programa que llegeixi números enters positius i mostri el més petit i el més gran. El programa finalitzarà quan ens introdueixin un número negatiu.

'''
Escriu un programa que llegeixi números enters positius i mostri el més petit
i el més gran. El programa finalitzarà quan ens introdueixin un número
negatiu.
'''
print("Més gran i més petit d'una seqüència de números")

# Accedir al primer element
num = int(input("Introueix un valor positiu (per acabar negatiu): "))

# Inicialitzar el tractament
mesPetit = num
mesGran = num

# Mentre no últim element
while num>= 0:

  # Tractar l'element
  if num > mesGran:
     mesGran = num
  if num < mesPetit:
     mesPetit = num

  #Obtenir següent element
  num = int(input("Introueix un valor positiu (per acabar negatiu): "))

# Tractament final
print("El valor més gran és: ", mesGran)
print("El valor més petit és: ", mesPetit)

2. Donat un número llegit per teclat, calcula el número de dígits que té.

'''
Donat un número llegit per teclat, calcula el número de dígits que té.
'''
print("Càlcul del nombre de dígits d'un número")

# Accedir al primer element
num = int(input("Introdueix un valor positiu: "))

# Inicialitzar tractament
  
digits = 0

# Mentre no ultim element 
while num > 0:

  # Tractar_element
  digits += 1
    
  # Obtenir següent element 
  num = num // 10

# Tractament_final 
print("El número té %d dígits" %digits)

3. Donat un número llegit per teclat, realitzar la suma de tots els dígits del número.

Per exemple si introdueixen el valor 1238, s'imprimirà el valor : 1+2+3+8 --> 14

'''
Donat un número llegit per teclat, realitzar la suma de tots els dígits del número.
'''
print("Suma de tots els digits d'un número")

# Accedir al primer element
num = int(input("Introdueix un valor positiu: "))

# Inicialitzar tractament
suma = 0

# Mentre no ultim element 
while num > 0: 

  # Tractar_element
  suma=suma+(num%10)
  
  # Obtenir següent element 
  num=num//10

# Tractament_final   
print("La suma dels dígits és: ", suma)

4. Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.

'''
Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.
'''
print("Suma de tots els digits d'un número")

# Accedir al primer element
num = int(input("Introdueix un valor positiu: "))

# Inicialitzar tractament
suma = 0

# Mentre no ultim element 
while num > 0: 

  # Tractar_element
  mod = num % 10
  if mod % 2 == 0:
    suma = suma + mod
     
  # Obtenir següent element 
  num=num//10

# Tractament_final   
print("La suma dels dígits parells és: ", suma)

5. Donat un número llegit per teclat, determina el número de dígits més grans que 5.

'''
 Donat un número llegit per teclat, determina el número de dígits més grans que 5.
'''
print("Determinar el número de dígits més grans que 5 d'un número")

# Accedir al primer element
num = int(input("Introdueix un valor positiu: "))

# Inicialitzar tractament
quants = 0

# Mentre no ultim element 
while num > 0: 

  # Tractar_element
  if num%10>5:
    quants +=1
     
  # Obtenir següent element 
  num=num//10

# Tractament_final   
print("Hi ha %d dígits més grans que 5" %quants)

6. Escriu un programa que llegeixi números enters positius (finalitzarà amb la introducció de -1) i mostri totes les parelles de números consecutius que apareixen a la seqüència.

Per exemple si la seqüència de números és: 7 10 11 23 4 5 8 10 11 12 -1, mostrarà: 10 11, 4 5, 10 11, 11 12