Publicado el 3 de Febrero del 2019
615 visualizaciones desde el 3 de Febrero del 2019
134,7 KB
12 paginas
Creado hace 8a (02/11/2015)
Tema 3: Funciones
SOLUCIONES EJERCICIOS
TEMA 2: FUNCIONES Y PROCEDIMIENTOS
Mª Ángeles Fdez de Sevilla Vellón
Página 22
TEMA2: SOLUCIONES
Número 1. Diseñar una función que calcule xy.
’’’ (x,y)<- xy Dados dos números eleva el primero al
# Archivo: ejercicio2_1.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa calcula la potencia de un número
# Definiciones de funciones
def eleva (x,y ):
segundo’’’
resultado = 1
for i in range (1, abs(y)+1) :
resultado = resultado * x;
if y<0:
res = 1/resultado
else:
res = resultado
return res
# Programa Principal
base = float(input ('dame base '))
if (base == 0):
while True:
exponente = int(input('la base es 0 dame exponente
distinto de 0'))
if exponente != 0:
break
else:
exponente = int(input('Dame exponente'))
mipotencia= eleva (base, exponente)
print (' la potencia es ', mipotencia)
Número 2. Función booleana o lógica que pregunta al usuario si quiere continuar con el programa
#Archivo: ejercicio2_2.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
Mª Ángeles Fdez de Sevilla Vellón
Página 23
Tema 3: Funciones
# Descripción: Programa para ver si queremos continuar
# Definiciones de funciones
def seguir():
''' () <- bool decide si salir de la función según carácter
introducido por usuario'''
while True:
respuesta = str(input('¿QUIERES SALIR?: '))
if (respuesta.upper()=='S') or (respuesta.upper() == 'N'):
break
r = (respuesta.upper() =='S')
return r
# Programa Principal
if seguir():
print('Quiero Continuar')
else:
print('Salida de programa')
Número 3. programa que comprueba si un carácter dado es o no un dígito
’’’car<- bool Dado un carácter devuelve verdad si es un
#Archivo: ejercicio2_3.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Programa para comprobar si un carácter es un dígito
# Definiciones de funciones
def es_digito(car):
dígito’’’
return (car>='0') and (car<='9')
# Programa Principal
c = input ('Escribe el carácter: ')
if es_digito(c):
print('El carácter es un dígito')
else:
print('El carácter no es un dígito')
Número 4. Función que recibe una base distinta de diez y un números en base decimal y escribe en pantalla
el resultado de cambiar el número dado a la nueva base.
Mª Ángeles Fdez de Sevilla Vellón
Página 24
’’’ (num,base)<- numero Dado un número y una base devuelve el
# Archivo: ejercicio2_4.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa recibe una base distinta de diez y un
#número en base decimal y escribe en pantalla el resultado de
#cambiar el número dado a la nueva base
# Definiciones de funciones
def cambio_base (num, base):
primer número cambiado de base’’’
Diez= 10;
def eleva (x,y):
’’’ (x,y)<- xy Dados dos números eleva el primero al
segundo’’’
resultado = 1
for i in range(1,abs(y)+1):
resultado= resultado * x;
if y<0:
r = 1/resultado
else:
r = resultado
return r
numbase = 0
i= 0
while True:
resto = num % base
num= num // base
numbase = numbase + resto * eleva(Diez,i)
i= i+1;
if (num == 0):
break
return numbase
#Programa Principal
dec = int(input('Dime un número'))
while True:
base_inicial = int (input('base_inicial'))
if (base_inicial >=2) and (base_inicial<=10):
break
print ('el cambio de base es:',cambio_base (dec,base_inicial))
#Ejemplo cambio_base (13,2)= 1101{1+0*101+1*102+1*103
Número 5. Realizar un algoritmo MODULAR para obtener el máximo y mínimo de una serie de números
enteros solicitados al usuario.
Mª Ángeles Fdez de Sevilla Vellón
Página 25
Tema 3: Funciones
# Archivo: ejercicio2_5.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa obtiene el máximo y mínimo
#de una serie de números enteros solicitados al usuario.
# Definiciones de funciones
def seguir():
''' () <- bool decide si salir de la función según carácter
introducido por usuario'''
while True:
respuesta = str(input('¿Desea continuar? '))
if (respuesta.upper()=='S') or (respuesta.upper()=='N'):
break
return respuesta.upper()=='S'
def buscar_mayor_y_menor ( ):
''' () <- máximo, minimoDevuelve el mayor y menor elemento de
una serie de números'''
dato = int(input('Introduzca dato '))
maximo = dato
minimo = dato
while seguir():
dato = int(input ('Inserte dato: '))
if (dato> maximo):
maximo = dato
else:
if (dato < minimo):
minimo = dato
return maximo, minimo
# Programa Principal
máximo, mínimo = buscar_mayor_y_menor ()
print(' El mayor elemento es ', máximo, 'el menor elemento es',
mínimo)
Número 6. Realizar un algoritmo para decidir si son o no primos una serie de números solicitados al
usuario
# Archivo: ejercicio2_6.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa decide si son o no primos
# una serie de números enteros solicitados al usuario.
# Definiciones de funciones
def seguir():
''' () <- bool decide si salir de la función según dato
introducido por usuario'''
Mª Ángeles Fdez de Sevilla Vellón
Página 26
while True:
respuesta = str(input('¿Desea continuar? '))
if (respuesta.upper()=='S') or (respuesta.upper()=='N'):
break
return respuesta.upper()=='S'
def es_primo (n):
'''entero<- booleano dado un número entero la función devuelve
verdadero si n es primo y falso si no lo es '''
if (n<= 1):
primo = False
else:
aux = 2
primo = True
while (aux < n) and (primo):
if (n % aux != 0):
aux += 1
else:
primo = False;
return primo
# Programa Principal
while True:
n = int(input(' dame un numero '))
if es_primo(n):
print ('El numero es primo')
else:
print ('El numero no es primo')
if not(seguir()):
break
Número 7. Realizar un programa que lea un número arbitrario de enteros y cuente el número de valores
positivos y números que se han introducido.
# Archivo: ejercicio2_7.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa lee un número arbitrario de enteros y
# cuenta el número de valores positivos que se han introducido.
# Definiciones de funciones
def seguir():
''' () <- bool decide si salir de la función según dato
introducido por usuario'''
while True:
respuesta = str(input('¿Desea continuar? '))
if (respuesta.upper()=='S') or (respuesta.upper()=='N'):
break
return respuesta.upper()=='S'
Mª Ángeles Fdez de Sevilla Vellón
Página 27
Tema 3: Funciones
def cuenta_numeros_positivos (positivos, total):
'''positivos, total <-positivos, total.Procedimiento en el que
se introducen números mientras se desee, salida dos enteros:
cantidad de números positivos y el total de números
introducidos'''
while True:
numero = int(input('Introduce un numero integer : '))
total =total + 1
if numero > 0:
positivos = positivos + 1
if not(seguir()):
break
return positivos, total
# Programa principal
total_pos = 0
introducidos = 0
total_pos,introducidos = cuenta_numeros_positivos (total_pos,
introducidos)
print ('Se han Introducido ' , introducidos,' numeros enteros')
print(' de ellos ',total_pos, ' son Positivos ')
Número 8. Programa que comprueba si un carácter dado es una mayúscula del alfabeto inglés
# Archivo: ejercicio2_8.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa que compruebe si
# un carácter dado es una mayúscula del alfabeto inglés.
# Definición de funciones
def es_letra_mayuscula(car):
'''caracter<- booleano dado un carácter esta función dice si
pertenece o no a el alfabeto inglés'''
return ((car >= 'A') and (car <= 'Z'))
# Programa principal
c = input(' Introduzca un carácter: ')
if es_letra_mayuscula(c):
print(c, 'Es una letra mayúscula del alfabeto inglés')
else:
print('no es una letra mayúscula del alfabeto inglés')
Número 9. Programa que comprueba si un carácter dado es una mayúscula del alfabeto español
Mª Ángeles Fdez de Sevilla Vellón
Página 28
# Archivo: ejercicio2_9.py
# Autor: XXXXX XXXXXXX (nombre y apellidos)
# Fecha: DD/MM/AAAA
# Descripción: Este programa que compruebe si
# un carácter dado es una mayúscula del alfabeto español.
# Definiciones de funciones
def es_letra_mayuscula(car):
'''caracter<- booleano dado un carácter esta función dice si
pertenece o no a el alfabeto español'''
return ((car >= 'A') and (car <= 'Z'))or (car =='Ñ')
# Programa principal
c = input(' Introduzca un carácter: ')
if es_letra_mayuscula(c):
print(c, 'Es una letra mayúscula del alfabeto español')
else:
print('no es una letra mayúscula del alfabeto español')
Número 10. Este programa
Comentarios de: Tema 2: Funciones y procedimientos - Soluciones ejercicios (0)
No hay comentarios