Baixe o app para aproveitar ainda mais
Prévia do material em texto
EMB5013 - Introdução à Programação de Computadores Profa. Tatiana Renata Garcia Gabarito lista de exercícios 10 – Funções 1 – def s1(): s = 0 for i in range(1,11): if i % 2 == 1: s = s + (float(i)/(i**2)) else: s = s - (float(i)/(i**2)) return s def s2(): s = 0 for i in range(1,51): s = s + ((2*i-1)/float(i)) return s def s3(n): s = 0 for i in range(1, n+1): s = s + (float(i) / (2*i -1)) return s def s4(n): s = 0 for i in range(1,n+1): s = s + (float(i) / (n-i+1)) return s ############## Programa principal op = input('escolha serie (1, 2, 3, 4)ou 0 para sair = ') while op != 0: if op == 1: x = s1() print x elif op == 2: y = s2() print y elif op == 3: n = input('digite n: ') z = s3(n) print z elif op == 4: n = input('digite n: ') w = s4(n) print w op = input('escolha serie (1, 2, 3, 4)ou 0 para sair = ') 2 – ######exerc matrizes import random def cria(n): m = [0]*n for i in range(n): m[i]=[0]*n return m def cria_preenche(n): mat=[0]*n for i in range(n): mat[i]=[0]*n for i in range(n): for j in range(n): mat[i][j]=random.randint(1,20) return mat def soma(M1, M2): n = len(M1) #len = quantidade de linhas aux = cria(n) for i in range(n): for j in range(n): aux[i][j] = M1[i][j] + M2[i][j] return aux def subtrai(M1, M2): n = len(M1) aux = cria(n) for i in range(n): for j in range(n): aux[i][j] = M1[i][j] - M2[i][j] return aux def maxi(M1,M2): n = len(M1) aux = cria(n) for i in range(n): for j in range(n): if M1[i][j] > M2[i][j]: aux[i][j] = M1[i][j] else: aux[i][j] = M2[i][j] return aux def mini(M1,M2): n = len(M1) aux = cria(n) for i in range(n): for j in range(n): if M1[i][j] < M2[i][j]: aux[i][j] = M1[i][j] else: aux[i][j] = M2[i][j] return aux def multi(M1,M2): n = len(M1) aux = cria(n) for i in range(n): #linhas de M1 for j in range(n): #colunas de M2 ##lembre que aux[i][j] esta inicializado em 0 for k in range(n): aux[i][j] = aux[i][j] + M1[i][k] * M2[k][j] return aux def elimina(M,x): n = len(M) aux = cria(n) for i in range(n): for j in range(n): if i == x or j == x: aux[i][j] = 0 else: aux[i][j] = M[i][j] return aux print 'A para criar e preencher X e Y, B para somar,C para diminuir,' print 'D para matriz MAX, E para matriz MIN, F para multiplicar, G para eliminar ou H para sair' opcao = raw_input() while opcao != 'H': if opcao == 'A': n = input('dimensao= ') m1 = cria_preenche(n) m2 = cria_preenche(n) print 'M1: ',m1 print 'M2: ',m2 elif opcao == 'B': m3 = soma(m1,m2) print "M1 + M2 = ", m3 elif opcao == 'C': m4 = subtrai(m1,m2) print "M1 - M2: ", m4 elif opcao == 'D': m6 = maxi(m1,m2) print "MAX (M1, M2):", m6 elif opcao == 'E': m7 = mini(m1,m2) print "MIN (M1, M2): ", m7 elif opcao == 'F': m8 = multi(m1,m2) print "M1 * M2 = ", m8 elif opcao == 'G': x = input('digite linha que deseja eliminar de M1: ') if x < len(m1): m9 = elimina(m1,x) print "M9: ", m9 print 'Digite A para criar e preencher X e Y, B para somar, C para diminuir,' print 'D para matriz MAX, E para matriz MIN, F para multiplicar, G para eliminar ou H para sair' opcao = raw_input() 3 – ######## exerc 3 - algumas conversoes def c_f(t): #celsius -> farehneit f=(t*1.8)+32 return f def c_k(t): #celsius ->kelvin f=t+273.15 return f def f_c(t): #fahrenheit -> celsius f=(t-32)/1.8 return f def k_c(t): #kelvin -> celsius f=t-273.15 return f ############# t = input('digite temperatuta: ') a = raw_input('digite escala atual (C ou F ou K): ') b = raw_input('digite escala desejada (C ou F ou K): ') if a == 'C' and b == 'F': print 'temp: ', c_f(t) elif a == 'C' and b == 'K': print 'temp: ', c_k(t) elif a == 'F' and b == 'C': print 'temp: ', f_c(t) elif a == 'K' and b == 'C': print 'temp: ', k_c(t) else: print 'conversao nao implementada...' 4 e 5 – def exer4(n): for i in range(1, n+1): for j in range(i): print i, print def exer5(n): for i in range(1,n+1): for j in range(1, i+1): print j, print x = input('digite numero: ') exer4(x) print exer5(x)
Compartilhar