ICE-B. 4 - Implementação. Ludwig Krippahl
|
|
- Daniel Fartaria Bardini
- 6 Há anos
- Visualizações:
Transcrição
1 ICE-B 4 - Implementação Ludwig Krippahl
2 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
3 Implementação Exemplo:Calcular ph 2
4 Calcular ph Solução de ácido benzóico C H COOH Constante de dissociação, H + C H COO Ignorando auto-dissociação da água: [ H + ][ C 6 H 5 CO O ] K a [ C 6 H 5 COOH] Resolvemos equação quadrática, (só precisamos da solução positiva) Depois calculamos o ph: K a = x 10 5 = = + x = 0 x 2 K a C i K a C i x x = b± b 2 4ac 2a ph = lo ([ ]) = lo (x) g 10 H + g 10 3
5 Calcular ph Compreender, generalizar e decompor Generalização: Calcular o ph de um ácido fraco monoprótico Decomposição: Obter a raíz positiva e calcular o ph Criamos ficheiro phcalc.py com o "esqueleto" do programa # -*- coding: utf-8 -*- Computes ph of an acid from concentration def positive_root(a, b, c): "return positive root of quadratic equation" def compute_ph(ka, Ci): return ph value for weak acid from dissociation constant and initial concentration 4
6 Calcular ph "Esqueleto" do programa É uma boa ideia fazer primeiro um esboço do programa Permite ver se encaixa tudo e se é preciso decompor mais Estas funções ainda não fazem nada mas este código já cria os objectos. def positive_root(a, b, c): "return positive root of quadratic equation" A string logo a seguir à assinatura é a documentação Podem usar ''' ou se o texto ocupar várias linhas In : help(positive_root) Help on function positive_root in module main : positive_root(a, b, c) return positive root of quadratic equation 5
7 Calcular ph Documentação do módulo A string no início do módulo é útil como documentação # -*- coding: utf-8 -*- Computes ph of an acid from concentration Depois de executar com F5, podemos importá-lo e pedir ajuda In : import phcalc In : help(phcalc) Help on module phcalc: NAME phcalc - Computes ph of an acid from concentration FUNCTIONS compute_ph(ka, Ci) return ph value for weak acid from dissociation constant and initial concentration... 6
8 Calcular ph Implementar as funções Depois de perceber os objectivos e o algoritmo e de decompor em tarefas podemos implementar cada função Devemos começar pelas "pontas", aquelas que não dependem de nenhuma outra que tenhamos de implementar def positive_root(a, b, c): "return positive root of quadratic equation" root = (-b + (b**2-4*a*c)**0.5)/(2*a) return root Depois devemos testar: In : positive_root(1,0,-1) #x**2 + 0x - 1 Out: 1.0 In : positive_root(1,-2,0) #x**2-2x + 0 Out: 2.0 7
9 Calcular ph Implementar as funções Depois de implementar e testar uma função podemos passar a outra que dependa desta Como o cálculo do ph precisa do logaritmo, temos de importar log10 É melhor fazer todos os import no início do módulo # -*- coding: utf-8 -*- Computes ph of an acid from concentration from numpy import log10 def positive_root(a, b, c):... def compute_ph(ka, Ci):... 8
10 Calcular ph Implementar as funções Agora implementamos e testamos esta também def compute_ph(ka, Ci): return ph value for weak acid from dissociation constant and initial concentration H = positive_root(1, Ka, -Ka*Ci) return -log10(h) Testar com valores que permitam confirmar o resultado: In : compute_ph(6.5e-5,0.01) Out:
11 Testes Unitários Testar sempre cada função Decompomos um problema complexo em problemas mais simples. Mas depois vai ser preciso juntar tudo. Um erro descoberto só no final é mais difícil de encontrar e corrigir. É preciso testar: Sempre que implementamos algo de novo. Sempre que corrigimos um erro, para confirmar. Sempre que alteramos alguma função. 10
12 Testes Unitários Sugestão: automatizar os testes todos Opção 1: uma função no final do nosso módulo Numa função para não correr os testes sempre que usamos o módulo... def tests(): run unit tests on all functions print("positive_root, 1.0:", positive_root(1,0,-1)) print("positive_root, 2.0:",positive_root(1,-2,0)) print("compute_ph, 3.111:",compute_pH(6.5e-5,0.01)) É importante que se possa verificar o resultado também In : tests() positive_root, 1.0: 1.0 positive_root, 2.0: 2.0 compute_ph, 3.111:
13 Testes Unitários Sugestão: automatizar os testes todos Opção 2: um módulo só para testes (phtests.py) # -*- coding: utf-8 -*- run unit tests on all functions in phcalc from phcalc import positive_root, compute_ph print("positive_root, 1.0:", positive_root(1,0,-1)) print("positive_root, 2.0:",positive_root(1,-2,0)) print("compute_ph, 3.111:",compute_pH(6.5e-5,0.01)) Basta correr com F5 Neste caso não é preciso função porque o módulo é só para testes In : runfile('/pasta/phtests.py', wdir='/pasta') positive_root, 1.0: 1.0 positive_root, 2.0: 2.0 compute_ph, 3.111:
14 Testes Unitários Atenção: funções são criadas na execução do def... def tests(): run unit tests on all functions print("positive_root, 1.0:", positive_root(1,0,-1)) print("positive_root, 2.0:",positive_root(1,-2,0)) print("compute_ph, 3.111:",compute_pH(6.5e-5,0.01)) Sempre que alterarem alguma coisa no vosso programa precisam de criar novamente os objectos das funções alteradas Para isso o interpretador tem de reler a assinatura da função e toda a "receita" no corpo da função A forma mais prática de fazer isso no Spyder é F5 (Grava e corre todo o ficheiro) O Spyder automaticamente recarrega outros módulos 13
15 Testes Unitários Atenção: funções são executadas só em nome(... ) In : tests() positive_root, 1.0: 1.0 positive_root, 2.0: 2.0 compute_ph, 3.111: Quando se corre módulo as funções são criadas mas não usadas A menos que o módulo inclua também chamadas às funções # -*- coding: utf-8 -*-... def tests(): print("positive_root, 1.0:", positive_root(1,0,-1)) print("positive_root, 2.0:",positive_root(1,-2,0)) print("compute_ph, 3.111:",compute_pH(6.5e-5,0.01)) tests() 14
16 Testes Unitários Atenção: função só devolve valor em return # -*- coding: utf-8 -*-... def tests(): print("positive_root, 1.0:", positive_root(1,0,-1)) print("positive_root, 2.0:",positive_root(1,-2,0)) print("compute_ph, 3.111:",compute_pH(6.5e-5,0.01)) In : tests() positive_root, 1.0: 1.0 positive_root, 2.0: 2.0 compute_ph, 3.111: O print escreve na consola mas a função tests() não devolveu valor (devolveu None). 15
17 Programação Estruturada Erros 16
18 Erros Erro de sintaxe Erro na escrita do código que impede o interpretador de o executar Este é o mais fácil de corrigir, porque sabemos logo que o cometemos In : 6 * * 2 6 * * 2 ^ SyntaxError: invalid syntax In : ^ SyntaxError: invalid syntax Spyder analisa o código conforme o escrevemos e assinala a linha com o erro 17
19 Erros Erro de execução (Exception) O interpretador sabe o que deve fazer mas não consegue fazê-lo Estes erros só ocorrem durante a execução e podem ser mais difíceis de diagnosticar porque o erro pode estar noutra parte do código In : y = z*2 y = z*2 NameError: name 'z' is not defined In : y = 0 In : z = 1 / y z = 1 / y ZeroDivisionError: division by zero 18
20 Erros Erro lógico O programa corre sem problemas mas não dá o resultado certo Estes erros tendem a ser os mais difíceis de corrigir Exemplo: ph negativo? def positive_root(a, b, c): root = (-b + (b**2-4*a*c)**0.5)/(2*a) return root def compute_ph(ka, Ci): H = positive_root(1, Ka, -Ka*Ci) return log10(h) In : compute_ph(6.5e-5,0.01) Out: (Falta o sinal negativo no cálculo do logaritmo) 19
21 Erros Erro numérico Devido à representação finita de números fraccionários, em 64 bits (Inteiros em Python 3.x usam o número de bits que for necessário) Obriga a arredondamentos e pode ser importante se o cálculo for iterado In : (2**0.5)**2 Out: Representação de números fraccionários em 64 bits: 1 bit para sinal, 11 para expoente (base 2) e 52 para fracção Equivale a cerca de 17 algarismos significativos em decimal 20
22 Erros Erro numérico Informação sobre a representação em 64 bits In : import numpy In : info = numpy.finfo(float) In : info.bits Out: 64 In : info.eps Out: e-16 In : info.tiny Out: e-308 In : info.min Out: e+308 In : info.max Out: e+308 Informação: Número de bits na representação Menor valor que somado a 1 dá >1 In : 1+info.eps-1 Out: e-16 In : 1+0.5*info.eps-1 Out: 0.0 Mais pequeno com plena precisão Menor valor representável Maior valor representável 21
23 Programação Estruturada Código Fonte 22
24 Ciclo de vida Ciclo de vida de um programa Edição do código fonte Escrito, guardado em ficheiros.py 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 avaliar o resultado e voltar à edição as vezes que for preciso... 23
25 Ciclo de vida Ciclo de vida de um programa, exemplo Concebemos, implementámos e testámos o cálculo do ph A partir da concentração inicial e da constante de dissociação Agora temos um novo problema 3 Qual o ph de 0.01g de ácido benzóico em dm? Calcular ph a partir da massa, volume e massa molecular Basta calcular a concentração e usar o que já temos Solução: acrescentamos uma nova função Pensamos no algoritmo: calcular concentração Decompomos se necessário (não é; é simples) Implementamos e testamos 24
26 Ciclo de vida Novo problema: Qual o ph de 0.01g de ácido benzóico em dm 3? Solução: Já temos praticamente tudo feito Basta uma função que calcule a concentração Precisa da massa, massa molar e volume E depois chamar a anterior com concentração e K a def compute_ph_mass(mass, mol_mass, volume, Ka): return ph value of a weak acid solution from mass of solute and volume of solution Ci = mass / mol_mass / volume return compute_ph(ka,ci) 25
27 Ciclo de vida Uma maneira prática é acrescentar ao módulo phcalc # -*- coding: utf-8 -*- Computes ph of an acid from concentration from numpy import log10 def positive_root(a, b, c):... def compute_ph(ka, Ci):... def compute_ph_mass(mass, mol_mass, volume, Ka): return ph value of a weak acid solution from mass of solute and volume of solution Ci = mass / mol_mass / volume return compute_ph(ka,ci) def tests():... 26
28 Ciclo de vida Ciclo de vida de um programa, exemplo Calcular o ph a partir da massa, volume e massa molecular: def compute_ph_mass(mass, mol_mass, volume, Ka): return ph value of a weak acid solution from mass of solute and volume of solution Ci = mass / mol_mass / volume return compute_ph(ka,ci) Testes: def tests():... print("compute_ph, 3.111:",compute_pH(6.5e-5,0.01)) print("compute_ph_mass, ",compute_pH_mass(1.221, 122.1, 1, 6.5e-5)) print("compute_ph_mass, 3.000",compute_pH_mass(0.5, 122.1, 0.25, 6.5e-5)) 27
29 Implementação Estilo de Código 28
30 Estilo de Código É importante escrever código legivel Porque o código fonte serve: Para o interpretador executar Para humanos lerem Código difícil de compreender É mais propenso a erros É mais difícil de corrigir, adaptar e melhorar (prejudica a avaliação em ICE) 29
31 Estilo de Código Nomes de variáveis As variáveis devem ter nomes descritivos E.g. mass, mol_mass, volume def compute_ph_mass(mass, mol_mass, volume, Ka): Ci = mass / mol_mass / volume return compute_ph(ka,ci) Excepto quando têm nomes convencionais E.g. a, b, c, Ci, ph, Ka def positive_root(a, b, c): root = (-b + (b**2-4*a*c)**0.5)/(2*a) return root Importante: que seja fácil perceber o que representa 30
32 Estilo de Código Nomes de funções Devem descrever o que a função faz Nomes compostos por várias palavras Convenção 1: usar letras maiúsculas e minúsculas phmassvol Convenção 2: (mais usado em Python) usar underscore compute_ph_mass def compute_ph_mass(mass, mol_mass, volume, Ka): Ci = mass / mol_mass / volume return compute_ph(ka,ci) 31
33 Estilo de Código Inteligibilidade Cada linha de código deve corresponder a um passo simples Evitar linhas demasiado longas ou complexas Decompor em vários passos para ser mais inteligivel Exemplo: menos claro def compute_ph_mass(mass, mol_mass, volume, Ka): return compute_ph(ka, mass / mol_mass / volume) Exemplo: mais claro def compute_ph_mass(mass, mol_mass, volume, Ka): Ci = mass / mol_mass / volume return compute_ph(ka, Ci) 32
34 Estilo de Código Documentação e comentários Devemos documentar funções (e módulos) Podemos também acrescentar comentários se for preciso Notas para o programador def positive_root(a, b, c): "return positive root of quadratic equation" root = (-b + (b**2-4*a*c)**0.5)/(2*a) #This assumes a is greater than zero return root Mais informação: "PEP 8 -- Style Guide for Python Code" 33
35 Programação Estruturada Resumo 34
36 Implementação Resumo Programação estruturada: funções Testes unitários Tipos de erro: sintaxe, exception, lógicos e numéricos Ciclo de vida e reutilização de código Estilo de código Leitura adicional: Recomendada: Capítulo 4 dos apontamentos Opcional: Livro, Cap. 16 até pag. 479 e Cap. 17 até pag
37
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 mais3 - 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 maisInformá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 maisICE-B. 2 - Variáveis. Ludwig Krippahl
ICE-B 2 - Variáveis Ludwig Krippahl Variáveis Resumo Objectos e tipos de valores em Python Variáveis: criação e utilização Operações com valores e variáveis Exemplos: cálculos usando variáveis 1 Variáveis
Leia mais2 - Variáveis ICE-B. Ludwig Krippahl 3/6/2019 ICE-B-02
ICE-B 2 - Ludwig Krippahl file:///media/ludi/gaveta/my%20documents/aulas/ice-b-1819-2/lectures/02-vars.html?print-pdf#/ 1/28 Resumo Objectos e tipos de valores em Python : criação e utilização Operações
Leia maisInformá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 maisICE-B. 7 - Condições. Ludwig Krippahl
ICE-B 7 - Condições Ludwig Krippahl Iteração Resumo Operadores relacionais: comparações Execução condicional: instrução if Valores booleanos (True, False) 1 Condições Operadores relacionais 2 Operadores
Leia mais1/ 26. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função
1/ 26 Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função Python - Modo Interativo Experiência com programação e uso do computador 2/ 26 Primeiros Passos - Operadores adição + subtração multiplicação
Leia maisInformá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 maisComputação I - Python Aula 1 - Prática: Primeiros Passos- Função
Computação I - Python Aula 1 - Prática: Primeiros Passos- Função João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/ Computação
Leia maisInformá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 maisICE-B. 6 - Iteração. Ludwig Krippahl
ICE-B 6 - Iteração Ludwig Krippahl Iteração Resumo O ciclo for Exemplo: enzimas de restrição Função range e iteração pelos índices Exemplos: média e outras estatísticas Devolver mais de um valor Criar
Leia maisProgramação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP
Programação I Aula 17 Correção de programas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Classes de erros 2 Execução passo-a-passo 3 Testes na documentação 4 Asserções 5 Outros erros comuns DCC/FCUP 2019
Leia maisInformá(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 maisFundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.2 IDLE, Variáveis e Tipos Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br IDLE O IDLE é um ambiente de desenvolvimento integrado para Python; O IDLE permite: Escrever
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 14: Deteção e correção de erros Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Erros sintáticos 2. Erros de execução 3. Erros
Leia maisICE-B Sqlite e Python. Ludwig Krippahl
ICE-B 16 - Sqlite e Python Ludwig Krippahl Sqlite + Python Resumo Usar Sqlite a partir de Python Módulo sqlite3 Ligação à base de dados Cursor para executar comandos SQL Exemplo prático: criar uma tabela
Leia maisIntrodução à Programação Aula 17 Deteção e correção de erros
Introdução à Programação Aula 17 Deteção e correção de erros Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 17 Deteção e correção de erros 2015 1 / 31 Nesta
Leia maisAula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Leia maisAMBIENTE DE PROGRAMAÇÃO PYTHON II
Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 2 AMBIENTE DE PROGRAMAÇÃO PYTHON II 2.1. Objectivos
Leia maisEntrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá
Entrada e saída Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisICE-B. 1 - Introdução. Ludwig Krippahl
ICE-B 1 - Introdução Ludwig Krippahl Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais Porquê aprender a programar? Sistemas computacionais
Leia maisIntrodução à Programação Aula 4 Definição de funções
Introdução à Programação Aula 4 Definição de funções Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 4 Definição de funções 2015 1 / 28 Nesta aula... 1 Definição
Leia mais10 - Ciclo while. Ludwig Krippahl 4/3/2019 ICE-B-10 ICE-B
ICE-B 10 - Ciclo while Ludwig Krippahl file:///media/ludi/gaveta/my Documents/Aulas/ICE-B-1819-2/Lectures/10-while.html?print-pdf#/ 1/35 while Resumo Ciclo while Iterar enquanto uma condição for verdadeira
Leia maisInformá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 maisVariáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Leia mais1/ 23. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função
1/ 23 Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função Python - Modo Interativo Experiência com programação e uso do computador 2/ 23 Primeiros Passos - Operadores adição + subtração multiplicação
Leia maisProgramaçã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 maisComputação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39
Computação 1 - Python Aula 2 - Teórica Função 1/ 39 Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 39 Calcule a área da coroa circular (anel)
Leia maisComputação I - Python
Computação I - Python Aula 2 - Teórica: João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/ Computação I - Python Aula 2 1
Leia maisNesta aula... Diagramas da stack. Recursão. 1 Funções. 2 Valores booleanos e condicionais. 3 Execução condicional e recursão
Nesta aula... 1 2 Diagramas da stack 3 Recursão Instruções compostas keyword expression: statement statement... Âmbito de variáveis âmbito local: quando precisa do valor de uma variável, Python procura
Leia maisComputação 1 - Python 1/ 41
Computação 1 - Python Aula 2 - Teórica: Função 1/ 41 Função Exercício: Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 41 Função Exercício:
Leia maisLaboratório de Programação 1 Aula 04
Laboratório de Programação 1 Aula 04 Mário Hozano professor@hozano.com Ciência da Computação UFAL - Arapiraca Relembrando a aula anterior... O que são valores, tipos e variáveis? Descreva os tipos int,
Leia maisPython: Exceções, Iteradores e Geradores. Claudio Esperança
Python: Exceções, Iteradores e Geradores Claudio Esperança Exceções Quando um programa encontra dificuldades não previstas, diz se que uma condição excepcional ou uma exceção ocorreu Um erro é uma exceção
Leia maisProgramação I Aula 4 Definição de procedimentos e funções
Programação I Aula 4 Definição de procedimentos e funções Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 4 Definição de procedimentos e funções 2018 1 / 28 Nesta aula...
Leia maisProgramação I Aula 3 Primeiros programas
Programação I Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 1 / 23 Nesta aula... 1 Tipos básicos 2 Variáveis e atribuições
Leia maisMC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp
MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples Instituto de Computação Unicamp 2016 Roteiro 1 Shell Interativa 2 Estrutura de um Programa em Python 3 Variáveis
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 3: Primeiros Programas Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Tipos básicos 2. Variáveis e atribuições 3. Programas
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Processamento da Informação 2. Conceitos de Programação 3. Funções e Programas de Computador 1 Processamento da
Leia maisProgramação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
Leia maisInformá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 maisIntrodução à Programação Aula 3 Primeiros programas
Introdução à Programação Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 3 Primeiros programas 2015 1 / 23 Nesta aula... 1 Tipos básicos
Leia maisProgramação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho hbarbalho@ic.uff.br Material produzido pelo professor: Leandro Augusto Frata Fernandes (laffernandes@ic.uff.br)
Leia mais14 - Dados Estruturados
ICE-B 14 - Dados Estruturados Ludwig Krippahl Dados Estruturados Resumo Organizar os dados de forma estruturada Dicionários: Estruturas de dados associando chave e valor Exemplo: calcular massa molecular
Leia maisProgramação de Computadores:
Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Introdução ao FORTRAN Cinco aspectos
Leia mais1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores
Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de
Leia mais1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas
Nesta aula... Conteúdo 1 Definição de funções 1 2 Valores boleanos e condicionais 5 1 Definição de funções Definição de novas funções Na aula passada: vimos como usar os operadores e funções pré-definidas
Leia maisAlgoritmos e estrutura de dados
Algoritmos e estrutura de dados Introdução Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo A linguagem Python
Leia maisInformá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 maisAULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
Leia mais1 - Ambiente de desenvolvimento
Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).
Leia maisOs elementos da programação
Os elementos da programação Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisCONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON
Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON 2.1.
Leia maisInformática para Ciências e Engenharias B
Informática para Ciências e Engenharias B Trabalho Prático N o 1 2017/18 1 Objectivo do Trabalho Cansados das aulas de ICE, um grupo de alunos decidiu fazer um passeio pela Europa para desanuviar. Infelizmente,
Leia maisPROGRAMAÇÃO EM JOGOS DIGITAIS
PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Paradigmas de Programação Linguagem de programação Paradigmas de programação 1 Linguagem de programação! Para ser útil e confiável, uma linguagem deve ter uma
Leia maisVariáveis e instruções de repetição
Variáveis e instruções de repetição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisPadrão para a codificação em Python
Padrão para a codificação em Python Bonito é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo. Complexo é melhor que complicado. Esparso é melhor que denso. Legibilidade
Leia maisMCG126 Programação de Computadores II
MCG126 Programação de Computadores II Turma: B Professor: Isac Mendes Lacerda (Material original cedido gentilmente pela professora Janaína Gomide) 1 Outro Teste... Escreva um programa que receba um texto
Leia maisInformá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 maisICE-B Ciclo while. Ludwig Krippahl
ICE-B 10 - Ciclo while Ludwig Krippahl while Resumo Ciclo while Iterar enquanto uma condição for verdadeira Exemplo: diâmetro de uma proteína Obter coordenadas do servidor Encontrar átomos mais afastados
Leia maisObjectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes
Tipos de Dados Objectivos Observar os tipos fornecidos pelo C++ São dados alguns exemplos Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes O que são Como se distinguem
Leia maisNesta aula... Parâmetros opcionais Atribuição abreviada Instruções break e continue Interrupção da execução. 1 Estudo desta disciplina.
Nesta aula... 1 2 Parâmetros opcionais Atribuição abreviada Instruções break e continue Interrupção da execução 3 Forum: https://piazza.com/up.pt/fall2012/cc101/home Livro: versão PDF: http: //www.greenteapress.com/thinkpython/html/index.html
Leia maisFundamentos de Programação em Python
Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa do
Leia maisProgramação de Computadores I Introdução PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Introdução Resolução de problemas Encontrar uma maneira de descrever este problema de uma forma clara e precisa. Encontremos uma seqüência
Leia maisInformá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 maisPython 3.x Estrutura de Repetição while
Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa
Leia maisResolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador
Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009
Leia maisIntrodução à Programação de Computadores Fabricação Mecânica
Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador
Leia maisBCC 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 maisICE-B Ficheiros. Ludwig Krippahl
ICE-B 13 - Ficheiros Ludwig Krippahl Ficheiros Resumo Organização de um disco. Sistema de ficheiros. Ficheiros de texto e binários. Operações sobre ficheiros de texto. Simulação de digestão enzimática
Leia mais3. 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 maisPython 3.x Estrutura de Repetição for Estrutura de Decisão if then else
Python 3.x Estrutura de Repetição for Estrutura de Decisão if then else Introdução à Ciência da Computação Prof. Edison Ishikawa Agenda Laço for Condicionais Expressões Booleanas Operadores Lógicos Tabela
Leia mais17 - Consultas em SQL
ICE-B 17 - Consultas em SQL Ludwig Krippahl Consultas em SQL Resumo Cruzar informação entre várias tabelas SQL: JOIN Funções de agregação Juntar strings e parâmetros em Python: format e join Trabalho prático
Leia maisEngenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado
Engenharia Elétrica AAM Professor: Marco Shawn Meireles Machado Objetivos da Aula: Definir linguagem de alto nível e baixo nível; Descrever a linguagem assembler; Descrever a linguagem C; Revisão linguagem
Leia mais18 - Consultas em SQL
ICE-B 18 - Consultas em SQL Ludwig Krippahl Consultas em SQL Resumo Cruzar informação entre várias tabelas SQL: JOIN Funções de agregação Juntar strings e parâmetros em Python: format e join 1 Consultas
Leia maisIntrodução à Computação
Universidade Federal do Maranhão Curso de Química Departamento de Informática Introdução à Computação Linguagem Fortran Profa. Msc. Maria Auxiliadora Freire maria@deinf.ufma.br 1 Lógica de Programação
Leia maisIntrodução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
Leia maisPython - Variáveis e expressões
Python - e expressões Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador
Leia maisIntrodução ao SciLab. SciLab O que é? Onde obter o programa:
Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010
Leia maisAlgoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza
Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Conceitos Lógica de Programação técnica de encadear pensamentos
Leia maisESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS 10º ANO DE MATEMÁTICA A
ESCOLA SECUNDÁRIA COM º CICLO D. DINIS º ANO DE MATEMÁTICA A Tarefa nº (Plano de trabalho nº ) Comece por seguir as sugestões seguintes de forma a responder às questões propostas, registando todas as tentativas.
Leia maisFicheiros de Valores Separados por Vírgulas (CSV)
Ficheiros de Valores Separados por Vírgulas (CSV) Programação II Universidade de Lisboa Faculdade de Ciências Departamento de Informática Licenciatura em Tecnologias da Informação Vasco Thudichum Vasconcelos
Leia maisIntrodução ao Python. Programa Computacional
Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.
Leia maisProf. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Ementa do Curso Conceitos básicos de programação Orientação a objetos Linguagem Python Simulação com o NS-3 Programação
Leia maisProgramação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
Leia maisCurso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM
Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto
Leia maisProjeto de funções e instruções condicionais
Projeto de funções e instruções condicionais Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
Leia maisTCC 00308: Programação de Computadores I Introdução
TCC 00308: Programação de Computadores I 2017.1 Introdução Processo de resolução de problemas Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos especiais Saídas Desenvolvimento
Leia maisComputadores e Programação
Computadores e Programação Engenharia Física Engenharia Biomédica 2008 2009 2 o semestre Helmut Wolters, Jorge Landeck, Miguel Oliveira helmut@coimbra.lip.pt 2009-04-01 H.Wolters, J.Landeck, M.Oliveira
Leia maisIntroduçã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 maisx n+1 = x n f(x n) f (x n ), n 0. Sob certas condições muitas vezes satisfeitas, o método converge, isto é, temos que o limite lim x n
EP3: COMPORTAMENTO DINÂMICO DO MÉTODO DE NEWTON 1. Método de Newton O método de Newton é um método numérico, muito simples, para calcular aproximações de raízes de uma função real da qual podemos calcular
Leia maisNesta aula... 1 Variáveis, Expressões, Instruções. 2 Desvio: códigos de carateres. 3 Módulos
Nesta aula... Variáveis, Expressões, Instruções 1 Variáveis, Expressões, Instruções 2 3 Operadores e Operandos Ordem das operações P parêntesis E exponenciação MD multiplicação, divisão AS adição, subtracção
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes
Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2012 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:
Leia maisGABARITO Questão a b c d e
Documento gerado por Contato: smarttest@smarttest.com.br Instituto Federal Catarinense Curso: Engenharia Mecânica Turma: 2016/Turma Extra Disciplina: Informática para Engenharia Docente: Ricardo Antonello
Leia maisCálculo Numérico Noções básicas sobre erros
Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo
Leia maisUm algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.
Programação Um programa é uma sequência de instruções de uma linguagem de programação (VB no nosso caso). Cada instrução representa uma qualquer acção que nós pretendemos ver executada. Programar consiste
Leia maisApresentaçã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 maisAnálise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema
Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia mais