Introdução à Programação - minor João Pedro PEDROSO Departamento de Ciência de Computadores Faculdade de Ciências da Universidade de Porto Ano lectivo de 2012/2013 [email protected] Aula número 2 1. Invoque um terminal. Na linha de comando, chame o interpretador da linguagem Python: (a) (1 + x)(−1 + 2x) para x = 2 (b) 1 + 12 + 31 + 14 $ python 3 (c) 22 Python 3.2 (r32:88445, Oct 5 2011, 14:22:55) − x2 )/(2x) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] [...] (d) (1 quando x = 5 Type "help", "copyright", "credits" or "lic [...] >>> (e) 1 + 1/(2 + 1/x) para Utilize o interpretador para efetuar os seguintes cálculos: (a) 45 + 27 (b) 2**3 x=2 p (f) x2 + y 2 para x = 2 e y = 0.5 √ (g) b2 − 4ac para a = 1, b = 1 e c = −1/3. (h) sin(π − α) para α = π/4 Nota: as funções e constantes matemáticas estão definidas no módulo math: math.sqrt(), math.exp(), math.sin(), math.cos(), math.pi, etc. 5. Execute as expressões seguintes no interpretador de Python. Se der um erro, indique se é erro sintáctico ou semântico. Se não der erro, verifique qual o seu tipo usando type(...). (c) 9 % 4 (d) "2"+ "34" (e) 126.2 * 4 (f) 2/5 (a) 97+555 (j) 97 == "97" (g) 2//5 (b) 97$+555$ (k) 97 == int("97") 2. Para cada uma das alíneas do problema 1, verifique qual é o tipo do resultado, utilizando a função do Python type(). Esta função pode ser utilizada da seguinte forma: (m) 102 <= "97" (e) 2(math.pi) (n) "102" <= "97" (f) 2*math.pi (o) "valor de pi é " + math.pi (h) int(2*math.pi) (i) "97"+555 3. Usando o interpretador de Python calcule cada uma das seguintes expressões. Indique se o resultado é um número inteiro ou em vírgula-flutuante. (10-7)*(4-3) 10-7*4-3 17 / 3 17 // 3 17 % 3 (3+5)/2*3 (3+5)/(2*3) (l) 102 <= 97 (d) math.sqrt(-2) (g) str(2*math.pi) >>> type("abc") <type ’str’> >>> (a) (b) (c) (d) (e) (f) (g) (c) math.sqrt(2) (h) 1 + 1/3 (i) 1 + 1/3.0 (j) 1 + 1/3 (k) 1 + 1//3 (l) 2**3 (m) 2.0**3 4. Traduza cada uma das seguintes expressões matemáticas para Python e execute-as no interpretador. Pode guardar valores intermédios em variáveis. (p) "valor de pi é " + str(math.pi) 6. Considere uma variável x com um valor numérico. Escreva expressões para atribuir a outra variável y o valor que (a) converte um comprimento x em polegadas para centímetros (1 polegada = 2.54 cm); (b) converte um comprimento x em centímetros para polegadas; (c) converte um comprimento x em metros para polegadas; (d) converte um comprimento x em pés e polegadas para metros (1 pé = 0.3048 m; considere que x é um valor em virgula flutuante, em que as unidades representam o número de pés e as centésimas o número de polegadas). 7. Implemente uma função libras_kg(lb) que, tendo como parâmetro um peso lb em libras, retorna um valor que é o seu equivalente em quilogramas (1 kg são 2.2046 libras). 8. A conversão entre medidas de temperatura em graus fahrenheit e Celsius pode ser efectuada pela fórmula C = 95 (F − 32), onde F é a temperatura em graus Fahrenheit e C em celsius. Escreva uma função celsius(F) que efetue a conversão de uma temperatura F em graus Fahrenheit para celcius. 9. Implemente uma função area_circ(r) que calcule a área de um círculo com raio r. 10. Implemente uma função perim_circ(r) que calcule o perímetro de um círculo com raio r. Exercício a apresentar: um os seguintes, indicados a itálico, a ser sorteado. 11. Implemente uma função euros(p) que, tendo como parâmetro um valor p em libras, retorna um valor que é o seu equivalente em euros, ao câmbio de 0.795081 libras por euro. 12. Uma temperatura em kelvin pode ser convertida para celcius subtraindo-lhe 273. Escreva uma função celsius(k) que efetue a conversão da temperatura de k kelvin para celcius. 13. O volume de uma esfera de raio r é dado por 43 πr3 . Implemente uma função volume(r) que calcule o volume da esfera de raio r. 14. A superfície de uma esfera de raio r é dado por 4πr2 . Implemente uma função area(r) que calcule a superfície da esfera de raio r.