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 CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins [email protected] CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 2. Linguagens de Programação CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Python Atribuição Usamos o operador de atribuição (=) para atribuir valores a uma variável. x=3 y = 7.34 z = “Bom dia” • Atribuições multiplas • x, y , z = 3 , 7.34 , “Bom dia” • Atribuições identicas • x = y = z = “Bom dia" CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Python: Comentários Os comentários descrevem o que está acontecendo dentro de um programa para que uma pessoa olhando para o código fonte não tenha dificuldade em descobrir. • Comentário (Comment) • Use cerquilha (#) para iniciar um comentário; • Comentário Multi-Linha (Multi-line comment) • Use cerquilha (#) no início de cada linha ou triplas aspas ( ''' ou """) no início e fim das linhas; • Texto de documentação (Docstring) • É uma documentação inserida no início de um módulo, função, classe ou definição de método; • Deve descrever o que uma função / classe faz de maneira geral; • As triplas aspas são usadas ao escrever docstrings. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Python: Indentação CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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 10 como valor, cria o identificador x e faz com que o identificador x referencie o objeto. • Toda vez que x for usado em seu código, ele será automaticamente substituído pelo valor do objeto que está referenciando (int 10). CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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, cujo valor é 11. • Um objeto que não possui identificador algum o referenciando vira candidato a coleta de lixo, que é um mecanismo que elimina da memória objetos que não são mais necessários. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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 ele referencie o objeto referenciado por x. • Um objeto que não possui identificador algum o referenciando vira candidato a coleta de lixo, que é um mecanismo que elimina da memória objetos que não são mais necessários. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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) CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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 ? CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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 • Esses tipos são imutáveis. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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 CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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'amigo‘ • Cadeias de caracteres do tipo unicode são declaradas acrescentando u no início; • São um tipo de dado sequencial (Sequence Types); • São imutáveis. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. É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 São imutáveis. CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Tipos primitivos (integrado ou built-in) composto de dados • Lista (List) • Tupla (Tuple) • Conjunto (Set) • Dicionário (Dictionary) CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 3. Exercícios Python CURSO DE ENGENHARIA ELÉTRICA Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 1. Descreva os tipos primitivos (integrado ou built-in) composto de dados e os métodos correspondentes: • Lista (List) • Tupla (Tuple) • Conjunto (Set) • Dicionário (Dictionary)