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 CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins [email protected] CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 3. Linguagens de Programação CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. É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 é muito flexí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] CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. É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() CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. É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ão imutá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. CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. É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] CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. É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 enorme quantidade de dados. Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar o valor. Em Python, os dicionários são definidos dentro de chaves {}, sendo cada item um par na forma chave: valor. A chave e o 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. CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Conversão entre 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)]) CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Definindo funções Em Python, subprogramas têm o nome de funções . def nome (arg, arg, ... arg): comandos... return xxx • nome é o nome da função; • arg são os argumentos da função. Uma função pode ter 0, 1 ou mais argumentos; • comando são as instruções a serem executadas quando a função é invocada; • return indica o valor a ser devolvido como o resultado da função. return é uma palavra reservada. Se uma função chega a seu fim sem nenhum valor de retorno ter sido especificado, o valor de retorno é None CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Definindo funções Exemplo: def f(nome): tx = "Oi " + nome return tx CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Definindo funções Variáveis locais e globais - Variáveis definidas em funções são locais, isto é, só podem ser usadas nas funções em q ue foram definidas - Variáveis definidas fora de funções são conhecidas como variáveis globais. É possível no código de uma função ler o conteúdo de uma variável global. - Para alterar uma variável global, ela precisa ser declarada no corpo da função usando o c omando global. CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Variáveis locais e globais >>> def f(): print a >>> a = 1 >>> f() 1 >>> a 1 >>> def f(): a=5 print a >>> f() 5 >>> a 1 >>> def f(): global a a=5 print a >>> f() 5 >>> a 5 CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Definindo funções Argumentos de funções - Se uma função define n argumentos, valores para todos eles devem ser passados na chamada; - É possível dar valores default a argumentos. Se não forem especificados valores para esses argumentos, os defaults são usados. Se apenas alguns argumentos têm default, esses devem ser os últimos na chamada; >>> def f (nome, saudacao="Oi", pontuacao ="!!"): ms = saudacao+","+nome+pontuacao return ms >>> print f("Joao") Oi,Joao!! >>> print f("Joao","Parabens") Parabens,Joao!! >>> print f("Joao","Ah","...") Ah,Joao... CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins Definindo funções Exemplos: Exemplos: def biggest_number(args): print max(args) return max(args) -----------------def biggest_number(args): print max(args) def biggest_number(args): return max(args) -----------------def biggest_number(*args): print max(args) return max(args) Considere como argumento de entrada a lista c=[-10, -5, 5, 10] CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 3. Exercícios Python CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 1. Exercício de implementação: a) Faça a implementação em python e crie os bytecodes dos algoritmos dos exercícios de Estrutura de Dados (vetor e matriz). CURSO DE ENGENHARIA CIVIL Algoritmos e Programação Prof. Me. Érico Fernando O. Martins 2. Crie funções em Python para: a) Retorna se o número é “par” ou “ímpar” (crie docstring); b) Calcule a área do triângulo (crie docstring); c) Ao receber um valor retorna se o número é ou não é primo (crie docstring);