Computação 2. Revisão Geral professor: Leonardo Carvalho

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

Download "Computação 2. Revisão Geral professor: Leonardo Carvalho"

Transcrição

1 Computação 2 Revisão Geral professor: Leonardo Carvalho

2 Datas das provas P2: 24/02/2016 P3: 09/03/2016

3 Revisão

4 Recursão

5 Fatorial recursivo def fatorial(n): if n > 0: return n*fatorial(n-1) else: return 1

6 Árvore def arvore(s): if s < 2: return turtle.forward(s) turtle.left(30) arvore(.6*s) turtle.right(60) arvore(.6*s) turtle.left(30) turtle.backward(s)

7 Exercício 5 def sierpinski(s): '''Desenha o triangulo de sierpinski.''' if s > 1: for i in range(3): sierpinski(.5*s) turtle.forward(s) turtle.left(120)... sierpinski(400)...

8 Orientação a objetos

9 Classes class Personagem(object): '''Um personagem de um jogo incrível.''' def init (self, nome): '''Inicializa um personagem com o nome especificado.''' self.nome = nome self._vida = 100 self._xp = 0 def mostra_tudo(self): '''Imprime todas os dados do personagem.''' print 'nome:', self.nome print 'vida:', self._vida print 'xp:', self._xp

10 Classes >>> a = Personagem('Chuck Norris') >>> a.nome 'Chuck Norris' >>> a.mostra_tudo() nome: Chuck Norris vida: 100 xp: 0 >>> Personagem.mostra_tudo(a) # Forma equivalente a a.mostra_tudo() nome: Chuck Norris vida: 100 xp: 0

11 Métodos especiais class Vetor(object): def init (self, x, y): self.x = x self.y = y def str (self): return str(self.x) + ' ' + str(self.y) def add (self, u): x = self.x + u.x y = self.y + u.y return Vetor(x, y) def sub (self, u): x = self.x - u.x y = self.y - u.y return Vetor(x, y)

12 Métodos especiais >>> u = Vetor(23, 12) >>> v = Vetor(-4, 5) >>> print u >>> print v -4 5 >>> print u+v >>> print u-v 27 7

13 Métodos especiais Outros métodos possíveis: mul : multiplicação div : divisão eq : operador == ne : operador!= lt : operador < le : operador <= gt : operador > ge : operador >=

14 Herança class Animal(object): def init (self): print 'Animal criado!' def quem_sou_eu(self): return 'Animal' def come(self): print 'Comendo...' def fala(self): pass

15 Herança class Gato(Animal): def init (self): Animal. init (self) print 'Gato criado!' def quem_sou_eu(self): return 'Gato' def fala(self): print 'miau'

16 Herança class Cachorro(Animal): def init (self): Animal. init (self) print 'Cachorro criado!' def quem_sou_eu(self): return 'Cachorro' def fala(self): print 'au au'

17 Herança x = Animal() y = Gato() z = Cachorro() print x.quem_sou_eu() print y.quem_sou_eu() x.come() y.come() z.come() Animal criado! Animal criado! Gato criado! Animal criado! Cachorro criado! Animal Gato Comendo... Comendo... Comendo...

18 Polimorfismo def falem(l): for x in L: if isinstance(x, Animal): x.fala() else: print x, 'não é animal'... L = [Animal(), 32, Gato(), 100, 'abacate', Cachorro()] falem(l) não é animal miau 100 não é animal abacate não é animal au au

19 Arquivos 19

20 Lendo arquivos de texto f = open('dados.txt') tudo = f.read() for linha in tudo.split('\n'): print linha f.close()

21 Lendo arquivos de texto Opção mais segura, fechamento automático do arquivo: with open('dados.txt') as f: tudo = f.read() for linha in tudo.split('\n'): print linha

22 Lendo arquivos de texto Opção mais simples: with open('dados.txt') as f: for linha in f: print linha,

23 Criando arquivos de texto with open('saida.txt', 'w') as f: for x in range(100): f.write('valor = ' + str(x) + '\n')

24 Criando arquivos de texto Modo de adição: with open('saida.txt', 'a') as f: f.write('bilu teteia\n')

25 Tratamento de exceções 25

26 Blocos try...except try: i = int(raw_input('digite um valor: ')) j = int(raw_input('digite um valor: ')) r = i/j print 'divisão = ', r except ValueError: print 'Valor inválido!' except ZeroDivisionError: print 'Divisão por zero.' 26

27 Propagação de exceções def processa(i, j): if i < j: raise ValueError r = i/j print 'divisão = ', r try: i = int(raw_input('digite um valor: ')) j = int(raw_input('digite um valor: ')) processa(i, j) except ValueError: print 'Valor inválido!' except ZeroDivisionError: print 'Divisão por zero.' 27

28 Açúcar sintático

29 List comprehension Ao invés de escrever isto: A = [] for i in L: A.append(funcao(i)) podemos escrever: A = [funcao(i) for i in L] 29

30 Dict comprehension Ao invés de escrever isto: A = {} for i in L: A[2*i] = 10*i-8 podemos escrever: A = {2*i: 10*i-8 for i in L} 30

31 Funções lambda Ao invés de escrever isto: def f(x): return x**2-3*x + 2 podemos escrever: f = lambda x: x**2-3*x

32 numpy

33 Numpy >>> import numpy as np >>> x = np.array([8, 9, 1, 4, 2, 9]) >>> y = np.linspace(0, 10, 6) >>> x + y array([ 8., 11., 5., 10., 10., 19.]) >>> x - y array([ 8., 7., -3., -2., -6., -1.]) >>> x*y array([ 0., 18., 4., 24., 16., 90.]) >>> 10*x array([80, 90, 10, 40, 20, 90]) >>> np.dot(x, y) 152.0

34 Exemplo Calcular 1/(1+x²) em 20 valores de x entre 0 e 10. import numpy as np f = lambda x: 1.0/(1.0 + x**2) x = np.linspace(0.0, 10.0, 20) y = f(x) print y [ ]

35 Exemplo Unir dois arrays unidimensionais formando um array bidimensional. >>> import numpy as np >>> x = np.array([1, 2, 3, 5]) >>> y = np.array([8, 7, 4, 9]) >>> z = np.array([x, y]) >>> z array([[1, 2, 3, 5], [8, 7, 4, 9]])

36 Matrizes >>> import numpy as np >>> A = np.matrix([ [1, 2], [3, 4] ]) >>> print A [[1 2] [3 4]] >>> B = np.matrix([ [5, 2, 7], [8, 2, 1] ]) >>> A*B matrix([[21, 6, 9], [47, 14, 25]]) >>> A.T matrix([[1, 3], [2, 4]]) >>> A.I matrix([[-2., 1. ], [ 1.5, -0.5]])

37 scipy

38 Resolução de sistemas lineares Resolver sistemas lineares Ax = b: >>> import numpy as np >>> from scipy import linalg >>> A = np.matrix([ [1, 2], [3, 4] ]) >>> b = np.matrix([ [1], [5] ]) >>> x = linalg.solve(a, b) >>> x array([[ 3.], [-1.]]) >>> A*x matrix([[ 1.], [ 5.]])

39 Mínimos quadrados import numpy as np from scipy import linalg A = np.matrix([ [4, 3, 2], [7, 2, 5], [8, 0, -1], [9, 7, -3] ]) b = np.matrix([ [2], [1], [0], [4] ]) x, resid, rank, sing_val = linalg.lstsq(a, b) print x print resid print rank print sing_val 39

40 Integração import scipy.integrate as integrate res, err = integrate.quad(lambda x: 6*x**2-4*x-2, 0, 5) print res, err e-12 40

41 Integração import scipy.integrate as integrate def f(x, y): return x*y res, err = integrate.dblquad(f, 0.0, 0.5, lambda y: 0, lambda y: 1-2*y) print 1.0/96, res, err e-16 41

42 Cálculo de raízes import scipy.optimize as optimize from numpy import sin, cos print optimize.bisect(lambda x: x*sin(2*x)*cos(3*x**2), 1, 1.5)

43 Interpolação from scipy.interpolate import interp1d import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 5) y = np.array([3, -2, 1, 0, 2]) f1 = interp1d(x, y) f2 = interp1d(x, y, kind='cubic')... 43

44 matplotlib

45 Matplotlib import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3*np.pi, 3*np.pi, 256) plt.plot(x, np.cos(x)) plt.plot(x, np.sin(x)) axes = plt.axes() axes.set_aspect('equal') plt.show()

46 Matplotlib import matplotlib.pyplot as plt import numpy as np t = np.linspace(0, 2*np.pi, 1000) x = np.sin(5*t) y = np.sin(8*t) plt.plot(x, y) axes = plt.axes() axes.set_aspect('equal') plt.show()

47 Matplotlib Como plotar pontos de arrays bidimensionais?... P = np.array([ [9, 8, 7, 3, 7, 1, 4, 5], [2, 0, 1, 4, 3, 5, 6, 1] ]) plt.plot(p[0], P[1], 'o') axes = plt.axes() axes.set_aspect('equal') plt.show()

48 Matplotlib Como plotar pontos de arrays bidimensionais?... P = np.array( [ [3, 1], [5, 2], [3, 3], [4, 5], [4, 7], [2, 4] ]) plt.plot(p[:, 0], P[:, 1], 'o') axes = plt.axes() axes.set_aspect('equal') plt.show()

49 Matplotlib Como plotar pontos de matrizes bidimensionais?... P = np.matrix([ [9, 8, 7, 3, 7, 1, 4, 5], [2, 0, 1, 4, 3, 5, 6, 1] ]) plt.plot(p.a[0], P.A[1], 'o') axes = plt.axes() axes.set_aspect('equal') plt.show()

50 Matplotlib Como plotar pontos de matrizes bidimensionais?... P = np.matrix( [ [3, 1], [5, 2], [3, 3], [4, 5], [4, 7], [2, 4] ]) plt.plot(p.a[:, 0], P.A[:, 1], 'o') axes = plt.axes() axes.set_aspect('equal') plt.show()

51 Gerenciamento de recursos 51

52 Gerenciamento de recursos Como evitar vazamento de recursos? try: comandos1 finally: comandos2 comandos2 serão executados após os comandos1, mesmo que comandos1 sejam interrompidos. 52

53 Gerenciamento de recursos Blocos with with expressão1 as variável comandos 53

54 Serialização 54

55 Módulo pickle import numpy as np import pickle x = np.linspace(0, 2*np.pi, 1000) y = np.sin(x) with open('out.data', 'wb') as f: pickle.dump(x, f) pickle.dump(y, f) 55

56 Módulo pickle import matplotlib.pyplot as plt import pickle with open('out.data', 'rb') as f: x = pickle.load(f) y = pickle.load(f) plt.plot(x, y) plt.show() 56

57 Módulo json JSON é um formato de dados utilizado em diversas linguagens de programação >>> import json >>> x = ['a', 43, 'batatinha'] >>> with open('saida.json', 'w') as f:... json.dump(x, f)... Com este código é criado um arquivo saida.json contendo: ["a", 43, "batatinha"] 57

58 Módulo json >>> import json >>> with open('saida.json', 'r') as f:... x = json.load(f)... >>> x [u'a', 43, u'batatinha'] 58

59

Computação 2. Aula 11 Teórica professor: Leonardo Carvalho

Computação 2. Aula 11 Teórica professor: Leonardo Carvalho Computação 2 Aula 11 Teórica professor: Leonardo Carvalho SciPy 2 SciPy Conjunto de algoritmos matemáticos usados com frequência por cientistas e engenheiros. Alguns submódulos: cluster: algoritmos de

Leia mais

Computação 2. Aula 8 Teórica professor: Leonardo Carvalho

Computação 2. Aula 8 Teórica professor: Leonardo Carvalho Computação 2 Aula 8 Teórica professor: Leonardo Carvalho Exercício Escreva uma função que recebe uma lista L de valores inteiros e retorna uma lista contendo o triplo de cada valor em L. def triplos(l):

Leia mais

Computação 2. Aula 3 Teórica professor: Leonardo Carvalho

Computação 2. Aula 3 Teórica professor: Leonardo Carvalho Computação 2 Aula 3 Teórica professor: Leonardo Carvalho Na vida precisamos de muitos tipos de dados Tipos de dados conhecidos int long float complex str tuple list dict Verificando tipos >>> i = 32 >>>

Leia mais

Integração numérica. Prof. Luiz T. F. Eleno. Departamento de Engenharia de Materiais Escola de Engenharia de Lorena Universidade de São Paulo

Integração numérica. Prof. Luiz T. F. Eleno. Departamento de Engenharia de Materiais Escola de Engenharia de Lorena Universidade de São Paulo Integração numérica Prof. Luiz T. F. Eleno Departamento de Engenharia de Materiais Escola de Engenharia de Lorena Universidade de São Paulo 2018 LOM3260 (EEL-USP, 2018) Integração numérica Prof. Luiz T.

Leia mais

Introdução ao Python. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Introdução ao Python. Prof. Fabrício Olivetti de França Universidade Federal do ABC Introdução ao Python Prof. Fabrício Olivetti de França Universidade Federal do ABC Python Linguagem interpretada criada em 1991 Objetivos: enfatizar a legibilidade do código e, encurtar o tamanho dos códigos.

Leia mais

Aula de hoje. Python para disciplinas básicas. Computação científica. Introdução. Álgebra Linear. Álgebra linear

Aula de hoje. Python para disciplinas básicas. Computação científica. Introdução. Álgebra Linear. Álgebra linear SCC 14 - Introdução à Programação para Engenharias Python para disciplinas básicas Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto

Leia mais

MCG126 Programação de Computadores II

MCG126 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 mais

Python: Exceções, Iteradores e Geradores. Claudio Esperança

Python: 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 mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo numpy NumPy é uma biblioteca para trabalhar com matrizes de qualquer dimensão, contendo várias funções matemáticas

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m

FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m 1. (3.25) Escreva um programa que pede o nome (mais de 2 caracteres) e o sobrenome (mais de 4 caracteres) a um utilizador e gera um username

Leia mais

Analises de Sinais Introdução ao Python. Prof. George Sand Franca Profa. Susanne Maciel

Analises de Sinais Introdução ao Python. Prof. George Sand Franca Profa. Susanne Maciel Analises de Sinais Introdução ao Python Prof. George Sand Franca Profa. Susanne Maciel Introdução ao Python Introdução muito rápido para Python e em particular o seu sistema científico para o caso de você

Leia mais

Python - Matrizes e vetores. George Sand

Python - Matrizes e vetores. George Sand Python - Matrizes e vetores George Sand Introdução Vamos mostra que podemos executar em Python com o módulo NumPy todos as operações com Matriz: adição Matriz subtração Matriz multiplicação de matrizes

Leia mais

Computação 1. Aula 4 - Teórica Professor: Leonardo Carvalho

Computação 1. Aula 4 - Teórica Professor: Leonardo Carvalho Computação 1 Aula 4 - Teórica Professor: Leonardo Carvalho Planejamento Relembrando Valores numéricos int, float operações: + - * / // ** % Variáveis atribuição simples e múltipla Sequências: str, tuple,

Leia mais

Curso básico de Python para estudantes de Física

Curso básico de Python para estudantes de Física Curso básico de Python para estudantes de Física Germán A. Racca Universidade do Estado do Rio Grande do Norte Faculdade de Ciências Exatas e Naturais Departamento de Física Mossoró - RN 08 de Junho de

Leia mais

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013 Linguagem Haskell Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação Tiago Carneiro 19 Agosto 2013 1 1 Linguagem Haskell Linguagem de programação funcional É um paradigma de programação

Leia mais

Computação II MAB EE2/ET2/ER2. SciPy & NumPy. Brunno Goldstein.

Computação II MAB EE2/ET2/ER2. SciPy & NumPy. Brunno Goldstein. Computação II MAB 225 - EE2/ET2/ER2 SciPy & NumPy Brunno Goldstein bfgoldstein@cos.ufrj.br www.lam.ufrj.br/~bfgoldstein Ementa Programação Orientada a Objetos Tratamento de Exceções Módulos Manipulação

Leia mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Tratamento de Erros Até agora não nos preocupamos com erros em nosso programa, apenas assumimos que tudo sempre

Leia mais

Computação 2. Aula 7 Teórica professor: Leonardo Carvalho

Computação 2. Aula 7 Teórica professor: Leonardo Carvalho Computação 2 Aula 7 Teórica professor: Leonardo Carvalho Abstração 2 Abstração Do latim abstracione, que significa separação Ação de isolar um elemento de um todo 3 Exemplo O que você vê neste vídeo? 4

Leia mais

Programação I Aula 3 Primeiros programas

Programaçã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 mais

DURAÇÃO DA PROVA: 2 horas

DURAÇÃO DA PROVA: 2 horas MAC2166 Introdução à Computação Grande Áreas Civil, Mecânica, Petróleo e Química Escola Politécnica Terceira Prova 21 de junho de 2016 Nome: Assinatura: N o USP: Turma: Professor: Instruções: 1. Não destaque

Leia mais

Introdução à Programação / Programação I

Introduçã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 mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato em nosso

Leia mais

Introdução a programação em Python Flávio Filipe L. S. Porto

Introdução a programação em Python Flávio Filipe L. S. Porto Introdução a programação em Python Flávio Filipe L. S. Porto O que é Python? Linguagem de programação criada por Guido Van Rossum em 1991 com foco em produtividade e legibilidade. Por quê Python? Fácil

Leia mais

Introdução à Programação Aula 3 Primeiros programas

Introduçã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 mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Sobrecarga de operadores Quase todos os operadores de Python são como == e!=: podemos definir métodos para sobrecarregá-los

Leia mais

Computação 1. Aula 2 Teórica professor: Leonardo Carvalho

Computação 1. Aula 2 Teórica professor: Leonardo Carvalho Computação 1 Aula 2 Teórica professor: Leonardo Carvalho Reutilizar código Guardar instruções em Funções Funções pré-definidas Valor absoluto >>> abs(4) 4 >>> abs(-4) 4 >>> x = 5 >>> x, y = 5, 2 >>> abs(y**2

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 20: Traçado de gráficos Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Matplotlib 2. Geração de gráficos 3. Tipos de gráficos

Leia mais

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será

Leia mais

Numpy ARRAY E MATRIZES

Numpy ARRAY E MATRIZES Numpy ARRAY E MATRIZES Numpy e Scipy Numpy é um módulo do Python que oferece recursos para manipulação de arrays e matrizes, além funções de álgebra linear Outro módulo usado é o Scipy (Scientific Python),

Leia mais

1 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

1 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 mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Introdução No curso de Computação I vocês viram os conceitos básicos de programação em Python: expressões e comandos,

Leia mais

Programando com. João Víctor Rocon Maia, Engenharia de Computação UFES

Programando com. João Víctor Rocon Maia, Engenharia de Computação UFES Programando com João Víctor Rocon Maia, Engenharia de Computação UFES http://www.inf.ufes.br/~jvrmaia, jvrmaia@inf.ufes.br Python? - Python é uma linguagem de programação de alto nível, interpretada, orientada

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade. 222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao

Leia mais

Abaixo iremos pormenorizar cada um de seus atributos:

Abaixo iremos pormenorizar cada um de seus atributos: 1 PYTHON Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. A linguagem foi projetada com a filosofia

Leia mais

Programação procedimental

Programação procedimental Prof. André Backes Programação procedimental Também chamada de programação procedural Contêm um conjunto de passos computacionais a serem executados Problemas são decompostos em sub-problemas Modularização

Leia mais

Computação 2. Aula 5 Teórica professor: Leonardo Carvalho

Computação 2. Aula 5 Teórica professor: Leonardo Carvalho Computação 2 Aula 5 Teórica professor: Leonardo Carvalho Como criar funções recursivas? Pense no que a função vai fazer não se importando em como ela faz Exemplo Crie uma função recursiva remover_todos(l,

Leia mais

Curso básico de Python para estudantes de Física

Curso básico de Python para estudantes de Física Curso básico de Python para estudantes de Física Germán A. Racca Universidade do Estado do Rio Grande do Norte Faculdade de Ciências Exatas e Naturais Departamento de Física Mossoró - RN 01 de Junho de

Leia mais

Computação 1. Aula 7 Teórica professor: Leonardo Carvalho

Computação 1. Aula 7 Teórica professor: Leonardo Carvalho Computação 1 Aula 7 Teórica professor: Leonardo Carvalho Ementa 2 Ementa Introdução ao ambiente de programação Python Funções - declaração - parâmetros - valor de retorno - chamada de funções Manipulação

Leia mais

Aula 19. Campo elétrico de uma distribuição estacionária de cargas: equação de Poisson Laboratório Numérico 1

Aula 19. Campo elétrico de uma distribuição estacionária de cargas: equação de Poisson Laboratório Numérico 1 Aula 19 Campo elétrico de uma distribuição estacionária de cargas: equação de Poisson 2018 Laboratório Numérico 1 Equação de Poisson o potencial gerado por uma distribuição contínua de carga elétrica numa

Leia mais

Computação 2. Aula 6 Teórica professor: Leonardo Carvalho

Computação 2. Aula 6 Teórica professor: Leonardo Carvalho Computação 2 Aula 6 Teórica professor: Leonardo Carvalho Quando é a prova? 2 13/01/2016 3 Códigos grandes são difíceis de manipular 4 Vamos organizar melhor nossos códigos! 5 Separe o código em módulos

Leia mais

Integração Arduino - Python Leitura de sensor de umidade e temperatura

Integração Arduino - Python Leitura de sensor de umidade e temperatura Integração Arduino - Python Leitura de sensor de umidade e temperatura Filipi Nascimento Silva, Luciano da Fontoura Costa Disciplina: Modelagem Matemático - Computacional Nesta prática, usaremos um programa

Leia mais

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando

Leia mais

Programação orientada a objetos

Programação orientada a objetos Programação orientada a objetos Python fornece suporte para programação orientada a objetos: foco na criação de objetos, contendo simultaneamente dados e funcionalidade definição de objetos corresponde

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais

Leia mais

Python. Resumo e Exercícios P3

Python. Resumo e Exercícios P3 Python Resumo e Exercícios P3 Resuminho Teórico Classes e Objetos Tudo em python é um objeto, objetos são instâncias de classes, como int, float, list, etc. a = 5 # a é um objeto da classe int b = 2.0

Leia mais

Luiz Eduardo Borges. Novatec

Luiz Eduardo Borges. Novatec Luiz Eduardo Borges Novatec Copyright 2014 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer

Leia mais

Programação orientada a objetos: exemplo com frações (conclusão)

Programação orientada a objetos: exemplo com frações (conclusão) Programação orientada a objetos: exemplo com frações (conclusão) Nesta aula vamos desenvolver mais métodos para a classe Fraction; Fração: construtor Métodos especiais class Fraction: def init (self,top,bottom):

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Exame 13 de Janeiro de 2017 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)

Leia mais

Curso básico de Python para estudantes de Física

Curso básico de Python para estudantes de Física Curso básico de Python para estudantes de Física Germán A. Racca Universidade do Estado do Rio Grande do Norte Faculdade de Ciências Exatas e Naturais Departamento de Física Mossoró - RN 25 de Maio de

Leia mais

INTRODUÇÃO AO SCILAB

INTRODUÇÃO AO SCILAB INTRODUÇÃO AO SCILAB O programa SCILAB é um ambiente apropriado ao desenvolvimento de software para computação numérica. Esse programa foi concebido e é mantido pelo Institut de Recherche em Informatique

Leia mais

Comandos em C (cont.)

Comandos em C (cont.) Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:

Leia mais

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências

Leia mais

PROGRAMAÇÃO E PYTHON. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

PROGRAMAÇÃO E PYTHON. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes Sjsoft, http://westmarch.sjsoft.com/2012/11/zen-of-python-poster/ PROGRAMAÇÃO E PYTHON Laboratórios de Informática 2014-2015 João Paulo Barraca, André Zúquete, Diogo Gomes Porquê Programar? Com ferramentas

Leia mais

Programação de Computadores:

Programaçã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 mais

AULA 2. Números e operações. Erros de arredondamento e de truncatura. Gráficos simples. Cópia de objetos. Estruturas de controlo.

AULA 2. Números e operações. Erros de arredondamento e de truncatura. Gráficos simples. Cópia de objetos. Estruturas de controlo. AULA 2 Números e operações. Erros de arredondamento e de truncatura. Gráficos simples. Cópia de objetos. Estruturas de controlo. Laboratório Numérico 1 Números inteiros Plain int: 32 bits, representa os

Leia mais

9/24/2014. Prof. André Backes

9/24/2014. Prof. André Backes Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos

Leia mais

Algoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO

Algoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO 1 Algoritmos e Programação AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO 2 Recursividade A recursão é o processo pelo qual passa um

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m 1. (1.5) Considere a seguinte gramática em notação BNF: ::= , ::= ::=

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 13: Mais sobre cadeias e listas Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Formatação de texto 2. Listas em compreensão

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Recursão 1 Recursão Indução Matemática Em bases matemáticas vocês aprenderam sobre indução matemática: Provamos

Leia mais

Estácio-FIC Graduação em Redes de Computadores

Estácio-FIC Graduação em Redes de Computadores Estácio-FIC Graduação em Redes de Computadores Disciplina Programação para Servidores Prof. Andrey Halysson Lima Barbosa Aula 3 Variáveis e testes (continuação) Sumário Controle de fluxo com if/; Teste

Leia mais

Cassius Thalles T2. May 15, 2018

Cassius Thalles T2. May 15, 2018 Cassius Thalles T2 May 15, 2018 1 Fundamentos de Computação Gráfica 2 Trabalho 2 - Escala Mel O primeiro passo é importar os pacotes do python necessários para o desenvolvimento do trabalho. Aqui usarei

Leia mais

INFORMÁTICA PARA ENGENHARIA MATRIZES

INFORMÁTICA PARA ENGENHARIA MATRIZES INFORMÁTICA PARA ENGENHARIA MATRIZES Prof. Dr. Daniel Caetano 2019-1 Objetivos Compreender o uso das listas multidimensionais: as matrizes Transformar listas em matrizes numéricas Operações básicas com

Leia mais

Programação de Computadores III

Programaçã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 mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do exame 12 de Janeiro de 2018 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)

Leia mais

Processamento da Informação Teoria. Recursividade

Processamento da Informação Teoria. Recursividade Processamento da Informação Teoria Recursividade Semana 08 Prof. Jesús P. Mena-Chalco 15/06/2013 Uma função chama outra função Vimos exemplos de uma função chamar uma outra função. def fatorial1(n): mult

Leia mais

Vetores, Matrizes e Gráficos

Vetores, Matrizes e Gráficos Programação de Computadores I UFOP DECOM 2013 2 Aula prática 3 Vetores, Matrizes e Gráficos Resumo Nesta aula você irá utilizar vetores para resolver diversos tipos de problemas. Para expressar a solução

Leia mais

Prova Final de Linguagens de Programação - DCC024B -

Prova Final de Linguagens de Programação - DCC024B - Prova Final de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem consulta.

Leia mais

Programação de Computadores III

Programaçã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 mais

Introdução à Programação Aula 13 Manipulação de ficheiros

Introdução à Programação Aula 13 Manipulação de ficheiros Introdução à Programação Aula 13 Manipulação de ficheiros Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 13 Manipulação de ficheiros 2015 1 / 26 Nesta aula 1

Leia mais

Aula 19. Equações diferenciais independentes do tempo: problemas de condições fronteira (espacial) Laboratório Numérico 1

Aula 19. Equações diferenciais independentes do tempo: problemas de condições fronteira (espacial) Laboratório Numérico 1 Aula 19 Equações diferenciais independentes do tempo: problemas de condições fronteira (espacial) Laboratório Numérico 1 Calcular a distribuição de temperatura numa barra composta 1D Metal Admite-se que

Leia mais

Revisão: Tipo Abstrato de Dados Recursividade

Revisão: Tipo Abstrato de Dados Recursividade Algoritmos e Estrutura de Dados II Revisão: Tipo Abstrato de Dados Recursividade Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estudo das estruturas de dados envolve dois objetivos complementares:

Leia mais

Python - Variáveis e expressões

Python - 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 mais

ACH5531 Introdução à Computação

ACH5531 Introdução à Computação ACH5531 Introdução à Computação Prof. Dr. Grzegorz Kowal grzegorz.kowal@usp.br https://sites.google.com/usp.br/ach5531 1 o sem 2019 sexta-feira, 14h00-15h45 CB, Bloco 3, 2 o andar, Lab. 6 Exercícios 1.

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Python Intermediário. terça-feira, 4 de agosto de 15

Python Intermediário. terça-feira, 4 de agosto de 15 Python Intermediário I FUNÇÕES Módulo Python (Intermediário) Função Uma função é uma sequência de comandos que desempenham algum tipo de tarefa no seu programa Evita duplicação de código Facilita alterações:

Leia mais

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Recursividade Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é recursividade? Técnica baseada em divisão e conquista Buscar solucionar o problema dividindo

Leia mais

puras um ou mais apenas mesmos

puras um ou mais apenas mesmos Funções Relembrando um dos objetivos do paradigma de programação funcional: Escrever funções puras Na prática, uma função pura apresenta as seguintes características: Possui um ou mais parâmetros; Realiza

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Segundo Teste 18 de Janeiro de 2013 09:00 10:30 1. (2.0) Escolha a única resposta incorrecta para as seguintes questões. Cada resposta certa vale 1 valor e cada resposta

Leia mais

1) Dê a fórmula da integral de no intervalo via método de Simpson.

1) Dê a fórmula da integral de no intervalo via método de Simpson. Instruções Esta prova é um longo exercício. Leia todas as questões antes de começar a resolver. Algumas funções úteis já estão incluídas na prova. Explique a sua solução em caixas de texto ou numa folha

Leia mais

AULA 6. Input/output de dados ascii. Interpolação 2D. griddata Laboratório Numérico 1

AULA 6. Input/output de dados ascii. Interpolação 2D. griddata Laboratório Numérico 1 AULA 6 Input/output de dados ascii. Interpolação 2D. griddata 2018 Laboratório Numérico 1 Leitura de dados em numpy Exemplo: Temperatura analisada na região de Lisboa em 2015 Dados de 6 em 6 horas Horas

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Tipos de variáveis comuns em linguagens em geral Identificadores

Leia mais

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Aula 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 mais

Errata* do livro Programação em Python Fundamentos e Resolução de Problemas

Errata* do livro Programação em Python Fundamentos e Resolução de Problemas Errata* do livro Programação em Python Fundamentos e Resolução de Problemas *Nota importante: Correções já consideradas na reimpressão de outubro de 2016. -- * pg. 32, listagem 1.3 Problema de alinhamento

Leia mais

Padrão para a codificação em Python

Padrã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 mais

Introdução à Computação - aulas 01 e 02 -

Introdução à Computação - aulas 01 e 02 - MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída

Leia mais

Curso básico de Python para estudantes de Física

Curso básico de Python para estudantes de Física Curso básico de Python para estudantes de Física Germán A. Racca Universidade do Estado do Rio Grande do Norte Faculdade de Ciências Exatas e Naturais Departamento de Física Mossoró - RN 30 de Junho de

Leia mais

Estrutura de Dados. Diego Silveira Costa Nascimento

Estrutura de Dados. Diego Silveira Costa Nascimento Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 31 de agosto de 2017 Ementa do Curso 1 Introdução

Leia mais

*Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.

*Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas. INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P1 *Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.com Conceitos fundamentais

Leia mais

Os elementos da programação

Os 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 mais

Processamento da Informação Teoria Funções

Processamento da Informação Teoria Funções Processamento da Informação Teoria Funções Semana 01 Prof. Jesús P. Mena-Chalco 27/04/2013 Funções No contexto de linguagens de programação, uma função é uma sequência de instruções utilizada para realizar

Leia mais

Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL

Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL Sobre a Linguagem Haskell Inicialmente temos no trabalho o uso da versão

Leia mais

Programação I Aula 12 Mais sobre cadeias e listas

Programação I Aula 12 Mais sobre cadeias e listas Programação I Aula 12 Mais sobre cadeias e listas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 12 Mais sobre cadeias e listas 2018 1 / 28 Nesta aula 1 Listas em compreensão

Leia mais

Minicurso de Python Aula 2. Raphael Lupchinski Marcelo Millani

Minicurso de Python Aula 2. Raphael Lupchinski Marcelo Millani Minicurso de Python Aula 2 Raphael Lupchinski Marcelo Millani Recapitulando Na última aula vimos a sintaxe básica de Python: Criar escopo utilizando : Identação baseada em 4 espaços Expressões matemáticas

Leia mais