You are on page 1of 5

Prueba 2 Programacin Primer Semestre- 29 de junio 2016

Duracin: 3 horas. Inicio 08:25. Trmino 11:25.

Nombre:________________________________________________________________________________________
_____________________________

Problema 1. Ruteo de cdigo (20%) lista = [7,-5,-6,-7,0]

Rutee el cdigo de la derecha, e indique el for x in range(len(lista)):


aux = x + 1
valor que van tomando todas las variables .
for y in range(aux,len(lista)):
Escriba los valores usando una tabla como la if lista[x] > lista[y]:
siguiente: temp = lista[x]
lista[x] = lista[y]
lista[y] = temp

a = -1
b = -1
for z in range(len(lista)):
if lista[z] > a:
b=a
En el encabezado de la tabla escriba el a = lista[z]
nombre de la variable, y hacia abajo escriba elif lista[z] > b:
b = lista[z]
los valores que adquiere la variable a medida
print("a:" +str(a))
que van cambiando de valor. print("b:" +str(b))
Prueba 2 Programacin Primer Semestre- 29 de junio 2016

Duracin: 3 horas. Inicio 08:25. Trmino 11:25.

Nombre:________________________________________________________________________________________
_______________________________

Problema2. Sistema de ecuaciones (50%)

Considere la distribucin de temperatura en el


interior de una tubera de seccin cuadrada como
se muestra en la siguiente Figura. En sta se
muestra las temperaturas en ocho puntos de la
pared exterior. Se desea conocer las temperaturas
T1, T2, T3, T4 de puntos uniformemente esparcidos
en el interior de la tubera. Suponga que la
temperatura en cada punto interior es el promedio
de las temperaturas de los cuatro puntos ms
cercanos: norte, sur, este y oeste.

Desarrollar un programa en Python que permita:

a) Calcular las temperaturas desconocidas.


b) Calcular las temperaturas desconocidas a
partir de nuevas ocho temperaturas
exteriores que pueda ingresar el usuario por teclado (A-H).

Problema3. Matrices (30%)

A fines de semestre un grupo de alumnos deben rendir tres pruebas asociadas a las asignaturas de
clculo, fsica y lgebra. Estas notas deben ser registradas por un programa Python diseado por UD. Una
vez que se hayan registrado las notas de los alumnos de las tres asignaturas se debe obtener lo siguiente:
1. Impresin del listado de alumnos y notas.
2. Nota mayor y menor por asignatura.
3. Promedio por asignatura.

A considerar:
Cantidad de alumnos: n
Como fin de ingreso de informacin se debe considerar el nombre del alumno con la palabra FIN.
N1: Asignatura clculo.
N2: Asignatura fsica.
N3: Asignatura lgebra.
1ra etapa, ingreso de los datos.
2da etapa, recorrer las listas para obtener los resultados en base a los requerimientos
Pauta

Ejercicio 1

Solucin:

au tem
x y a b z 0 1 2 3 4
x p
list
0 1 1 7 -1 -1 0 7 -5 -6 -7 0
a
1 2 2 -5 0 -1 1 -5 7 -5 -6 7
2 3 3 -6 7 0 2 -6 -5 7 -5
3 4 4 7 3 -7 -6 -5 7
4 5 2 -5 4 0
3 7
4 7
3
4
4

Ejercicio 2

Solucin A:

import numpy as np

#Forma matricial de las cinco ecuaciones obtenidas a partir del diagrama


de reactores.

a =[
[4,-1,-1,0],
[-1,4,0,-1],
[-1,0,4,-1],
[0,-1,-1,4],
]

b = [160,160,40,40]

# Se calcula la solucin del sistema de ecuaciones a partir de las


matrices a y b
c = np.linalg.solve(a,b)

# Se imprime los valores correspondientes a cada incognita.


for i in range(len(c)):
print("c"+str(i+1)+": "+str(c[i]))

Solucin B:

import numpy as np

#Variables para almacenar los valores de las temperaturas externas

pa = float(input("Ingrese temperatura (C): "))


pb = float(input("Ingrese temperatura (C): "))
pc = float(input("Ingrese temperatura (C): "))
pd = float(input("Ingrese temperatura (C): "))
pe = float(input("Ingrese temperatura (C): "))
pf = float(input("Ingrese temperatura (C): "))
pg = float(input("Ingrese temperatura (C): "))
ph = float(input("Ingrese temperatura (C): "))

#Forma matricial de las cinco ecuaciones obtenidas a partir del diagrama


de reactores.

a =[
[4,-1,-1,0],
[-1,4,0,-1],
[-1,0,4,-1],
[0,-1,-1,4],
]

b = [pa+ph,pb+pc,pf+pg,pe+pd]

# Se calcula la solucin del sistema de ecuaciones a partir de las


matrices a y b
c = np.linalg.solve(a,b)

# Se imprime los valores correspondientes a cada incognita.


for i in range(len(c)):
print("c"+str(i+1)+": "+str(c[i]))

You might also like