Informática para Ciências e Engenharias (B) 2016/17. Teórica 2

Tamanho: px
Começar a partir da página:

Download "Informática para Ciências e Engenharias (B) 2016/17. Teórica 2"

Transcrição

1 Informática para Ciências e Engenharias (B) 2016/17 Teórica 2

2 Na aua de hoje Decomposição de probemas Abstração, generaização e agoritmos Ficheiros e código fonte scripts, funções e como escrever código Testes unitários Tipos de erros. Representação de números em binário Cico de vida de um programa 15 Março 2017 Programação Estruturada; Funções 2

3 Probema Cacuar ph do ácido benzóico C 6 H 5 COOH H + + C 6 H 5 COO - K a = 6.5 x 10-5 % Constante de Dissociação C i = 0.1 (m/mmo/vo) % Concentração Moar Inicia Como resover sendo x = [H + ] = [C 6 H 5 COO - ] K a = x 2 / (C i x) x 2 + K a x C i K a = 0 ph = - og 10 (x) % Concentração Iónica 15 Março 2017 Programação Estruturada; Funções 3

4 Como impementar, opção 1 Cacuar directamente, Usando a Janea de Comandos do Octave Cácuo de expressões pode utiizar funções pre-definidas Raiz quadrada / sqrt, e ogaritmo de base 10 / og10 >> Ci = 0.01 o vaor da concentração Ci = tem de ser positivo >> Ka = 6.5e-5 Ka = e-005 >> x = (-Ka + sqrt(ka^2+4*ka*ci))/2 x = e-004 >> ph = -og10(x) ph = >> 15 Março 2017 Programação Estruturada; Funções 4

5 Como impementar, opção 1 Escrever directamente Má soução mais difíci de corrigir erros temos de escrever tudo cada vez que precisamos cacuar o ph só viáve com probemas simpes quanto maior a ista de instruções mais prováve é haver erros e mais difíci é de os identificar impossíve de resover probemas compexos 15 Março 2017 Programação Estruturada; Funções 5

6 Como impementar, opção 2 Criar um script um script Matab é um ficheiro contendo código fonte e gravado com a extensão.m Pode ser criado com o Octave/Matab no modo de Edição O editor ajusta as cores das instruções Mostra os números de inha (úti para reportar erros) benzoico.m Ci = 0.01 Ka = 6.5e-5 x =(-Ka + sqrt(ka^2+4*ka*ci))/2 ph = -og10(x) 15 Março 2017 Programação Estruturada; Funções 6

7 Como impementar, opção 2 Chamar o script Escrever o nome do script (sem o.m) se não existe variáve ou função definida, o interpretador procura o ficheiro nome.m tem de estar na pasta de trabaho (ou numa pasta que o interpretador conheça) As instruções são executadas (e ecoadas) como se estivessem a ser dadas pea janea de comandos >> benzoico Ci = Ka = e-005 x = e-004 ph = >> 15 Março 2017 Programação Estruturada; Funções 7

8 Como impementar, opção 2 Os ecos podem ser eiminados escondendo as instruções de atribuição com ; Ci = 0.01 Ka = 6.5e-5 x =(-Ka + sqrt(ka^2+4*ka*ci))/2 ph = -og10(x) Ci = 0.01; Ka = 6.5e-5; x =(-Ka + sqrt(ka^2+4*ka*ci))/2 ph = -og10(x) >> benzoico Ci = Ka = e-005 x = e-004 ph = >> >> benzoico x = e-004 ph = >> 15 Março 2017 Programação Estruturada; Funções 8

9 Ficheiro de Código Fonte Na inguagem MATLAB, um ficheiro.m É interpretado como texto, código fonte Quando o interpretador encontra um identificador verifica 1º se é uma variáve definida 2º se é uma função já carregada 3º se há um ficheiro com esse nome e extensão.m Se chega à 3º opção, executa o que está no ficheiro 15 Março 2017 Programação Estruturada; Funções 9

10 Como Impementar, Opção 2 Criar um script Vantagens mais fáci de executar e de editar comentários (mais inteigíve) fica guardado Probemas fica tudo junto variáveis comuns a todo o programa diferentes tarefas não são separadas não estruturado e mau para probemas compexos 15 Março 2017 Programação Estruturada; Funções 10

11 Ficheiros Ficheiro sequência de bits, agrupados em bytes 1 byte = 8 bits armazenado num suporte persistente disco rígido, cartão de memória, CD... associado peo SO a um identificador único caminho e nome C:\My Documents\ICE\teste.m ~/ICE/teste.m 15 Março 2017 Programação Estruturada; Funções 11

12 Ficheiros Tipos de ficheiro todos os ficheiros são sequências de bits em ficheiros de tipo diferente a sequência é interpretada de forma diferente Muitas vezes o tipo de ficheiro é identificado pea extensão.pdf,.txt,.jpg,.wav,.doc,.mp3 associada ao programa que interpreta o ficheiro (há excepções, depende do SO e, especiamente, do programa que usamos como interface) 15 Março 2017 Programação Estruturada; Funções 12

13 Programação Estruturada Programação Estruturada 15 Março 2017 Programação Estruturada; Funções 13

14 Programação Estruturada Decompor o probema em partes autónomas (dividir para conquistar) perceber o probema e todas as tarefas abstrair e generaizar cada tarefa Conceber o agoritmo perceber como resover cada tarefa perceber como as várias partes encaixam Impementar e testar cada parte 15 Março 2017 Programação Estruturada; Funções 14

15 Agoritmo Muhammad ibn Mūsā a-khwārizmī Compêndio do Cácuo por Competude e Baanço. Cácuo com Numerais Hindu Agoritmi de numero Indorum (sec. XII) Agoritmo Agarismo 15 Março 2017 Programação Estruturada; Funções 15

16 Agoritmo Conjunto finito de instruções. No sentido estrito, operações sobre símboos Matemática Lógica Programas. No sentido ato: receitas procedimentos de emergência etc Março 2017 Programação Estruturada; Funções 16

17 Agoritmo da torrada Pegar no pão Se faca na bancada, Pegar na faca Caso contrário Ir buscar faca à gaveta Cortar fatia Pôr na torradeira, igar Enquanto não está pronta Esperar 15 Março 2017 Programação Estruturada; Funções 17

18 Agoritmo da torrada Pegar no pão Se faca na bancada, Pegar na faca Obter faca Caso contrário Ir buscar faca à gaveta Cortar fatia Pôr na torradeira, igar Enquanto não está pronta Esperar 15 Março 2017 Programação Estruturada; Funções 18

19 Agoritmo da torrada Pegar no pão Se faca na bancada, Obter faca Pegar na faca Cortar fatia Caso contrário Pôr na torradeira, igar Ir buscar faca à gaveta Enquanto não está pronta Esperar 15 Março 2017 Programação Estruturada; Funções 19

20 Agoritmo da torrada Pegar no pão Obter faca Cortar fatia Pôr na torradeira, igar Enquanto não está pronta Esperar Torrar 15 Março 2017 Programação Estruturada; Funções 20

21 Agoritmo da torrada Pegar no pão Obter faca Cortar fatia Pôr na torradeira, igar Torrar Enquanto não está pronta Esperar 15 Março 2017 Programação Estruturada; Funções 21

22 Programação Estruturada Resover probemas compexos através de probemas simpes um de cada vez Hierarquizar os probemas Abstrair dos detahes concretos Generaizar souções Decompor as tarefas e impementar partes Testar cada uma Juntar tudo no programa fina 15 Março 2017 Programação Estruturada; Funções 22

23 Programação Estruturada Na inguagem Matab usada em ICE os probemas, simpes ou compexos, são resovidos através de funções. Para cada probema/função teremos de ter bem presente Quais os dados de entrada do probema Qua o resutado pretendido Ao desenhar uma função esta informação deverá constar da sua assinatura que tem a forma genérica function nomeresutado = nomefuncao(parametros) 15 Março 2017 Programação Estruturada; Funções 23

24 Programação Estruturada function nomeresutado = nomefuncao(parametros) Os parâmetros da função são variáveis, separadas por vírguas A variáve nomeresutado, recebe o vaor da função Exempo: function ph = cacuaph(ka, Ci) Antes de impementarmos esta função em particuar, vamos anaisar em mais detahe vários aspectos a considerar no desenho / impementação de funções. 15 Março 2017 Programação Estruturada; Funções 24

25 Funções Em Matab, ta como no caso dos scripts, as funções devem ser definidas em ficheiros texto com a extensão.m. No entanto, o nome do ficheiro não é arbitrário e deve ser igua ao nome da função. Os ficheiros, podem ser criados com quaquer editor de texto, nomeadamente com o do interpretador Octave, e começam com a assinatura da função e terminam com a paavra end. cacuaph.m function ph= cacuaph(ka, Ci)... end 15 Março 2017 Programação Estruturada; Funções 25

26 Funções Para faciitar a egibiidade e compreensão de uma função é devem ser atribuídos nomes significativos quer à função quer às variáveis utiizadas na sua impementação. As funções devem ser comentadas de forma a que o seu objectivo possa ser inspecionado com a instrução hep. Isso é feito com a inserção de uma ou mais inhas de comentário imediatamente após a assinatura da função. function ph = cacuaph(ka, Ci) % cacuaph(ka, Ci) % cacua o ph de um acido fraco monoprotico, dados: % Ka: constante de dissociacao % Ci: concentracao... end 15 Março 2017 Programação Estruturada; Funções 26

27 Funções function ph = cacuaph(ka, Ci) % cacuaph(ka, Ci) % cacua o ph de um acido fraco monoprotico, dados: % Ka: constante de dissociacao % Ci: concentracao... end >> hep cacuaph 'cacuaph' is a function from the fie... cacuaph(ka, Ci) cacua o ph de um acido fraco monoprotico, dados: Ka: constante de dissociacao Ci: concentracao Additiona hep... >> 15 Março 2017 Programação Estruturada; Funções 27

28 Funções A utiização de funções permite o uso de variáveis ocais que não se confundem com variáveis com o mesmo nome, mas definidas noutras funções ou na janea de comandos. Há três tipos de variáveis ocais usadas numa função, que são criadas quando a função é executada e são destruídas uma vez terminada a sua execução: Parâmetros de entrada Variáve resutado Variáveis auxiiares function ph = cacuaph(ka, Ci) %... x =... % concentracao iónica ph =... end 15 Março 2017 Programação Estruturada; Funções 28

29 Funções Dentro do boco function... end As variáveis são ocais e estão isoadas Não há acesso a variáveis exteriores Permite estruturar o programa separar tarefas sem interferência controar entrada e saída garantir que cada parte funciona e resover probemas compexos. Vamos anaisar em mais detahe uma função muito simpes. 15 Março 2017 Programação Estruturada; Funções 29

30 Funções function res = soma(a,b) res = a+b end Assinatura da função 15 Março 2017 Programação Estruturada; Funções 30

31 Funções function res = soma(a,b) end res = a+b Nome da variáve resutado (na função) com o vaor a devover. Operacionamente: quando chega ao end fina, o interpretador devove uma cópia do vaor guardado na variáve indicada aqui. 15 Março 2017 Programação Estruturada; Funções 31

32 Funções function res = soma(a,b) end res = a+b Nome da função Para o interpretador encontrar a função o nome da função tem de ser igua ao nome do ficheiro com o código fonte: 15 Março 2017 Programação Estruturada; Funções 32

33 Funções function res = soma(a,b) end res = a+b Parâmetros da função variáveis da função que recebem os argumentos, cujo vaor se desconhece na impementação usados na execução. e.g: soma(5,10) parâmetros: a, b argumentos: 5, Março 2017 Programação Estruturada; Funções 33

34 Funções function res = soma(a,b) end res = a+b Os parâmetros a e b contêm cópias dos argumentos fornecidos à função. Estas variáveis a, b e res só existem dentro da função. 15 Março 2017 Programação Estruturada; Funções 34

35 Funções function s = soma3(a,b,c) x = a + b s = x + c end >> soma3(1,3,5) x = 4 s = 9 ans = 9 >> z = soma3(1,3,5) x = 4 s = 9 z = 9 >> >> z z = 9 >> a error: a' undefined near ine 1 coumn 1 >> x error: x' undefined near ine 1 coumn 1 >> s error: 's' undefined near ine 1 coumn 1 >> 15 Março 2017 Programação Estruturada; Funções 35

36 Funções function x = incrementa(x) x = x + 1 end >> x = 4 x = 4 >> incrementa(x) x = 5 ans = 5 >> x x = 4 >> cear x >> error: x' undefined... >> y = 4 y = 4 >> z = incrementa(y) x = 5 z = 5 >> y = incrementa(y) x = 5 y = 5 >> x >> error: x' undefined... >> 15 Março 2017 Programação Estruturada; Funções 36

37 Funções function res = soma(a,b) end res = a+b Útimo detahe: Não queremos ver res no cácuo intermédio >> soma(2,5) res = 7 ans = 7 >> 15 Março 2017 Programação Estruturada; Funções 37

38 Funções function res = soma(a,b) end res = a+b ; Útimo detahe: Não queremos ver res no cácuo intermédio Usar ; >> soma(2,5) res = 7 ans = 7 >> >> soma(2,5) ans = 7 >> 15 Março 2017 Programação Estruturada; Funções 38

39 Funções Recapituando: function res = soma(x,y) Os parâmetros da função recebem cópias dos vaores dados como argumentos. As variáveis na função estão isoadas Não vêem nem são vistas fora da função. Só sai da função uma cópia do vaor da variáve indicada na assinatura da função: 15 Março 2017 Programação Estruturada; Funções 39

40 Funções Nota 1: A variáve (ou variáveis) designada para guardar o vaor devovido tem de ter um vaor atribuído no fina da função. function res = soma(a,b) s = a + b end >> x = soma(2,5) warning: soma: some eements in ist of return vaues are undefined x = [](0x0) >> 15 Março 2017 Programação Estruturada; Funções 40

41 Funções Nota 2: O interpretador verifica primeiro se há uma variáve com esse nome: Se fosse ao contrário, um novo ficheiro.m podia estragar um programa já existente. >> soma = 0 soma = 0 >> s = soma(2,5) function res = soma(a,b) s = a + b end >> error: A(I,J): row index out of bounds; vaue 2 out of bound 1 >> cear soma >> s = soma(2,5) >> s = 7 >> 15 Março 2017 Programação Estruturada; Funções 41

42 Um Probema Cacuar ph do ácido benzóico (mas pode ser de outro ácido.) Variáveis (parâmetros do probema) K a, C i Passos semehantes Fórmua resovente para obter x Cacuar ogaritmo de base 10 para ph 15 Março 2017 Programação Estruturada; Funções 42

43 Um Probema Cacuar ph do ácido benzóico 0.01M C 6 H 5 COOH H + + C 6 H 5 COO - K a = 6.5 x 10-5 (constante de dissociação mais depois) Como resover sendo x = [H + ] = [C 6 H 5 COO - ] K a = x 2 / (C i x) x 2 + K a x C i K a = 0 ph = - og 10 (x) 15 Março 2017 Programação Estruturada; Funções 43

44 Como impementar Compreender totamente o probema dados de entrada resutado e saída 15 Março 2017 Programação Estruturada; Funções 44

45 Como impementar Compreender totamente o probema Agoritmo decompor o probema saber como resover cada parte Usar fórmua resovente para obter x Cacuar -ogaritmo de x 15 Março 2017 Programação Estruturada; Funções 45

46 Como impementar Compreender totamente o probema Agoritmo Abstrair e generaizar ph para quaisquer vaores de K a e C i não é só para o ácido benzóico a maior raiz de uma equação quadrática com a positivo x 2 + K a x C i K a = 0 pode ser úti noutros casos 15 Março 2017 Programação Estruturada; Funções 46

47 Como impementar Compreender totamente o probema Agoritmo Abstrair e generaizar Impementação Precisamos das assinaturas function x = raizmaior(a,b,c) cacua a maior raiz pea fórmua resovente function ph = cacuaph(ka,ci) cacua o ph usando raizmaior 15 Março 2017 Programação Estruturada; Funções 47

48 Como impementar Apesar de ainda não estarem impementadas as funções auxiiares, a função cacuaph já pode ser competamente definida. function ph = cacuaph(ka, Ci) % cacuaph(ka, Ci) % cacua o ph de um acido fraco monoprotico, dados: % Ka: constante de dissociacao % Ci: concentracao H = raizmaior(1, ka, -Ka*Ci) x 2 + K a x C i K a = 0 ph = -og10(h) end Naturamente temos de impementar e testar as funções auxiiares, antes de poder testar esta função. 15 Março 2017 Programação Estruturada; Funções 48

49 Como impementar A função raizmaior pode ser cacuada a partir duma função que devova as raízes de uma equação do 2º grau. No entanto podemos simpificar esta função, retornado apenas o vaor da maior raiz (com o + na fórmua resovente) e sem nos preocuparmos com os casos de raízes imaginárias. function x = raizmaior(a, b, c) % raizmaior(a, b, c) % cacua a maior raiz da equação de grau 2 % com termos a, b, c d = sqrt(b^2-4*a*c) x = (-b + d)/(2*a) end 15 Março 2017 Programação Estruturada; Funções 49

50 Testes Unitários É importante testar cada função individuamente é mais fáci diagnosticar e corrigir erros se sabemos onde ocorrem depois da função estar impementada e testada já não precisamos pensar nessa parte do probema 15 Março 2017 Programação Estruturada; Funções 50

51 Testes Unitários Testar casos diferentes pode haver erros de execução em certas condições pode não dar o resutado certo em certos casos Testar casos com resutado conhecido só assim podemos identificar erros ógicos e numéricos, que não produzem mensagens de erro. 15 Março 2017 Programação Estruturada; Funções 51

52 Testar a Função Pensamos num caso com soução conhecida. x 2-4x + 4 = 0 (a = 1, b = -4, c = 4) deve dar x = 2 Experimentamos >> raizmaior(1,-4,4) ans = 2 >> 15 Março 2017 Programação Estruturada; Funções 52

53 Testar a Função Pensamos noutro caso com soução conhecida. x 2 = 0 (a = 1, b = 0, c= 0) deve dar x = 0 Experimentamos este outro caso >> raizmaior(1, 0, 0) ans = 0 >> Experimentamos Março 2017 Programação Estruturada; Funções 53

54 Testar a Função Uma vez testadas as funções auxiiares já se pode testar a função principa. function ph = cacuaph(ka, Ci) % cacuaph(ka, Ci) % cacua o ph de um acido fraco monoprotico, dados: % Ka: constante de dissociacao % Ci: concentracao H = raizmaior(1, ka, -Ka*Ci) ph = -og10(h) end >> cacuaph(6.5e-5,0.01) ans = >> O mesmo resutado que se obteve com o script benzoico 15 Março 2017 Programação Estruturada; Funções 54

55 Decomposição de Funções Decompor em funções Vantagens Divide o probema em partes menores podemos pensar em cada tarefa individuamente Permite testes unitários Permite construir programas compexos dentro de function end o código fica isoado Permite reutiizar código e.g. raizmaior pode servir noutros casos Permite obter aprovação a ICE Março 2017 Programação Estruturada; Funções 55

56 Um Probema Semehante Fazer a mesma coisa, mas dando massa moar, massa em soução, voume e K a. e.g. qua o ph de 0.01g de ácido benzóico em dm3? Decompor o probema Cacuar concentração Cacuar ph esta parte já está feita 15 Março 2017 Programação Estruturada; Funções 56

57 Um Probema Semehante ph dada a massa moar, massa em soução, voume e Ka. function x = raizmaior(a,b,c) cacua a maior raiz da equação quadrática que dá a concentração de [H+] function ph = cacuaph(ka,ci) cacua o ph a partir da constante de dissociação e a concentração inicia usando raizmaior function ph = phmassvo(mass,vo,massmo,ka) cacua concentração e chama cacuaph 15 Março 2017 Programação Estruturada; Funções 57

58 Um Probema Semehante ph dada a massa moar, massa em soução, voume e K a. function ph = phmassvo(mass, vo, massmo, Ka) % phmassvo(mass, vo, massmo, Ka) % cacua o ph de um acido fraco monoprotico, dados: % mass: massa do acido % vo: voume da soucao % massmo: massa moar do acido % Ka: constante de dissociacao Ci = (mass/massmo)/vo; % concentracao moar inicia ph = cacuaph(ka, Ci) end 15 Março 2017 Programação Estruturada; Funções 58

59 Um Probema Semehante Podemos iguamente testar esta nova função. function ph = phmassvo(mass, vo, massmo, Ka) % phmassvo(mass, vo, massmo, Ka) % cacua o ph de um acido fraco monoprotico, dados: % mass: massa do acido % vo: voume da soucao % massmo: massa moar do acido % Ka: constante de dissociacao Ci = (mass/massmo)/vo; % concentracao moar inicia ph = cacuaph(ka, Ci) end >> phmassvo(1.2212,1,122.12,6.5e-5) ans = >> phmassvo(0.01,0.25,122.12,6.5e-5) ans = resutado anterior resutado correcto 15 Março 2017 Programação Estruturada; Funções 59

60 Testes: quatro tipos de erro Erro de sintaxe na interpretação do código fonte parênteses, picas, operadores em fata, Erros de afectação >> 6 + * 12 parse error: syntax error >>> 6 + * 12 ^ >> a + 2 = 6 parse error: invaid eft hand side of assignment >>> a+2 = 6 ^ 15 Março 2017 Programação Estruturada; Funções 60

61 Testes: quatro tipos de erro Erro de execução o programa é interrompido variáve não definida, função não definida, >> cear x >> y = x + 1 error: 'x' undefined near ine 1 coumn 5 >> x = f(5) error: f' undefined near ine 1 coumn 5 >> 15 Março 2017 Programação Estruturada; Funções 61

62 Testes: quatro tipos de erro Erro ógico não há mensagem de erro mas o resutado está errado function x = raizmaior(a, b, c) % raizmaior(a, b, c) d = sqrt(b^2-4*a*c) x = (-b + d)/ 2 % ERRO: fata o a no denominador end Só podem ser detectados através dos testes (unitários) >> raizmaior(1, -4, 4) ans = 2 >> raizmaior(2, -4, 2) ans = 2 >> resutado correcto?? com a = 1 o erro não se revea resutado incorrecto!! ans deveria ser 1 15 Março 2017 Programação Estruturada; Funções 62

63 Testes: quatro tipos de erro Erro numérico se resutados das operações aritméticas não são exactos a fata de precisão pode afectar a saída do programa. >> x = sin(pi) x = e-16 >> 2 - sqrt(2)^2 ans = e-16 >> Especiamente importantes se os cácuos são iterados um número muito grande de vezes 15 Março 2017 Programação Estruturada; Funções 63

64 Representação de Inteiros Um número inteiro pode ser representado com uma combinação de bits. em base 2 2 bits, 2 2 possibiidades bits, 2 4 possibiidades bits (1 byte), 2 8 = 256 possibiidades em binário em decima 15 Março 2017 Programação Estruturada; Funções 64

65 Representação de Inteiros Um número inteiro pode ser representado com uma combinação de bits. por omissão, MATLAB usa 32 bits para representar cada número inteiro 2 32 = combinações um bit para o sina intmin intmax NOTA: Cácuos que utrapassem estes imites dão erro 15 Março 2017 Programação Estruturada; Funções 65

66 Representação de Inteiros 32 bits para representar um inteiro Funções (constantes) intmax e intmin >> intmax ans = >> intmax+10 ans = >> (intmax+10)-intmax ans = 0 >> intmin ans = >> intmin -10 ans = ????????? 15 Março 2017 Programação Estruturada; Funções 66

67 Representação de Reais Um número rea é representado com 64 bits* (vírgua futuante) Sina (+, -) : 1 bit * Em precisão dupa, por omissão em MATLAB. Em precisão simpes são 32 bits. Expoente: 11 bits (8) Fracção: 52 bits (23) r = (-1) Sina Fracção 2 Expoente Sina Expoente Fracção 15 Março 2017 Programação Estruturada; Funções 67

68 Representação de Reais Maior vaor: reamax: ± ± em precisão simpes Menor vaor não nuo reamin: ± ± em precisão simpes Precisão reativa (épsion) eps: ±2.2204x ± x 10-7 em precisão simpes 15 Março 2017 Programação Estruturada; Funções 68

69 Representação de Reais Precisão reativa (épsion) eps: ±2.2204x ± x 10-7 em precisão simpes O menor número que somado a 1 dá um resutado diferente de 1: >> eps ans = e-016 >> (1+eps) - 1 ans = e-016 >> eps/2 ans = e-16 >> (1+eps/2) - 1 ans = 0??? 15 Março 2017 Programação Estruturada; Funções 69

70 Representação de Reais Resumindo: Todos os dados no computador são sequências de bits. A memória é imitada (64 bits para os números), por isso a precisão é imitada. Normamente não há probema, mas atenção aos arredondamentos 15 Março 2017 Programação Estruturada; Funções 70

71 Scripts vs Functions Em ICE os ficheiros de script são opcionais ficheiros de código fonte que não definem uma função podem ser úteis para testes e desenvovimento são úteis quando utiizam programas reprodutibiidade, registo dos argumentos, conveniência mas em ICE não vamos pedir (nem querer) que entreguem os vossos programas como scripts. Sempre funções 15 Março 2017 Programação Estruturada; Funções 71

72 Scripts vs Functions Funções function end são fundamentais vão precisar deas para tudo em ICE exercícios, trabahos, testes, exame os programas que entregam devem ser executados chamando uma função. isto garante que o programa é independente do que se faça antes ou depois. sem saber escrever funções não se faz praticamente nada em MATLAB Março 2017 Programação Estruturada; Funções 72

73 Cico de Vida do Código Edição do código fonte escrito, guardado em ficheiros.m Interpretação do código fonte o interpretador traduz as instruções em instruções para o CPU Execução o CPU executa o programa Testar e avaiar o resutado e votar à edição as vezes que for preciso Março 2017 Programação Estruturada; Funções 73

74 Estio de Código O código fonte serve para o interpretador executar o programa para nós (quem?) percebermos o programa Código difíci de perceber terá mais erros é mais difíci de corrigir, mehorar, aterar ou reaproveitar dá pior nota a ICE 15 Março 2017 Programação Estruturada; Funções 74

75 Estio de Código Nomes de variáveis: Descritivos, começando em minúscua e indicando diferentes paavras com maiúscua. Exempos: mass, vo, massmo function ph = phmassvo(mass, vo, massmo, Ka) % phmassvo(mass, vo, massmo, Ka) % cacua o ph de um acido fraco monoprotico, dados: % mass: massa do acido % vo: voume da soucao % massmo: massa moar do acido % Ka: constante de dissociacao Ci = (mass/massmo)/vo; % concentracao moar inicia ph = cacuaph(ka, Ci) end 15 Março 2017 Programação Estruturada; Funções 75

76 Estio de Código Nomes de variáveis: Excepção quando os nomes correspondem a uma convenção prévia. Nesse caso os nomes das variáveis devem respeitar a convenção esperada. Exempos: a, b, c e x na fórmua resovente, ou Ka, Ci e ph function x = raizmaior(a, b, c) % raizmaior(a, b, c) d = sqrt(b^2-4*a*c) x = (-b + d)/ 2 % ERRO: fata o a no denominador end 15 Março 2017 Programação Estruturada; Funções 76

77 Estio de Código Nomes de funções: Devem descrever o que a função faz. Há três convenções comuns: só minúscuas, (menos probemas com nomes de ficheiros) minúscuas e maiúscuas (e.g. phmassvo) ou underscore (_) para separar temos (e.g. ph_mass_vo) function ph = phmassvo(mass, vo, massmo, Ka) % phmassvo(mass, vo, massmo, Ka) %... Ci = (mass/massmo)/vo; % concentracao moar inicia ph = cacuaph(ka, Ci) end 15 Março 2017 Programação Estruturada; Funções 77

78 Estio de Código Indentação: Devem descrever o que a função faz. Cada boco de código é ainhado à esquerda e indentado para indicar a que parte pertence (votaremos a isto nas próximas auas quando o código se tornar mais compexo). function ph = phmassvo(mass, vo, massmo, Ka) % phmassvo(mass, vo, massmo, Ka) %... Ci = (mass/massmo)/vo; % concentracao moar inicia ph = cacuaph(ka, Ci) end 15 Março 2017 Programação Estruturada; Funções 78

79 Estio de Código Inteigibiidade: Cada inha de código deve corresponder a um passo do programa fáci de perceber e faça sentido naquee contexto. Também se deve evitar inhas demasiado ongas, dividindo expressões compexas em vários passos. function ph = cacuaph(ka, Ci) % cacuaph(ka, Ci) % cacua o ph de um acido fraco monoprotico, dados: % Ka: constante de dissociacao % Ci: concentracao H = raizmaior(1, ka, -Ka*Ci) ph = -og10(h) end 15 Março 2017 Programação Estruturada; Funções 79

80 Estio de Código Documentação e comentários: As funções devem conter documentação que expique o seu funcionamento usando a função hep. Outros comentários também devem ser acrescentados sempre que forem úteis para escarecer agum ponto do funcionamento do código. function ph = phmassvo(mass, vo, massmo, Ka) % phmassvo(mass, vo, massmo, Ka) %... Ci = (mass/massmo)/vo; % concentracao moar inicia ph = cacuaph(ka, Ci) end 15 Março 2017 Programação Estruturada; Funções 80

81 Estio de Código Mais (muito mais...) sobre estio em: MATLAB Programming Stye Guideines, por Richard Johnson, 2003 ver 15 Março 2017 Programação Estruturada; Funções 81

82 Resumo Programação estruturada Decompor um probema compexo em probemas mais simpes E assim por diante, até ter probemas eementares Impementar souções em móduos autónomos pensar primeiro na assinatura da função testar bem depois de impementar Abstracção e generaização Abstrair dos detahes do probema Generaizar a soução 15 Março 2017 Programação Estruturada; Funções 82

83 Resumo Perceber o enunciado o que é fornecido e pedido Perceber o probema o que se tem de fazer Conceber o agoritmo tarefas, funções, assinatura de cada uma Impementar cada parte do programa e testar, testar, testar Março 2017 Programação Estruturada; Funções 83

84 Resumo Estio de código Nome de função deve ser descritivo usar umas das 3 convenções Nome de variáve começando em minúscua e com maiúscuas a indicar composição de paavras excepto variáveis que se espera obedecer a outras convenções (Ka, ph,...) Indentação, documentação e comentários 15 Março 2017 Programação Estruturada; Funções 84

85 Para estudar a aua de hoje Recomendado Physica Modeing in MATLAB Capítuo 2 todo Capítuo 5, só secções 5.1 a 5.5 Opciona Manua do Octave Secções 11.1 e 11.9 (tem mais matéria do que é dada nesta discipina) 15 Março 2017 Programação Estruturada; Funções 85

86 Dúvidas? 15 Março 2017 Programação Estruturada; Funções 86

Informática para Ciências e Engenharias (B) 2015/16. Teórica 2

Informática para Ciências e Engenharias (B) 2015/16. Teórica 2 Informática para Ciências e Engenharias (B) 2015/16 Teórica 2 Na aua de hoje Decomposição de probemas Abstracção, generaização e agoritmos Ficheiros e código fonte scripts, funções e como escrever código

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 2

Informática para Ciências e Engenharias 2013/14. Teórica 2 Informática para Ciências e Engenharias 2013/14 Teórica 2 Na aula de hoje... Decomposição de problemas Abstracção, generalização e algoritmos Ficheiros e código fonte scripts, funções e como escrever código

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 3

Informática para Ciências e Engenharias (B) 2015/16. Teórica 3 Informática para Ciências e Engenharias (B) 2015/16 Teórica 3 Na aua de hoje Cico for for end Vectores numéricos e strings sequências de números indexação de vectores Percursos em vectores Cico For Instrução

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3 Informática para Ciências e Engenharias (B) 2016/17 Teórica 3 Na aua de hoje Vetores. Cicos FOR. Percursos em vetores. Exempos 22 Março 2017 Vetores; cicos FOR 2 Probema dos Contaminantes Para avaiar a

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 5

Informática para Ciências e Engenharias (B) 2015/16. Teórica 5 Informática para Ciências e Engenharias (B) 2015/16 Teórica 5 Na aua de hoje Controo de execução cicos condicionais whie end Exempos raiz quadrada whie Histograma whie e matrizes fórmua química whie e

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 4

Informática para Ciências e Engenharias (B) 2015/16. Teórica 4 Informática para Ciências e Engenharias (B) 2015/16 Teórica 4 Na aua de hoje Controo de execução condições if eseif ese end operadores reacionais e ógicos Exempos 1. fórmua resovente 2. cromatograma, GC

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 9

Informática para Ciências e Engenharias (B) 2015/16. Teórica 9 Informática para Ciências e Engenharias (B) 2015/16 Teórica 9 Na aua de hoje Estruturas e vectores de estruturas. Cácuo da massa moecuar Cácuo da fracção de um resíduo em sequências de proteínas Estruturas

Leia mais

3 - Programação Estruturada

3 - Programação Estruturada ICE-B 3 - Programação Estruturada Ludwig Krippahl Programação Estruturada Resumo Exemplo: cálculo de ph Nomes: contexto e importação Programação estruturada Criar funções 1 Programação Estruturada Exemplo:Calcular

Leia mais

ICE-B. 4 - Implementação. Ludwig Krippahl

ICE-B. 4 - Implementação. Ludwig Krippahl ICE-B 4 - Implementação Ludwig Krippahl Implementação Resumo Exemplo: cálculo de ph, agora estruturado Testes unitários Ciclo de vida de um programa Erros e precisão numérica 1 Implementação Exemplo:Calcular

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Sumário Resolução de problemas Metodologia e níveis de abstração. Funções. Testes unitários. Ficheiros com

Leia mais

4 - Implementação ICE-B. Ludwig Krippahl 3/13/2019 ICE-B-04

4 - Implementação ICE-B. Ludwig Krippahl 3/13/2019 ICE-B-04 ICE-B 4 - Implementação Ludwig Krippahl file:///media/ludi/gaveta/my%20documents/aulas/ice-b-1819-2/lectures/04-implementa.html?print-pdf#/ 1/37 Implementação Resumo Exemplo: cálculo de ph, agora estruturado

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 8

Informática para Ciências e Engenharias (B) 2015/16. Teórica 8 Informática para Ciências e Engenharias (B) 2015/16 Teórica 8 Na aua de hoje Organização de um disco. Sistema de ficheiros. Ficheiros de texto e binários. Operações sobre ficheiros de texto. Ficheiros

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 1

Informática para Ciências e Engenharias (B) 2016/17. Teórica 1 Informática para Ciências e Engenharias (B) 2016/17 Teórica 1 Informação Regência / Teóricas Pedro Barahona (pb@fct.un.pt) Auas Práticas Pedro Barahona (pb@fct.un.pt) Jorge Cruz (jcrc@fct.un.pt) Ludwig

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 3

Informática para Ciências e Engenharias 2013/14. Teórica 3 Informática para Ciências e Engenharias 2013/14 Teórica 3 Na aula de hoje... Ciclo for for end Vectores numéricos e strings sequências de números indexação de vectores Percursos em vectores 2 Ciclo for

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 1

Informática para Ciências e Engenharias (B) 2015/16. Teórica 1 Informática para Ciências e Engenharias (B) 2015/16 Teórica 1 Informação Regência e Teóricas Pedro Barahona (pb@fct.un.pt) Outros docentes e mais informação na...... página de ICE-B: http://ssdi.di.fct.un.pt/ice/b

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 7

Informática para Ciências e Engenharias 2013/14. Teórica 7 Informática para Ciências e Engenharias 2013/14 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 7

Informática para Ciências e Engenharias 2014/15. Teórica 7 Informática para Ciências e Engenharias 2014/15 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes

Leia mais

Na figura abaixo, a balança está em equilíbrio e as três melancias têm o mesmo peso. Nessas condições, qual é o peso (em kg) de cada melancia?

Na figura abaixo, a balança está em equilíbrio e as três melancias têm o mesmo peso. Nessas condições, qual é o peso (em kg) de cada melancia? A UUL AL A 5 Introdução à ágebra Na figura abaixo, a baança está em equiíbrio e as três meancias têm o mesmo peso. Nessas condições, qua é o peso (em ) de cada meancia? Para pensar 3 Uma barra de rapadura

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2016 / 17 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de

Leia mais

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2018 / 19

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2018 / 19 Informática para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2018 / 19 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de

Leia mais

A linguagem matemática

A linguagem matemática A UUL AL A A inguagem matemática Observe o texto abaixo. Ee foi extraído de um ivro de geometria chinês. Veja se, mesmo sem saber chinês, você consegue entender o tema do texto, ou seja, sobre o que o

Leia mais

Análise matricial de estruturas não-lineares usando o Método de Newton.

Análise matricial de estruturas não-lineares usando o Método de Newton. Anáise matricia de estruturas não-ineares usando o Método de Newton. Exercício Computaciona - MAP3121 1 Primeiro probema 1.1 Descrição da estrutura não-inear Considere um sistema formado por três barras

Leia mais

A linguagem matemática

A linguagem matemática Acesse: http://fuvestibuar.com.br/ A UUL AL A A inguagem matemática Observe o texto abaixo. Ee foi extraído de um ivro de geometria chinês. Veja se, mesmo sem saber chinês, você consegue entender o tema

Leia mais

ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE 2A - 15 DE JUNHO DE DAS 11H. Apresente e justifique todos os cálculos. dy dt = y t t ; y(1) = 1.

ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE 2A - 15 DE JUNHO DE DAS 11H. Apresente e justifique todos os cálculos. dy dt = y t t ; y(1) = 1. Instituto Superior Técnico Departamento de Matemática Secção de Ágebra e Anáise ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE A - 5 DE JUNHO DE 9 - DAS H ÀS :3H Apresente e justifique todos os cácuos.

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 4

Informática para Ciências e Engenharias 2014/15. Teórica 4 Informática para Ciências e Engenharias 2014/15 Teórica 4 Na aula de hoje... Controlo de execução condições if elseif else end operadores relacionais e lógicos Matrizes criação e percursos em matrizes

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 11

Informática para Ciências e Engenharias (B) 2015/16. Teórica 11 Informática para Ciências e Engenharias (B) 2015/16 Teórica 11 Na aua de hoje Sistemas de bases de dados: Interrogações mais compexas em SQL Envovendo várias tabeas Simuação de modeos contínuos: Integração

Leia mais

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos INSTRUÇÕES DE CONTROLO ÍNDICE. Nuno Mamede

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos INSTRUÇÕES DE CONTROLO ÍNDICE. Nuno Mamede PROGRAMAÇÃ COM OBJECTOS INSTRUÇÕES DE CONTROLO Programação com Objectos ÍNDICE Introdução aos objectos Poimorfismo Tudo é um objecto Interface e casses internas INSTRUÇÕES DE CONTROLO Guardar os objectos

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 10

Informática para Ciências e Engenharias (B) 2015/16. Teórica 10 Informática para Ciências e Engenharias (B) 2015/16 Teórica 10 Na aua de hoje Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQL e MATLAB Um exempo prático Nota:

Leia mais

Recordando operações

Recordando operações A UA UL LA Recordando operações Introdução Vamos iniciar nosso curso de matemática do 2º grau recordando as quatro operações: adição subtração mutipicação divisão Vamos embrar como essas operações são

Leia mais

Recordando operações

Recordando operações A UA UL LA Acesse: http://fuvestibuar.com.br/ Recordando operações Introdução Vamos iniciar nosso curso de matemática do 2º grau recordando as quatro operações: adição subtração mutipicação divisão Vamos

Leia mais

Um dos conceitos mais utilizados em Matemática

Um dos conceitos mais utilizados em Matemática A UA UL LA A noção de função Introdução Um dos conceitos mais utiizados em Matemática é o de função. Ee se apica não somente a esta área, mas também à Física, à Química e à Bioogia, entre outras. Aém disso,

Leia mais

Calculando áreas. Após terem sido furadas, qual delas possui maior área?

Calculando áreas. Após terem sido furadas, qual delas possui maior área? A UA UL LA 53 5 Cacuando áreas Para pensar Imagine que você vá revestir o piso de sua saa com ajotas. Para saber a quantidade de ajotas necessária, o que é preciso conhecer: a área ou o perímetro da saa?

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 6

Informática para Ciências e Engenharias (B) 2015/16. Teórica 6 Informática para Ciências e Engenharias (B) 2015/16 Teórica 6 Na aua de hoje Representação de imagens pixes, sistema RGB Gráficos em MATLAB Gráficos simpes Imagens 2D Exempo: difusão Gráficos 3D Exempo:

Leia mais

Triângulos especiais

Triângulos especiais A UA UL LA Acesse: http://fuvestibuar.com.br/ Triânguos especiais Introdução Nesta aua, estudaremos o caso de dois triânguos muito especiais - o equiátero e o retânguo - seus ados, seus ânguos e suas razões

Leia mais

Calculando áreas. Após terem sido furadas, qual delas possui maior área?

Calculando áreas. Após terem sido furadas, qual delas possui maior área? A UA UL LA Cacuando áreas Para pensar Imagine que você vá revestir o piso de sua saa com ajotas. Para saber a quantidade de ajotas necessária, o que é preciso conhecer: a área ou o perímetro da saa? Foram

Leia mais

As combinações. combinatória que envolviam o princípio multiplicativo e as permutações.

As combinações. combinatória que envolviam o princípio multiplicativo e as permutações. Acesse: http://fuvestibuar.com.br/ AUUL AL A As combinações Até agora você estudou probemas de anáise combinatória que envoviam o princípio mutipicativo e as permutações. Introdução Se observar os probemas

Leia mais

Podemos utilizar o cálculo do determinante para nos auxiliar a encontrar a inversa de uma matriz, como veremos à seguir.

Podemos utilizar o cálculo do determinante para nos auxiliar a encontrar a inversa de uma matriz, como veremos à seguir. O cácuo da inversa de uma matriz quadrada ou trianguar é importante para ajudar a soucionar uma série probemas, por exempo, a computação gráfica, na resoução de probemas de posicionamento de juntas articuadas

Leia mais

Operando com potências

Operando com potências A UA UL LA 71 Operando com potências Introdução Operações com potências são muito utiizadas em diversas áreas da Matemática, e em especia no cácuo agébrico O conhecimento das propriedades operatórias da

Leia mais

Breve resolução do e-fólio B

Breve resolução do e-fólio B ÁLGEBRA LINEAR I 22 Breve resoução do e-fóio B I. Questões de escoha mútipa. d), pois o vetor nuo pertence a quaquer subespaço, e a intersecção de 2 subespaços ainda é um subespaço. 2. c), os 3 vetores

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 9

Informática para Ciências e Engenharias (B) 2016/17. Teórica 9 Informática para Ciências e Engenharias (B) 2016/17 Teórica 9 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQL e MATLAB Um exempo prático Nota: Aguns

Leia mais

Informática para Ciências e Engenharias 2012/13. Teórica 9

Informática para Ciências e Engenharias 2012/13. Teórica 9 Informática para Ciências e Engenharias 2012/13 Teórica 9 Na aula de hoje... Estruturas e vectores de estruturas. Cálculo da massa molecular Cálculo da fracção de um resíduo em sequências de proteínas

Leia mais

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35 BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: Introdução

PROGRAMAÇÃO ORIENTADA A OBJETOS: Introdução PROGRAMAÇÃO ORIENTADA A OBJETOS: Introdução Um pouco de História Primeiras Máquinas de Cacuar Ábaco há aproximadamente 4.000 a.c. Um pouco de História Primeiras Máquinas de Cacuar PASCALINA ano de 1642(Baise

Leia mais

Operando com potências

Operando com potências A UA UL LA Acesse: http://fuvestibuar.com.br/ Operando com potências Introdução Operações com potências são muito utiizadas em diversas áreas da Matemática, e em especia no cácuo agébrico. O conhecimento

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 10

Informática para Ciências e Engenharias (B) 2016/17. Teórica 10 Informática para Ciências e Engenharias (B) 2016/17 Teórica 10 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de modeos contínuos: Integração de equações

Leia mais

Num determinado jogo de fichas, os valores

Num determinado jogo de fichas, os valores A UA UL LA Acesse: http://fuvestibuar.com.br/ Potências e raízes Para pensar Num determinado jogo de fichas, os vaores dessas fichas são os seguintes: 1 ficha vermeha vae 5 azuis; 1 ficha azu vae 5 brancas;

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 7

Informática para Ciências e Engenharias (B) 2015/16. Teórica 7 Informática para Ciências e Engenharias (B) 2015/16 Teórica 7 Na aua de hoje Introdução às redes de computadores e à Internet: Redes de computadores e seus protocoos Obtenção de dados da Internet usando

Leia mais

Apresentação. Informação geral + Conceitos iniciais

Apresentação. Informação geral + Conceitos iniciais Apresentação Informação geral + Informação geral Página da cadeira Objectivos principais Compreender a importância dos algoritmos e dos programas de computador para a resolução de problemas em engenharia.

Leia mais

ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE

ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE Instituto Superior Técnico Departamento de Matemática Secção de Ágebra e Anáise ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE Séries de Fourier (1 Desenvova

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 9

Informática para Ciências e Engenharias 2014/15. Teórica 9 Informática para Ciências e Engenharias 2014/15 Teórica 9 Na aula de hoje... Estruturas e vectores de estruturas. Cálculo da massa molecular Cálculo da fracção de um resíduo em sequências de proteínas

Leia mais

Computação e Linguagem de Programação

Computação e Linguagem de Programação Computação e Linguagem de Programação Aua 5 parte 1 Professores Sandro Fonseca de Souza Dison de Jesus Damião 1 Sumário Bibiografia Sugerida Motivações em FAE Introdução à Programação Linguagem de Programação

Leia mais

Informática para Ciências e Engenharias (C) Trabalho Prático /18

Informática para Ciências e Engenharias (C) Trabalho Prático /18 Informática para Ciências e Engenharias (C) Trabalho Prático - 2017/18 1. Contexto O módulo de Young ou módulo de elasticidade é um parâmetro mecânico que proporciona uma medida da rigidez de um material

Leia mais

8.5 Cálculo de indutância e densidade de energia magnética

8.5 Cálculo de indutância e densidade de energia magnética 8.5 Cácuo de indutância e densidade de energia magnética Para agumas geometrias de mahas pode-se cacuar a indutância aproximadamente. Cacuamos aqui a indutância de uma maha que contém um soenoide ciíndrico

Leia mais

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários Nesta aula... 1 2 Introdução à - minor Ciência de computadores: incluí tópicos de matemática (linguagens formais para especificar ideias) engenharia (projetar, juntar componentes para formar um sistema,

Leia mais

O triângulo é uma figura geométrica muito. Você já sabe que o triângulo é uma figura geométrica de:

O triângulo é uma figura geométrica muito. Você já sabe que o triângulo é uma figura geométrica de: U UL L cesse: http://fuvestibuar.com.br/ Triânguos Para pensar O triânguo é uma figura geométrica muito utiizada em construções. Você já deve ter notado que existem vários tipos de triânguo. Observe na

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

A função f(x) = x é a função modular, cujo gráfico. A função g(x) = 1 - x é a função f(x) transformada.

A função f(x) = x é a função modular, cujo gráfico. A função g(x) = 1 - x é a função f(x) transformada. Q uestão 6 - C O número 100.000.000.000 é uma potência inteira de dez igua a 10 11 ; pois 10 10 10... 10 = 100.000.000.000 11 fatores 10 Q uestão 7 - B Todos os números inteiros com o agarismo das unidades

Leia mais

Na natureza nada se cria, nada se perde, tudo se transforma

Na natureza nada se cria, nada se perde, tudo se transforma Na natureza nada se cria, nada se perde, tudo se transforma A UU L AL A Conservação da matéria na reação química Proporção das substâncias que reagem que você vai aprender que é uma fórmua química significado

Leia mais

Computação e Linguagem de Programação

Computação e Linguagem de Programação Computação e Linguagem de Programação Aua 5 parte 2 Professores Sandro Fonseca de Souza Dison de Jesus Damião 1 Sumário Linguagem de Programação C++ Tipos de dados; Operadores; Strings; Funções intrínsecas

Leia mais

Informática para Ciências e Engenharias B

Informática para Ciências e Engenharias B Informática para Ciências e Engenharias B Trabalho Prático 2016/17 1 Objetivo do Trabalho A depuração plasmática é o processo de remoção de uma substância do plasma sanguíneo, principalmente por acção

Leia mais

Triângulos. O triângulo é uma figura geométrica muito. Para pensar. Nossa aula

Triângulos. O triângulo é uma figura geométrica muito. Para pensar. Nossa aula U UL L 41 Triânguos Para pensar O triânguo é uma figura geométrica muito utiizada em construções. Você já deve ter notado que existem vários tipos de triânguo. Observe na armação do tehado os tipos diferentes

Leia mais

Perfis Importantes no Scrum

Perfis Importantes no Scrum Scrum Modeo ági de gestão de projetos; Conceito mais importante chama-se sprint (ou cico); Origem na indústria automobiística; Livro de Schwaber e Beede (2001) expica de forma competa e sistemática; Perfis

Leia mais

Você já percebeu que os gráficos são cada vez. Relatórios de empresas Análises governamentais Relatórios de pesquisas Balanços financeiros

Você já percebeu que os gráficos são cada vez. Relatórios de empresas Análises governamentais Relatórios de pesquisas Balanços financeiros A UA UL LA 66 Gráfico de uma equação Introdução Você já percebeu que os gráficos são cada vez mais usados na comunicação. Podemos encontrá-os em vários tipos de pubicação, expressando os mais diversos

Leia mais

Informática para Ciências e Engenharias-B 2018/19

Informática para Ciências e Engenharias-B 2018/19 Informática para Ciências e Engenharias-B 2018/19 Trabalho Prático N o 2 2018/19 1 Objectivo do Trabalho Um grupo de historiadores está a estudar uma série de experiências antigas de química e precisa

Leia mais

Técnicas de Programação

Técnicas de Programação Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame

Leia mais

A Análise de Causa Raiz pode ser uma das ferramentas mais importantes que sua organização pode ter nas mãos.

A Análise de Causa Raiz pode ser uma das ferramentas mais importantes que sua organização pode ter nas mãos. Av. São Francisco, 65 cj. 51 Centro Santos SP te. 13 3219-2167 Aumente seu orçamento utiizando a ACR Por Chris Eckert, P.E., CMRP, Presidente da Soogic Uma versão deste artigo foi pubicada na edição de

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 8

Informática para Ciências e Engenharias 2014/15. Teórica 8 Informática para Ciências e Engenharias 2014/15 Teórica 8 Na aula de hoje... Organização de um disco. Sistema de ficheiros. Ficheiros de texto e binários. Operações sobre ficheiros de texto. 2 Ficheiros

Leia mais

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Apresentação Computação e Programação (CP) 2013/2014 Aula 1 Objetivos Ficar a saber: funcionamento da unidade curricular (UC) Computação

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 O Computador A Memória Principal A Linguagem do Computador Os Dados e

Leia mais

O círculo e o número p

O círculo e o número p A UA UL LA 45 O círcuo e o número p Para pensar O círcuo é uma figura geométrica bastante comum em nosso dia-a-dia. Observe à sua vota quantos objetos circuares estão presentes: nas moedas, nos discos,

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame

Leia mais

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Leia mais

XXVII Olimpíada Brasileira de Matemática GABARITO Segunda Fase

XXVII Olimpíada Brasileira de Matemática GABARITO Segunda Fase XXVII Oimpíada Brasieira de Matemática GBRITO Segunda Fase Souções Níve 3 Segunda Fase Parte CRITÉRIO DE CORREÇÃO: PRTE Na parte serão atribuídos 4 pontos para cada resposta correta e a pontuação máxima

Leia mais

FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ

FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ Matemática 9º ano 1º bimestre / 2013 PLANO DE TRABALHO Semehança Fonte: http://pt.wikipedia.org/wiki/semehan%c3%a7a Tarefa 2 Cursista:

Leia mais

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais Detecção de Infração em faixa de pedestres sem semáforos utiizando visão computaciona e redes neurais Aves, B. G. C.; ima, A. C. de C. Departamento de Engenharia Eétrica - Escoa Poitécnica - UFBA, R. Aristides

Leia mais

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Aula teórica 7. Preparado por eng.tatiana Kovalenko Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana

Leia mais

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão Exercícios de Programação e Computação para Arquitectura António Menezes Leitão 29 de Outubro de 2013 1 Introdução Considere uma cidade organizada em termos de quarteirões. Para simpificar, vamos assumir

Leia mais

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos

Leia mais

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701 www.decom.ufop.br/moodle Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada

Leia mais

Do que são formados os átomos?

Do que são formados os átomos? A U L A A U L A Acesse: http://fuvestibuar.com.br/ Do que são formados os átomos? O que você vai aprender Do que o átomo é formado. Partícuas que existem no átomo: prótons, eétrons e nêutrons Como se formam

Leia mais

Um Método para o Cálculo da Inversa de Matrizes Simétricas e Positivas Definidas em Bloco

Um Método para o Cálculo da Inversa de Matrizes Simétricas e Positivas Definidas em Bloco Proceeding Series of the Braziian Society of Appied and Computationa Mathematics, Vo 5, N 1, 2017 Trabaho apresentado no CNMAC, Gramado - RS, 2016 Proceeding Series of the Braziian Society of Computationa

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Conceitos Básicos Profa. Márcia Cristina Moraes Profa.Milene Selbach Silveira Material para estudo: Forbellone, A. e Eberspächer, H. (2005) capítulos 1 e 2 (até atribuição)

Leia mais

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2 Universidade Federal do Rio de Janeiro Instituto de Matemática / DCC Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação - 2003/2 Prof. A. C. G. Thomé, PhD thome@nce.ufrj.br Airam C. P.

Leia mais

Programação em Matlab. Apenas Âmbito e Erros de programação

Programação em Matlab. Apenas Âmbito e Erros de programação Programação em Matlab Apenas Âmbito e Erros de programação Âmbito O âmbito de um identificador é o conjunto das regiões de código dentro das quais esse identificador pode ser usado. Uma variável definida

Leia mais

CPV O Cursinho que Mais Aprova na GV

CPV O Cursinho que Mais Aprova na GV CPV O Cursinho que Mais Aprova na GV FGV ADM 09/jun/0 MATEMÁTICA (MÓDULO OBJETIVO PROVA A) 0. No pano cartesiano, a reta (r) intercepta os eixos x e y nos pontos (5; 0) e (0; ); a reta (s) intercepta os

Leia mais

Introdução à linguagem de programação C. Alexandre Mota

Introdução à linguagem de programação C. Alexandre Mota Introdução à linguagem de programação C Alexandre Mota acm@cin.ufpe.br Do código-fonte ao executável Nossa preocupação maior neste curso está com o código-fonte. Nossa carta de intenções para com o computador!

Leia mais

Áreas de Figuras Planas: Resultados Básicos - Parte 1. Nono Ano. Autor: Prof. Ulisses Lima Parente Revisor: Prof. Antonio Caminha M.

Áreas de Figuras Planas: Resultados Básicos - Parte 1. Nono Ano. Autor: Prof. Ulisses Lima Parente Revisor: Prof. Antonio Caminha M. Materia Teórico - Móduo Áreas de Figuras Panas Áreas de Figuras Panas: Resutados ásicos - Parte Nono no utor: Prof. Uisses Lima Parente Revisor: Prof. ntonio amina M. Neto de setemro de 08 Porta da OMP

Leia mais

4 DEFINIÇÃO DA GEOMETRIA, MALHA E PARÂMETROS DA SIMULAÇÃO

4 DEFINIÇÃO DA GEOMETRIA, MALHA E PARÂMETROS DA SIMULAÇÃO 4 DEFINIÇÃO DA GEOETRIA, ALHA E PARÂETROS DA SIULAÇÃO 4.1 Fornaha experimenta A fornaha experimenta utiizada como caso teste por Garreton (1994), era de 400kW aimentada com gás natura. Deste trabaho, estão

Leia mais

Método dos Deslocamentos

Método dos Deslocamentos Método dos Desocamentos formuação matemática do método das forças e dos desocamentos é bastante semehante, devendo a escoha do método de anáise incidir num ou noutro conforme seja mais vantajoso O método

Leia mais

Unidade 4: Introdução à Lógica de Programação - Parte II

Unidade 4: Introdução à Lógica de Programação - Parte II Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação

Leia mais

Os opostos se atraem A U L A. O que você vai aprender. Seria bom já saber. Isto lhe interessa

Os opostos se atraem A U L A. O que você vai aprender. Seria bom já saber. Isto lhe interessa A U L A A U L A Os opostos se atraem O que você vai aprender Produção de coro Usos do coro Eetróise de soução saturada de coreto de sódio Seria bom já saber Produção de hidróxido de sódio O que são cátions

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de

Leia mais

5. Expressões aritméticas

5. Expressões aritméticas 5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis

Leia mais