Programação de Computadores

Documentos relacionados
Python: Tipos Básicos. Claudio Esperança

Computação 1 - Python 1/ 41

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide

Computação I - Python

Computação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39

Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30

Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26

Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings

TCC 00308: Programação de Computadores I Organização de programas em Python

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

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python

Organização de programas em Python. Vanessa Braganholo

1/ 26. 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

Computação I - Python Aula 1 - Prática: Primeiros Passos- Função

Algoritmo e Programação Matemática

Algoritmos e estrutura de dados

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Vetores. Vanessa Braganholo

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Listas e Tuplas. Vanessa Braganholo

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

Python 3.x Estrutura de Repetição for Estrutura de Decisão if then else

Programação Básica. Estrutura de um algoritmo

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

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

Python: Listas. Claudio Esperança

Algoritmos e Programação

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Introdução à Computação

Funções. Prof. Alberto Costa Neto Programação em Python

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Linguagem de Programação C. Expressões em C

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Disciplina de Algoritmos e Programação

3. Linguagem de Programação C

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Interação com o usuário

Interação com o usuário

Introdução à Programação Aula 4 Definição de funções

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno

Aula 3 Constantes e funções de E/S

Introdução à Programação

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Faculdade de Computação

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

11 - Estrutura de um programa em C

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2

Introdução a Programação na Linguagem C.

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Algoritmos e Estrutura de Dados Aula 08 Pilhas

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Algoritmos e Estrutura de Dados Aula 04 Strings em Python parte 1

Compilação da linguagem Panda

Python 3.x Estrutura de Repetição while

Transcrição:

Programação de Computadores INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 3 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais

Variáveis String Strings são cadeias de caracteres e constituem outro tipo fundamental da linguagem Python. Constantes string são escritas utilizando-se aspas ou a- póstrofos: Exemplo: a ou 'a'. Uma string tem um tamanho associado e o seu conteúdo pode ser acessado caractere a caractere. O tamanho de uma string pode ser obtido utilizando-se a função len. Função? Já utilizamos a função print! Estudaremos funções com mais detalhes posteriormente. :-) 25/02/14 Algoritmo e Programação Matemática Renato Dourado Maia 2/29

Variáveis String 25/02/14 Programação de Computadores Renato Dourado Maia 3/29

Variáveis String O operador + pode ser utilizado para concatenar strings: Exemplo: a + b é o mesmo que ab. O operador * pode ser utilizado para repetir strings: Exemplo: a *10 é o mesmo que aaaaaaaaaa. 25/02/14 Programação de Computadores Renato Dourado Maia 4/29

Variáveis String Caracteres não imprimíveis podem ser expressos utilizando-se a notação barra invertida (\): \n = new line. \r = carriage return. \t = tab. \b = backspace. \\ = \. \x41 = caractere cujo código hexadecimal é 41 ( A maiúsculo). 25/02/14 Programação de Computadores Renato Dourado Maia 5/29

Variáveis String >>> "ab\rd" 'ab\rd' >>> print("ab\rd") # print exibe chars não imprimíveis db >>> print("abc\td") abc d >>> print("abc\nd") abc d >>> print("abc\\nd") abc\nd >>> print("ab\bc") ac >>> print("\x41\xa1") Aí 25/02/14 Programação de Computadores Renato Dourado Maia 6/29

Variáveis String Para desabilitar a notação barra invertida (\), basta preceder a constante string por um r (erre minúsculo), o que transforma a string em uma raw string. >>> print("abc\ncd\tef") abc cd ef >>> print(r"abc\ncd\tef") abc\ncd\tef 25/02/14 Programação de Computadores Renato Dourado Maia 7/29

Variáveis String Constantes string podem ser escritas com várias linhas, desde que as aspas não sejam fechadas e que cada linha termine com uma barra invertida. >>> print("abcd\n\... efgh\n\... ijk") abcd efgh ijk >>> print("abcd\... efgh\... ijk") abcdefghijk 25/02/14 Programação de Computadores Renato Dourado Maia 8/29

Variáveis String Também é possível escrever constantes string em várias linhas, incluindo as quebras de linha, utilizando-se três aspas (ou apóstrofos) como delimitadores: >>> print(""" Um tigre, dois tigres, três tigres""") Um tigre dois tigres três tigres 25/02/14 Programação de Computadores Renato Dourado Maia 9/29

Variáveis String Para acessar os caracteres de uma string, deve-se informar o índice entre colchetes ([ ]). O primeiro caractere tem índice 0 e o último tem índice igual ao tamanho da string 1. Se uma string possui 10 caracteres, o último caractere possui índice 9. O último caractere pode ser acessado pelo índice -1. 25/02/14 Programação de Computadores Renato Dourado Maia 10/29

Variáveis String >>> a = "ABCDE" >>> a[0] 'A' >>> a[1] 'B' >>> a[5] Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> a[5] IndexError: string index out of range >>> print(len(a)) 5 >>> a[-1] 'E' 25/02/14 Programação de Computadores Renato Dourado Maia 11/29

Variáveis String Strings podem ser fatiadas, o que permite que sejam separados trechos: Notação: string[índice1: índice2]. Retorna os caracteres desde o índice1 (inclusive) até o índice2 (exclusive). Se o primeiro índice é omitido, assume-se 0. Se o último índice é omitido, assume-se o fim da string. >>> a 'abcde' >>> a[0:2] 'ab' >>> a [2:] 'cde' >>> a[:] 'abcde' >>> a[-1:] 'e' >>> a[:-1] 'abcd' 25/02/14 Programação de Computadores Renato Dourado Maia 12/29

Lembrando da Última Aula... y (t)=v 0 t 1 2 g t 2 { v 0 =5m/s velocidade inicial (em t=0) aceleração da gravidade g=9,81m/s 2 } y=5 0,6 t =0,6 s 1 2 9,81 0,62 # Programa para calcular a altura de uma bola num # lançamento vertical v0 = 5 # Velocidade inicial g = 9.81 # Aceleração da gravidade t = 0.6 # Tempo y = v0*t 0.5*g*t**2 # Posição vertical da bola print(y) 25/02/14 Programação de Computadores Renato Dourado Maia 13/29

Formatando Texto e Números O programa apresentado no slide anterior apenas apresenta o valor de y. Seria mais interessante apresentar uma mensagem mais informativa, como, por exemplo: Em t = 0.6 s, a altura y = 1.23 m. Para construir mensagens como essa, utiliza-se a composição de strings. print( Em t = %g s, y = %.2f m. % (t, y)) %d e %.2f são marcadores de posição, enquanto o último símbolo % indica a composição de strings. 25/02/14 Programação de Computadores Renato Dourado Maia 14/29

Formatando Texto e Números Exemplos de marcadores de posição: %s: string %d: inteiro %0xd: inteiro com x posições. %f: notação decimal com seis casas decimais. %e: notação científica compacta, com e no expoente. %E: notação científica compacta, com E no expoente. %%: o próprio símbolo %. 25/02/14 Programação de Computadores Renato Dourado Maia 15/29

Formatando Texto e Números # Programa para calcular a altura de uma bola num # lançamento vertical v0 = 5 # Velocidade inicial g = 9.81 # Aceleração da gravidade t = 0.6 # Tempo y = v0*t 0.5*g*t**2 # Posição vertical da bola print (""" Em t = %f s, uma bola com velocidade inicial v0 = %.3E m/s está localizada na altura %.2f m. """ % (t, v0, y)) Saída Em t = 0.600000 s, uma bola com velocidade inicial v0 = 5.000E+00 m/s está localizada na altura 1.23 m. 25/02/14 Programação de Computadores Renato Dourado Maia 16/29

Objetos Tudo em Python é um objeto e as variáveis são os nomes dos objetos: a = 5 # a - objeto int. b = 9 # b - objeto int. c = 9.0 # c - objeto float. d = b/a # d - Python 2: int; 3: float. s = b/a=%g % (b/a) # s - objeto str. O conceito de objeto é mais elaborado e talvez o estudaremos com mais detalhes na disciplina Programação de Computadores. 25/02/14 Programação de Computadores Renato Dourado Maia 17/29

Mais Sobre Tipos Vimos na aula passada que o tipo de uma variável muda de acordo com o valor a ela atribuído. Python é uma linguagem de tipagem dinâmica. Não confundir com linguagens sem tipo! Pode-se conhecer o tipo de um objeto por meio da função type: >>> C = 1 >>> type(c) <type 'int'> 25/02/14 Programação de Computadores Renato Dourado Maia 18/29

Mais Sobre Tipos É possível a conversão de tipos (sempre que isso fizer sentido): >>> C = 1 >>> type(c) <type 'int'> >>> C = float(c) >>> type(c) <type 'float'> 25/02/14 Programação de Computadores Renato Dourado Maia 19/29

Funções Embutidas Além dos operadores que já vimos, é possível computar valores por meio de funções As funções podem ser definidas: Pelo programador (estudaremos depois). Em módulos da biblioteca padrão (estudaremos o que são módulos com mais detalhes depois). Por default, o que corresponde na verdade às funções embutidas (built-in). As funções embutidas na verdade fazem parte do módulo builtins, que é sempre importado em toda aplicação. 25/02/14 Programação de Computadores Renato Dourado Maia 20/29

Funções Embutidas Exemplos: abs(x) retorna o valor absoluto do número x. cha(x) retorna uma string com um único caractere cujo código ASCII é x. ord(s) retorna o código ASCII do caractere s. >>> abs (10) 10 >>> abs (-19) 19 >>> chr (95) '_' >>> chr (99) 'c' >>> ord ('a') 97 25/02/14 Programação de Computadores Renato Dourado Maia 21/29

Voltando ao Exemplo da Bola Quanto tempo a bola demora para alcançar a altura y c? y (t)=v 0 t 1 2 g t 2 { velocidade inicial (em t=0) aceleração da gravidade y c =v 0 t 1 2 g t {t 2 1 = ( v 0 v 2 0 2 g y ) /g c t 2 = ( v 0 + v 0 2 2 g y c ) /g Precisaremos da função raiz quadrada? 25/02/14 Programação de Computadores Renato Dourado Maia 22/29

Voltando ao Exemplo da Bola v0 = 5 g = 9.81 yc = 0.2 t1 = (v0 - (v0**2 2*g*yc)**0.5)/g t2 = (v0 + (v0**2 2*g*yc)**0.5)/g print ('Em t = %g s e %g s,\ a altura da bola é %g m.' % (t1, t2, yc)) 25/02/14 Programação de Computadores Renato Dourado Maia 23/29

Importando Módulos Funções como raiz quadrada, seno e diversas outras estão disponíveis no módulo math da biblioteca padrão. Um módulo pode conter também variáveis e classes. O módulo math, por exemplo, define a constante pi. Para se utilizar os elementos de um módulo, pode-se utilizar o comando import: import module import module as nome from module import nome,, nome from module import * 25/02/14 Programação de Computadores Renato Dourado Maia 24/29

Importando Módulos Exemplos: from math import * # importa todos os elementos do módulo math from math import sin # importa apenas a função sim import math # importa o módulo math como um todo # (os elementos têm que ser citados pre pre- # cedidos por math) import math as m # análogo ao caso anterior 25/02/14 Programação de Computadores Renato Dourado Maia 25/29

Importando Módulos >>> import math >>> a = sin(30) Traceback (most recent call last): File "<stdin>", line 1, in? NameError: name 'sin' is not defined >>> a = math.sin(30) >>> from math import sin >>> a = sin(30) >>> a = sin(radians(30)) Traceback (most recent call last): File "<stdin>", line 1, in? NameError: name 'radians' is not defined >>> from math import * >>> a = sin(radians(30)) 25/02/14 Programação de Computadores Renato Dourado Maia 26/29

Explorando Módulos 25/02/14 Programação de Computadores Renato Dourado Maia 27/29

Voltando Novamente ao Exemplo da Bola y c =v 0 t 1 2 g t {t 2 1 = ( v 0 v 2 0 2g y ) /g c t 2 = ( v 0 + v 0 2 2g y c ) /g import numpy as np v0 = 5 g = 9.81 yc = 0.2 p = np.poly1d([0.5*g, -v0, yc]) print (p) print(p.r) 25/02/14 Programação de Computadores Renato Dourado Maia 28/29

Por Hoje é Só! 25/02/14 Programação de Computadores Renato Dourado Maia 29/29