Buscar

08_-_Tipos_Incorporados-Numeros

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
Tipos Incorporados
Números e Strings 
Algoritmos e Programação I - Cátia Khouri & Fábio Moura
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Estrutura de Programas em Python
*
*
Nos programas em Python, os dados assumem a forma de objetos
Objetos incorporados oferecidos pelo Python, ou
Objetos criados por nós
Programas em Python são compostos de módulos;
Módulos contém instruções;
Instruções contém expressões;
Expressões criam e processam objetos.
Python oferece tipos de dados poderosos.
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Objetos Incorporados
*
*
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Números
Python suporta uma série de tipos numéricos
Normais, como inteiros e de ponto flutuante;
Literais, para a criação de números e expressões para processá-los;
Oferece também um tipo de número complexo.
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Tipagem dinâmica
Em Python não é necessário declarar variáveis.
Uma variável é criada a partir do momento em que ela recebe um valor pela primeira vez no código.
Por exemplo:	x = 5
Assim, uma variável só pode ser usada após uma atribuição de valor a ela
Uma variável nunca tem um tipo associado. O tipo sempre está relacionado a objetos.
Quando uma variável aparece em uma expressão, ela é substituída imediatamente pelo objeto a que se refere.
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Criação de objetos
Conceitualmente, quando uma variável é usada pela primeira vez, como na atribuição
 x = 5
Três passos distintos ocorrem:
Um objeto é criado para representar o valor inteiro 5
5
x
A variável x é criada
A variável x é vinculada ao objeto 5
referência
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Objetos e variáveis
Variáveis e objetos são armazenados em partes diferentes da memória e associados por vínculos;
Variáveis sempre se vinculam a objetos, nunca a outras variáveis;
Se uma variável recebe outra por atribuição,ela é vinculada ao objeto vinculado à primeira variável
x = 5
y = x
5
x
y
Referência
compartilhada
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Objetos e variáveis
Se x recebe um novo objeto (inclusive, podendo ser de outro tipo), y permanece inalterado.
x = 5
y = x
x = ‘casa’
5
x
y
casa
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Inteiros são imutáveis
Se x recebe um novo objeto, ele é criado em outro endereço de memória.
x = 5
x = ‘casa’
5
x
casa
O objeto 5 não é sobrescrito. Apenas x passa a referenciar outro objeto.
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos de Programação I - Tipos Incorporados - Números/Strings
*
Referências a objetos alteráveis
A atribuição de deslocamentos em listas altera o objeto em si (no local)
	>>> L1 = [5, 8, 10]
	>>> L2 = L1
	>>> L2
	[5, 8, 10]
	>>> L1[0] = 12
	>>> L2
	[12, 8, 10]
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Strings
Uma string é um conjunto ordenado de caracteres;
Python não possui nenhum tipo especial para caracteres simples (como char em C), é apenas um string de um único caractere.
A rigor, uma string em Python é uma sequência imutável.
Possuem uma ordem posicional – da esquerda para a direita;
Não podem ser alteradas no local.
Operações válidas para strings são válidas também para outros tipos de sequência.
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Operações sobre strings
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Operações sobre strings
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Operações sobre strings 
Aspas ou apóstrofes
>>> ‘computador’, “computador”
(‘computador’, ‘computador’)
>>> “d’agua”, ‘d“agua’
(“d’agua”, ‘d”agua’)
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Operações sobre strings 
Sequências de escape
>>> s1 = “r\nu\na”
>>> s1
“r\nu\na”
>>>print s1
r
u
a
Comprimento
>>> len(s1)
5
Veja a tabela com as 
sequências de escape 
na pág. 99 do livro texto
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Operações sobre strings
Strings brutas suprimem sequências de escape
>>> caminho = r‘C:\teste\arquivo.dat’
>>> caminho
'C:\\teste\\arquivo.dat' Obs.: 2 barras correspondem a 				uma barra normal
Concatenação
>>> ‘casa ’ + ‘branca’
casa branca
Repetição
>>> “pa!” * 3
pa!pa!pa!
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Operações sobre strings
Iteração
>>> nome = “Adelaide”
>>> for c in nome: print c,
A d e l a i d e
>>>"e" in nome
True
>>> "o" in nome
False
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Indexação e Fracionamento
Strings são sequências de caracteres
cada elemento
possui uma posição relativa ao início ou ao fim da sequência.
>>> s = ‘cadeira’
>>> s[0]
‘c’
Deslocamentos negativos são somados ao comprimento da string para deduzir um deslocamento positivo
>>> s[-2]
‘r’
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Fracionamento
Podemos extrair um fracionamento de uma sequência indexando-a por um par de deslocamentos separados por dois pontos;
O Python busca todos os elementos entre o limite inferior e o limite superior (não incluído)
>>> s[1:3], s[1:], s[:-1]
('ad', 'adeira', 'cadeir')
Limites omitidos têm como padrão 0 (inferior) e o compri-mento da sequência (superior)
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Fracionamento com passo
>>> s[1:5:2]
'ae'
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos de Programação I - Tipos Incorporados - Números/Strings
*
Alteração de strings
Strings são sequências imutáveis
Não é possível alterar uma string no local
>>> s = "livro"
>>> s[0] = "a"
l
erro!
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Alteração de strings
Para alterar uma string é necessário construir e atribuir uma nova string
Concatenação
Fracionamento
Atribuição
>>> s = "livro!"
>>> s = "bom " + s
>>> s
'bom livro!‘
>>> s = "livro!"
>>> s = s[:5] + " bom" + s[-1]
>>> s
'livro bom!'
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Exercícios
Os motoristas estão preocupados com a quilometragem obtida por seus automóveis. Um motorista fez um controle de vários tanques de gasolina gastos, anotando os quilômetros de rodagem obtidos por tanque. Desenvolva um programa que recebe como entrada os quilômetros rodados e os litros gastos para cada tanque. O programa deve calcular e exibir os quilômetros por litro obtidos para cada tanque. Depois de processar todas as informações fornecidas, o programa deve calcular e imprimir os quilômetros por litro obtidos por todos os tanques combinados (média).
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
Linguagem de Programação I - Tipos Incorporados - Números/Strings
*
*
Algoritmos e Programação I - Tipos Incorporados - Números/Strings
*
Escreva um programa que lê o tamanho do lado de um quadrado e então imprime um quadrado daquele tamanho com asteriscos e espaços em branco. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20. Por exemplo, se seu programa lê um tamanho 5, deve imprimir
	*****
	* *
	* *
	* *
	*****
Um palíndromo é um número ou uma frase que, lido ao contrário é o mesmo que lido normalmente. Por exemplo, os números 12321, 57975, e 48384 são palíndromos. Escreva um programa que lê um número de cinco dígitos e determina se ele é um palíndromo.
Linguagem de Programação I - Tipos Incorporados - Números/StringsLinguagem de Programação I - Estruturas de Controle
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais