Algoritmos e Programaçãosinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Algoritmos e...
Transcript of Algoritmos e Programaçãosinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Algoritmos e...
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA
UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP
FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS
Prof. Dr. Érico Fernando O. [email protected]
Algoritmos e Programação
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
2. Linguagens de Programação
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Indentação
Indentação: Em tipografia, indentação é o recuo de um texto em relação à sua margem.
• Python utiliza a indentação para definir um bloco de código.• Um bloco de código (corpo de uma decisão, repetição ou até mesmo uma
função, etc) começa com indentação e termina com a primeira linha não intendata.
• Podem ser utilizados quatro espaços em branco ou “um tab” para fazer uma indentação.
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Indentação
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) simples de dados
• Números (Numbers)• int, long, float, complex
• Cadeias de caracteres (Strings)• str, unicode
• Booleano (Bool)• bool
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) simples de dados
• Números (Numbers)• int, long, float, complex
>>> a = 3.14
>>> b = 5
>>> c = 3 + 14j
>>> d = 12345678901234567890
>>> e = 1L
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) simples de dados
• Cadeias de caracteres (Strings)• str, unicode
>>> t = '9'
>>> k = 't'
>>> u = 'sala de aula '
>>> i = '32k, -fn%#@!'
>>> j = u 'integração1’
• Cadeias de caracteres do tipo unicode são declaradas acrescentando u no início;
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados
• Lista (List)
• Tupla (Tuple)
• Conjunto (Set)
• Dicionário (Dictionary)
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados• Lista (List)Lista é uma sequência ordenada de itens. É um dos tipos de dados mais utilizados em Python e é muitoflexível. Os itens de uma lista não precisam ser do mesmo tipo.
Declarar uma lista é bastante simples. Os itens separados por vírgulas são colocados entre colchetes [].
>>> a = [1, 2.2, 'python']
Podemos usar o operador de fatiamento [] para extrair um item ou um intervalo de itens de uma lista. Oíndice inicia em 0.
As listas são mutáveis, ou seja, o valor dos elementos de uma lista pode ser alterado.
>>> a = [1,2,3]
>>> a[2]=4
>>> a
[1, 2, 4]
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados
• Lista (List)
Aqui estão todos os métodos disponíveis em um objeto lista (list):
• list.append(x)
• list.extend(L)
• list.insert(i, x)
• list.remove(x)
• list.pop([i])
• list.index(x)
• list.count(x)
• list.sort()
• list.reverse()
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados• Tupla (Tuple)
Tupla é uma sequência ordenada de itens como as listas. A única diferença é que as tuplas sãoimutáveis, uma vez criadas não podem ser modificadas.
As tuplas são usadas para proteger a escrita de dados e geralmente são mais rápidas do que a lista,pois não podem ser alterados dinamicamente.
É definida entre parênteses () onde os itens são separados por vírgulas.
>>> t = (5, 'programa', 1 + 3j)
Podemos usar o operador de fatiamento [] para extrair itens, mas não podemos alterar seu valor.
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados• Conjunto (Set)
Conjunto é uma coleção desordenada de itens exclusivos (elimina duplicatas).
É definido por valores separados por vírgula dentro de chaves {}.
>>> a = {1,2,2,3,3,3}
>>> a
{1, 2, 3}
Uma vez que os conjuntos são coleções não ordenadas, a indexação não tem significado. Assim, o operador de corte[] não funciona.
>>> a = {1,2,3}
>>> a [1]
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados• Dicionário (Dictionary)
Dicionário é uma coleção desordenada de pares chave-valor. É geralmente usado quando temos uma enormequantidade de dados. Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar ovalor.
Em Python, os dicionários são definidos dentro de chaves {}, sendo cada item um par na forma chave: valor. A chave eo valor podem ser de qualquer tipo.
>>> d = {1: 'valor', 'chave': 2}
>>> tipo (d)
<Class 'dict'>
Usamos a chave para recuperar o respectivo valor. Mas não o contrário.
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Conversão entre tipos primitivos compostos de dados
>>> float(5)
>>> int(10.6)
>>> int(-10.6)
>>> float('2.5')
>>> str(25)
>>> set([1,2,3])
>>> tuple({5,6,7})
>>> list('hello')
>>> dict([[1,2],[3,4]])
>>> dict([(3,26),(4,44)])
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Variável
• Uma variável é apenas um NOME que REFERENCIA a um OBJETO na memória RAM.
• Todo o OBJETO têm:• algum conteúdo (atribuído por x = 5)
• uma identidade única (um valor inteiro que indica um endereço de memória, retornado por id(x))
• um tipo (retornado por type(x))
• As regras para escrever o nome das variáveis são as mesmas dos algoritmos.
• Não precisamos declarar uma variável antes de usá-la. Isso é tratado internamente de acordo com o tipo de valor que atribuímos à variável.
• A variável estará disponível na memória RAM (Random Access Memory) enquanto houver eletricidade e o ambiente de programação não for reiniciado.
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Variável
>>> x = 10 # atribui o valor 10 à variável x (errado)
• Na verdade o interpretador Python cria um objeto do tipo int que possui 10como valor, cria o identificador x e faz com que o identificador x referencieo objeto.
• Toda vez que x for usado em seu código, ele será automaticamentesubstituído pelo valor do objeto que está referenciando (int 10).
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Variável
>>> x = x + 1 # atualiza o valor de x (errado)
• Na verdade x passa a fazer referência a um novo objeto do tipo int, cujovalor é 11.
• Um objeto que não possui identificador algum o referenciando viracandidato a coleta de lixo, que é um mecanismo que elimina da memóriaobjetos que não são mais necessários.
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Variável
>>> y = x # atribui para y o mesmo valor que foi atribuído à x (errado)
• Na verdade o interpretador cria um novo identificador y e faz com que elereferencie o objeto referenciado por x.
• Um objeto que não possui identificador algum o referenciando viracandidato a coleta de lixo, que é um mecanismo que elimina da memóriaobjetos que não são mais necessários.
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Variável
• Objeto Imutável
>>> s = ‘abc’
>>> s = ‘abc’ + ‘d’ # não possui método, utiliza-se concatenação (+) para criar novo objeto.
• Objeto Mutável:
>>> h = [1, 2, 3] # cria uma lista
>>> h.append(4) # método append() adiciona o valor 4 ao final de h, modificando-a.
>>> print (h)
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Python: Variável
>>> x = 15 # atribui o valor 15 à variável x (errado)
• Como devemos interpretar corretamente?
• O que aconteceu com y ?
>>> m = [1, 2, 3] # cria uma lista m e atribui os valores 1, 2,3 (errado)
>>> p = m
>>> m.append(4)
• Como devemos interpretar corretamente?
• O que aconteceu com p ?
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) simples de dados
• Números (Numbers)• int, long, float, complex
• Cadeias de caracteres (Strings)• str, unicode
• Booleano (Bool)• bool
MUTÁVEL OU IMUTÁVEL?
Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins
Tipos primitivos (integrado ou built-in) composto de dados
• Lista (List)
• Tupla (Tuple)
• Conjunto (Set)
• Dicionário (Dictionary)
MUTÁVEL OU IMUTÁVEL?