Examen Python mcp2022
Examen Python mcp2022
Examen Python mcp2022
0.1.2 Pregunta #2
En lenguage de bajo nivel, las instrucciones ejercen un control directo sobre el hardware y están
condicionados por la estructura física de las computadoras que lo ejecutarán. En un Lenguaje de alto
nivel, las instrucciones se aproximan más al lenguaje natural humano, haciendo mas comprensible
nuestro programa.
0.1.3 Pregunta #3
Un diagrama de flujo es un grafico que representa la secuencia de ejecusión de un programa.
Un pseudocódigo es un conjunto de sentencias en un lenguage coloquial (cercano a un lenguaje
de programación) que permite representar por pasos la solución a un problema o algoritmo, de la
forma más detallada posible
Un código es un texto, escrito en un lenguaje de programación determinado que debe ser compilado
o interpretado para ejecutarse en una computadora.
0.1.4 Pregunta #4
Tipos de datos: - Numéricos: - Byte: representa un número de 8 bit - Enteros: representan datos
del conjunto de los números enteros (existen enteros de 16bit, 32bit, 64bit) - Floats: representan
datos del conjunto de los números reales
> Existen otros números (complejos, hexagesimales) pero su soporte varia segun el lenguaje
• Cadenas:
– Char: representan caracteres alfanumericos: letras, signos, digitos
– String: representa un conjunto de caracteres
• Booleanas: representan valores de SI o NO
• Arreglo: colección de elementos de un mismo tipo de dato
1
• Lista: al igual que el array, es una colección de elementos aunque los elementos pueden ser
de diferente tipo.
• Diccionarios: Son colecciones de objetos que se acceden mediante una llave (key)
• Tuplas: es una lista INMUTABLE de elementos
• Sets: Representan conjuntos de elementos
• Clases y Objetos > Muchos de estos tipos de datos se solapan en algunos lenguages de
programación, especialmente en los que no son fuertemente tipados
0.1.5 Pregunta #5
Tanto los arreglo como las listas y las tuplas representan estructuras 1-dimensionales (aunque
podamos representar estructuras n-dimensionales con ellas). En el caso de las tuplas su diferencia
con estructuras similares es la inmutabilidad pues sus valores son fijos y si queremos modificarlos
debemos crear una nueva tupla
Los dataframe representa datos tabulares y sus datos se organizan en filas y columnas.
Las matrices representan estructuras N-Dimensionales
a = pedir_numero('A')
b = pedir_numero('B')
10 + 2 = 12
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5.0
10 % 2 = 0
10 // 2 = 5
10^2 = 100
2
0.2.2 Prergunta 2
def resolver_ecuación(coeficientes):
p = np.poly1d(coeficientes)
root_of_poly = p.r
return root_of_poly.tolist()
def pedir_coeficiente(mensaje):
return float(input(f'Introduzca el valor de {mensaje}: '))
a = pedir_coeficiente('a')
b = pedir_coeficiente('b')
c = pedir_coeficiente('c')
X1 = 5.0, X2 = 2.0
X1 = 2.0, X2 = 2.0 son números primos y su suma = 7.0 también es un número primo
0.2.3 Pregunta 3
[33]: def fibonacci(n: int) -> int:
if n == 0:
return 0
elif n == 1:
return 1
3
else:
return fibonacci(n - 1) + fibonacci(n - 2)
0 1 1 2 3 5 8 13 21 34 55
0.2.4 Pregunta 4
[34]: import math
4
n = c.count(i)
if n == repeticiones and i not in moda:
moda.append(i)
return moda
datos = [18.71, 21.41, 20.72, 21.81, 19.29, 22.43, 20.17, 23.71, 19.44, 20.50,␣
,→18.92, 20.33, 23.00, 22.85, 19.25, 21.77, 22.11, 19.77, 18.04, 21.12]
tamano = len(datos)
media = calcular_media(datos)
rango = calcular_rango(datos)
mediana = calcular_mediana(datos)
moda = calcular_moda(datos)
moda1 = calcular_moda(datos, usar_enteros=True)
varianza = calcular_varianza(datos)
desviacion_estandar = calcular_desviacion_estandar(datos)
## output
print(f'Datos = {datos}')
print(f'N = {tamano}')
print(f'media = {media:.2f}')
print(f'mediana = {mediana:.2f}')
print(f'rango = {rango}')
print(f'moda = {moda}')
print(f'moda (usando solo parte entera) = {moda1}')
print(f'varianza = {varianza:.2f}')
print(f'desviación estándar = {desviacion_estandar:.2f}')
Datos = [18.71, 21.41, 20.72, 21.81, 19.29, 22.43, 20.17, 23.71, 19.44, 20.5,
18.92, 20.33, 23.0, 22.85, 19.25, 21.77, 22.11, 19.77, 18.04, 21.12]
N = 20
media = 20.77
mediana = 20.61
rango = [18.04, 23.71]
moda = [18.71, 21.41, 20.72, 21.81, 19.29, 22.43, 20.17, 23.71, 19.44, 20.5,
18.92, 20.33, 23.0, 22.85, 19.25, 21.77, 22.11, 19.77, 18.04, 21.12]
moda (usando solo parte entera) = [21, 20, 19]
5
varianza = 2.41
desviación estándar = 1.55
0.2.5 Pregunta 5
print(f'A + B = {A+B}')
print(f'A - B = {A-B}')
print(f'A\' + B\' = {A.T+B.T}')
print(f'A^-1 = {A.I}')
print(f'A * B = {A*B}')
print(f'B * A = {B*A}')
A + B = [[ 1 -6 5]
[14 1 -1]
[ 3 7 4]]
A - B = [[ 5 -4 3]
[ 4 15 -13]
[-15 1 0]]
A' + B' = [[ 1 14 3]
[-6 1 7]
[ 5 -1 4]]
A^-1 = [[0.12643678 0.07471264 0.00862069]
[0.06896552 0.0862069 0.1637931 ]
[0.24137931 0.05172414 0.19827586]]
A * B = [[ 5 44 -19]
[-41 -86 43]
[ 50 -16 22]]
B * A = [[-21 6 1]
[-84 -57 81]
[ 42 -13 19]]
0.2.6 Pregunta 6
[36]: import random
6
return random.normalvariate(median, spread)
,→in range(rows)]
def print_data(data):
header = '|'.join([f'{letter:^10}' for letter in 'LMMJVSD'])
print(f'|{header}|')
split_char = '-'
divider = '|'.join([f'{split_char*10}' for letter in 'LMMJVSD'])
print(f'|{divider}|')
for week, row in enumerate(data):
data_row = '|'.join([get_printable_value(week * len(row) + day_of_week,␣
,→value) for day_of_week, value in enumerate(row)])
print(f'|{data_row}|')
def calculate_media(data:list):
result = 0
for fila in data:
for column in fila:
if column != None:
result += column
return result / 31
7
max_temperature = value
date = week * 7 + int(day_of_week) + 1
return { 'temperature': max_temperature, 'day': int(day_of_week), 'date':␣
,→date % 31 }
print_data(matrix)
8
print()
print(f'Media = {calculate_media(matrix):.2f}')
print()
min_value = min_temperature['temperature']
min_day = days[min_temperature['day']]
max_value = max_temperature['temperature']
max_day = days[max_temperature['day']]
print()
max_temperature = max_temperature_month(matrix)
max_value = max_temperature['temperature']
day = days[max_temperature['day']]
date = max_temperature['date']
print(f'La temperatura más alta del mes fue de {max_value:.2f} y ocurrió el␣
,→{day} {date}')
print()
| L | M | M | J | V | S | D |
|----------|----------|----------|----------|----------|----------|----------|
| 22.23 | 19.18 | 24.85 | 17.97 | 27.35 | 24.73 | 29.80 |
| 22.54 | 28.41 | 27.73 | 15.56 | 21.42 | 30.47 | 18.97 |
| 26.50 | 16.80 | 30.14 | 22.01 | 22.54 | 28.22 | 23.43 |
| 19.86 | 20.27 | 31.36 | 24.91 | 18.63 | 18.05 | 18.29 |
| 18.06 | 26.07 | 20.28 | - | - | - | - |
Media = 23.12
En la primera semana:
- La temperatura promedio fue de 5.36
- La temperatura mínima fue de 17.97 y se produjo el jueves
- La temperatura máxima fue de 29.80 y se produjo el domingo
En la segunda semana:
- La temperatura promedio fue de 5.33
9
- La temperatura mínima fue de 15.56 y se produjo el jueves
- La temperatura máxima fue de 30.47 y se produjo el sábado
En la tercera semana:
- La temperatura promedio fue de 5.47
- La temperatura mínima fue de 16.80 y se produjo el martes
- La temperatura máxima fue de 30.14 y se produjo el miércoles
En la cuarta semana:
- La temperatura promedio fue de 4.88
- La temperatura mínima fue de 18.05 y se produjo el sábado
- La temperatura máxima fue de 31.36 y se produjo el miércoles
En la última semana:
- La temperatura promedio fue de 2.08
- La temperatura mínima fue de 18.06 y se produjo el lunes
- La temperatura máxima fue de 26.07 y se produjo el martes
10