Fundamentos de Programação I

Tamanho: px
Começar a partir da página:

Download "Fundamentos de Programação I"

Transcrição

1 1 Universidade Federal Tecnológica do Paraná UTPR Campus: Campo Mourão Professor: Rafael Henrique Dalegrave Zottesso Material cedido por: Luiz Arthur Feitosa dos Santos Sumário: Revisão; Vetores;

2 2 Vetor Vetor também conhecido como variável composta homogênea unidimensional. Isto quer dizer que se trata de um conjunto de variáveis do mesmo tipo, que possuem o mesmo identificador (nome) e são alocadas sequencialmente na memória. Como as variáveis têm o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura. Declaração de vetor em algoritmos DECLARE nome[tamanho] tipo Onde, nome é o nome da variável vetor; tamanho é a quantidade de variáveis que vão compor o vetor; tipo é o tipo dos dados que serão armazenados no vetor. Exemplo: DECLARE X[5] NUMÉRICO X X[1]

3 3 Atribuição de valores no vetor As atribuições em vetor exigem que seja informada em qual de suas posições o valor ficará armazenado. Exemplo: DECLARE X[5] NUMÉRICO X[1] 51 X[3] X X[1] No exemplo, o número 51 foi armazenado na posição de índice 1 do vetor e o índice 3 recebeu o valor 22.

4 4 Preenchendo um vetor Preencher um vetor significa atribuir valores as suas posições. Assim, devese implementar um mecanismo que controle o valor do índice. PARA i ATÉ 5 FAÇA INÍCIO ESCREVA Digite o número para a posição, i, do vetor LEIA X[i] FIM Neste exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da repetição, será utilizada uma posição diferente do vetor. Digite um número para a Teste de mesa: posição 1 do vetor X i = 1 13

5 5 Preenchendo um vetor Preencher um vetor significa atribuir valores as suas posições. Assim, devese implementar um mecanismo que controle o valor do índice. PARA i ATÉ 5 FAÇA INÍCIO ESCREVA Digite o número para a posição, i, do vetor LEIA X[i] FIM Neste exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da repetição, será utilizada uma posição diferente do vetor. Digite um número para a Teste de mesa: posição 1 do vetor X i = 1 13

6 6 Preenchendo um vetor Preencher um vetor significa atribuir valores as suas posições. Assim, devese implementar um mecanismo que controle o valor do índice. PARA i ATÉ 5 FAÇA INÍCIO ESCREVA Digite o número para a posição, i, do vetor LEIA X[i] FIM Neste exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da repetição, será utilizada uma posição diferente do vetor. Digite um número para a Teste de mesa: posição 2 do vetor X 13 i = 2 24

7 7 Preenchendo um vetor Preencher um vetor significa atribuir valores as suas posições. Assim, devese implementar um mecanismo que controle o valor do índice. PARA i ATÉ 5 FAÇA INÍCIO ESCREVA Digite o número para a posição, i, do vetor LEIA X[i] FIM Neste exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da repetição, será utilizada uma posição diferente do vetor. Digite um número para a Teste de mesa: posição 3 do vetor X i = 3 66

8 8 Preenchendo um vetor Preencher um vetor significa atribuir valores as suas posições. Assim, devese implementar um mecanismo que controle o valor do índice. PARA i ATÉ 5 FAÇA INÍCIO ESCREVA Digite o número para a posição, i, do vetor LEIA X[i] FIM Neste exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da repetição, será utilizada uma posição diferente do vetor. Digite um número para a Teste de mesa: posição 4 do vetor X i = 4-10

9 9 Preenchendo um vetor Preencher um vetor significa atribuir valores as suas posições. Assim, devese implementar um mecanismo que controle o valor do índice. PARA i ATÉ 5 FAÇA INÍCIO ESCREVA Digite o número para a posição, i, do vetor LEIA X[i] FIM Neste exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da repetição, será utilizada uma posição diferente do vetor. Digite um número para a Teste de mesa: posição 5 do vetor X i = 0 0

10 10 Vetor em Python Existem algumas formas de se representar um vetor em Python, nós veremos inicialmente as listas. Listas As listas representam um tipo de dados que armazena coleções de objetos de forma ordenada e flexível (tal como um vetor). Ao contrário das strings, as listas podem conter qualquer tipo de objeto: Números; Strings; Até outras listas. Declaração de listas As listas são identificados pela existência de colchetes logo após o nome da variável no momento da declaração. X = [11, 34, 51, 13, 97] X

11 11 Coleções/Registros As listas do Python fazem o trabalho da maioria das estruturas de dados tipo coleção/registros. Algumas propriedades das listas, são: Coleção ordenadas de objetos arbitrários Do ponto de vista funcional, as listas são apenas um lugar para reunir outros objetos; assim você pode tratá-los como um grupo. As listas também definem uma ordenação posicional, da esquerda para a direita, para seus itens. Acessadas pelo deslocamento Exatamente como acontece com as strings, você pode buscar um objeto componente de uma lista indexando-o no deslocamento do objeto. Como nas listas os itens são ordenados pelas suas posições, você também pode executar tarefas como fracionamento e concatenação. As listas têm comprimento variável, são heterogêneas e podem ser aninhadas arbitrariamente.

12 12 Listas tem tamanho dinâmico Ao contrário das strings, as listas podem crescer e diminuir no local (tem comprimento variável) e podem conter qualquer tipo de objeto, não apenas strings de um único caractere (elas são heterogêneas). Como as listas podem conter outros objetos complexos, elas também suportam aninhamento arbitrário; você pode criar listas de listas de listas. Categoria sequência mutável As listas possuem operações de indexação, fracionamento e concatenação. Como as listas são mutáveis, elas também suportam outras operações como exclusão e atribuição de índice. Arrays de referências de objetos Tecnicamente, as listas do Python contêm zero ou mais referências para outros objetos. As listas podem lembrar os arrays (vetores) de ponteiros (endereços). Quando você insere um objeto em uma estrutura de dados ou em um nome de variável, o Python sempre armazena uma referência para o objeto e não uma cópia dele (a não ser que você solicite uma cópia explicitamente).

13 13 Por que utilizar vetores? Teste 1 Recebe 10 números sem utilizar vetores. Se não existisse vetores um programa deveria tratar uma sequencia de dados iguais conforme o programa semvetor.py, a seguir: 1 Usando um editor de texto crie o código fonte: a0 = int(input('digite um número: ')) a1 = int(input('digite um número: ')) a2 = int(input('digite um número: ')) a3 = int(input('digite um número: ')) a4 = int(input('digite um número: ')) a5 = int(input('digite um número: ')) a6 = int(input('digite um número: ')) a7 = int(input('digite um número: ')) a8 = int(input('digite um número: ')) a9 = int(input('digite um número: ')) print("os números digitados foram: %d, %d, %d, %d, %d, %d, %d, %d, %d e %d" % (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9))

14 14 2 Executar: $ python semvetor.py Na saída é apresentada, podemos notar que para receber os 10 números e depois apresentá-lo torna-se um trabalho grande!!! Mas se você estiver pensando que nem é tanto trabalho assim, imagine se for necessário armazenar 100 ou mais números!!! Neste caso o uso de vetor será fundamental. 3 Saída: Digite um número: 1 Digite um número: 2 Digite um número: 3 Digite um número: 4 Digite um número: 5 Digite um número: 6 Digite um número: 7 Digite um número: 8 Digite um número: 9 Digite um número: 10 Os números digitados foram: 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10

15 15 Teste 2 Programa que recebe 10 números usando vetor. 1 Usando um editor de texto crie o código fonte: a = [0]*10 a[0] = int(input('digite um número: ')) a[1] = int(input('digite um número: ')) a[2] = int(input('digite um número: ')) a[3] = int(input('digite um número: ')) a[4] = int(input('digite um número: ')) a[5] = int(input('digite um número: ')) a[6] = int(input('digite um número: ')) a[7] = int(input('digite um número: ')) a[8] = int(input('digite um número: ')) a[9] = int(input('digite um número: ')) print("os numeros digitados foram: %s" % a) Observação, no exemplo a linha a = [0]*10 cria dez elementos na lista a com valor igual a 0. Este artificio é utilizado para criar uma matriz de tamanho determinado.

16 16 2 Executar: $ python comvetor1.py 3 - Saída: Digite um número: 1 Digite um número: 2 Digite um número: 3 Digite um número: 4 Digite um número: 5 Digite um número: 6 Digite um número: 7 Digite um número: 8 Digite um número: 9 Digite um número: 10 Os números digitados foram: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Comparando Teste1 com Teste2 não tem muita diferença, só que ao invés de utilizarmos 10 variáveis (separadas), utilizamos uma estrutura de vetor, neste caso uma lista chamada a. A principal diferença neste exemplo foi ao final ao invés de apresentarmos os elementos um a um, mostramos apenas a lista na última linha do comando print. Porém, o programa pode ser melhor escrito com o uso de comandos de repetição. Vamos fazer isto no Teste3.

17 17 Teste 3 Programa que recebe 10 números usando vetor e laço de repetição. 1 Usando um editor de texto crie o código fonte: a = [0]*10 for i in range(10): a[i] = int(input('digite um número: ')) print("os números digitados foram:") print(a) 2 Executar: $ python comvetor2.py 4 - Saída: Digite um número: 1 Digite um número: 2 Digite um número: 3 Digite um número: 4 Digite um número: 5 Digite um número: 6 Digite um número: 7 Digite um número: 8 Digite um número: 9 Digite um número: 10 Os números digitados foram: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

18 18 Operações com listas: Operação Interpretação L1 = [ ] Uma lista vazia l2 = [0, 1, 2, 3] Quatro itens na lista L3 = ['abc', ['def', 'ghi']] sublistas aninhadas L2[i] Índice L3[i][j] Índice de índice L2[i:j] Fracionamento len(l2) Comprimento L1+L2 Concatenação L2 * 3 Repetição for x in L2 Iteração 3 in L2 participação como membro

19 19 Operações com listas: Operação L2.append(4) L2.extend([5,6,7]) L2.sort() L2.index[1] L2.reverse() del L2[k] del L2[i:j] L2.pop() L2[i:j] = [ ] L2[i] = 1 L2[i:j[ = [4, 5, 6] range(4) xrange(0, 4) L4 = [x**2 for x in range(5)] Interpretação Métodos Redução Atribuição de índice Atribuição de fracionamento Produz listas/tuplas de inteiros Abrangência de listas

20 20 Operações básicas com listas As listas respondem aos operadores + e * exatamente como as strings; aqui eles também significam concatenação e repetição, exceto que o resultado é uma nova lista e não uma string. Na verdade, as listas respondem a todas as operações de sequência gerais usadas para strings. >>> len([1,2,3]) 3 >>> [1,2,3]+[4,5,6] [1, 2, 3, 4, 5, 6] >>> ['Ola!'*4] ['Ola!Ola!Ola!Ola!'] >>> ['Ola!']*4 ['Ola!', 'Ola!', 'Ola!', 'Ola!'] >>> 3 in [1,2,3] True >>> for x in [1,2,3]: print x,

21 21 Concatenação de lista e string Você não pode concatenar uma lista e uma string, a não ser que primeiro converta a lista em uma string, usando as aspas simples, str() ou formatação com %. Você também pode converter a string em uma lista; a função interna list() faz esta tarefa. >>> [1,2] + "34" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate list (not "str") to list >>> '[1,2]' + "34" '[1,2]34' >>> [1,2] + list("34") [1, 2, '3', '4']

22 >>> L[1] 'dois' >>> L[1:] ['dois', 'tres', 'quatro'] >>> L[ 1] 'quatro' Fundamentos de Programação I 22 Indexação e fracionamento Como as listas são sequências a indexação e o fracionamento funcionam da mesma maneira, mas o resultado da indexação de uma lista depende do tipo de objeto que está no deslocamento especificado, e o fracionamento de uma lista sempre retorna uma nova lista: >>> L = ['um', 'dois', 'tres', 'quatro'] >>> L[0] 'um' >>> L[2] 'tres' >>> L[3] 'quatro' >>> L[4] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range

23 23 Alterando listas Como as listas são mutáveis, elas suportam operações que alteram um objeto lista no local; ou seja, todas as operações desta seção modificam o objeto lista diretamente, sem obrigar o usuário a fazer uma nova cópia, como acontece com as strings. A diferença entre alterar objetos no local e copias é importante, se você alterar um objeto no local, poderá, ao mesmo tempo afetar mais do que uma referência para ele. Atribuição de índice e fracionamento Ao usar uma lista, você pode alterar seu conteúdo atribuindo a uma item (deslocamento) em particular ou a uma seção inteira (fracionamento): >>> L = ['um', 'dois', 'tres'] >>> L[1] = 'quatro' >>> L ['um', 'quatro', 'tres'] >>> L[0:2] = ['cinco', 'seis'] >>> L ['cinco', 'seis', 'tres']

24 24 Tanto a atribuição de índice quanto a de fracionamento são alterações no local, elas modificam a lista de itens diretamente, em vez de gerarem um novo objeto lista como resultado. A atribuição de fracionamento na última operação anterior, substitui uma seção inteira de uma lista em um único passo. Chamadas de método de lista Assim como as strings, os objetos list também suportam chamadas de método específicos, do tipo: >>> L ['cinco', 'seis', 'tres'] >>> L.append('sete') >>> L ['cinco', 'seis', 'tres', 'sete'] >>> L.sort() >>> L ['cinco', 'seis', 'sete', 'tres'] >>> X = ['7', '3', '1', '5'] >>> L.sort() >>> X ['1', '3', '5', '7']

25 25 O método append em lista anexa um item no final da lista, ele espera que se passe apenas um único objeto e não uma lista. O método sort ordena uma lista no local. Mas cuidado pois, tanto append quando o sort alteram definitivamente a lista. O método reverse inverte a lista no local e os métodos extend e pop inserem vários itens no final e excluem um item do final, respectivamente: >>> L = [1,2] >>> L.extend([3,4,5]) >>> L [1, 2, 3, 4, 5] >>> L.pop() 5 >>> L [1, 2, 3, 4] >>> L.reverse() >>> L [4, 3, 2, 1]

26 26 Você pode usar a instrução del para excluir um item ou uma seção: >>> L = ['presunto', 'coma', 'mais', 'por favor'] >>> del L[0] >>> L ['coma', 'mais', 'por favor'] >>> del L[1:] >>> L ['coma'] Como a atribuição de fracionamento é uma exclusão mais uma inserção, você pode também excluir seções de listas, atribuindo uma lista vazia a um fracionamento (L[i:j] = []). Existem mais métodos do que os vistos aqui, então é uma boa ideia pesquisar este métodos em outras literaturas.

27 27 Dicionários Além das listas os dicionários talvez sejam o tipo de dados mais flexíveis no Python. Listas são coleções ordenadas de objetos, e os dicionários são coleções desordenadas. A principal diferença entre listas e dicionários é que nos dicionários os itens são armazenados e buscados pela chave, em vez do deslocamento posicional. As principais propriedades dos dicionários, são: Acessados pela chave Às vezes, os dicionários são chamados de arrays associativos ou tabelas de hashing. Eles associam um conjunto de valores a chaves, para que você possa buscar um item de um dicionário usando a chave que o armazena. Em um dicionário, você usa a mesma operação de indexação para obter componentes, mas o índice assume a forma de chave e não de um deslocamento relativo.

28 28 Coleção desordenadas de objetos arbitrários Ao contrário das listas, os itens armazenados em um dicionário não são mantidos em uma ordem em particular; na verdade, o Python torna sua ordem aleatória para proporcionar uma pesquisa mais rápida. As chaves fornecem a localização simbólica (e não física) dos itens em um dicionário. Têm comprimento variável, são heterogêneas e podem ser aninhadas arbitrariamente Assim como as listas, os dicionários podem aumentar e diminuir no local, podem conter objetos de qualquer tipo e suportam aninhamento em qualquer profundidade (podem conter listas e outros dicionários). Categoria mutável mapeamento Os dicionários podem ser alterados no local por meio da atribuição de índices, mas não suportam as operações de sequência que funcionam em strings e listas. Como os dicionários são coleções desordenadas, operações que dependem de uma ordem fixa não têm sentido (por exemplo, concatenação, fracionamento). Em vez disso, os dicionários são os únicos representantes incorporados na categoria do tipo mapeamento objetos que fazem o mapeamento de chaves em valores.

29 29 Tabelas de referências de objetos (tabelas hashing) Se as listas são arrays de referência de objeto, os dicionários são tabelas desordenadas de referências de objetos. Internamente, os dicionários são implementados como tabelas hashing (estruturas de dados que suportam recuperação muito rápida), as quais começam pequenas e crescem segundo a demanda. Além disso, o Python emprega algoritmos de hashing otimizados para localizar chaves, de modo que a recuperação é muito rápida. Os dicionários armazenam referências de objetos (não cópias), exatamente como as listas. Operação D1 = {} D2 = {'spam':2, 'eggs':3} D3 = {'food': {'ham':1, 'egg':2}} D2['eggs'] Interpretação Dicionário vazio Dicionário de dois itens Aninhamento Indexação pela chave D3['food']['ham'] D2.has_key Métodos

30 30 Operação D2.values{} D2.copy{} D2.get(key, default) D2.update(D1) len(d1) D2[key] = 42 del D2[key] D4 = dict(zip(keyslist, valslist)) Interpretação Métodos Comprimento (número de entradas armazenadas) Adição/alteração Exclusão Construção Operações básicas de dicionário Na operação normal, é possível criar dicionários, armazena e acessa itens pela chave: >>> d2 = {'spam':2, 'ham':1, 'eggs':3} >>> d2['spam'] 2 >>> d2 {'eggs': 3, 'ham': 1, 'spam': 2}

31 31 Usamos em dicionário a mesma sintaxe dos colchetes para indexar dicionários pela chave, como fizemos para indexar listas pelos deslocamentos. Mas aqui, isso significa acesso pela chave e não posição. Observe que a ordem das chaves em um dicionário quase sempre será diferente daquela que você digitou. Isso é feito para manter uma busca rápida dos elementos na memória. A função interna len funciona retornando o número de itens armazenados no dicionário, ou o comprimento de sua lista de chaves. O método de dicionário has_key permite que se teste a existência de uma chave. E o método keys retorna todas as chaves presentes no dicionário, reunidas em uma lista.

32 32 O comando in é usado para verificar se uma chave está armazenada no dicionário, tal como a chamada has_key. >>> d2 = {'spam':2, 'ham':1, 'eggs':3} >>> d2.keys() ['eggs', 'ham', 'spam'] >>> len(d2) 3 >>> d2.has_key('ham') True >>> 'ham'in d2 True Alterando dicionários no local Os dicionários são mutáveis, para alterá-los basta atribuir um valor a uma chave para alterar ou criar a entrada.

33 33 A instrução del exclui a entrada associada à chave especificada como índice. >>> d2 {'eggs': 3, 'ham': 1, 'spam': 2} >>> d2['ham'] = ['grill', 'bake', 'fry'] >>> d2 {'eggs': 3, 'ham': ['grill', 'bake', 'fry'], 'spam': 2} >>> del d2['eggs'] >>> d2 {'ham': ['grill', 'bake', 'fry'], 'spam': 2} >>> d2['brunch'] = 'Bacon' >>> d2 {'brunch': 'Bacon', 'ham': ['grill', 'bake', 'fry'], 'spam': 2} Assim como nas listas a atribuição a um índice altera o valor associado. Ao contrário das listas, entretanto, ao atribuir uma nova chave de dicionário (que não foi atribuída antes), você cria uma nova entrada no dicionário, como foi feito no exemplo anterior para a chave 'brunch'. Isso não funciona para listas, pois o Python considera um deslocamento fora dos limites, caso esteja além do fim de uma lista, e lança um erro. Para expandir uma lista, você precisa usar ferramentas como o método append ou a atribuição de fracionamento.

34 34 Mais métodos de dicionário Os métodos de dicionário values e items retornam listas dos valores e tuplas de pares (chave, valor), respectivamente. >>> d2 = {'spam':2, 'ham':1, 'eggs':3} >>> d2 {'eggs': 3, 'ham': 1, 'spam': 2} >>> d2.values() [3, 1, 2] >>> d2.items() [('eggs', 3), ('ham', 1), ('spam', 2)]

35 35 Normalmente, buscar uma chave inexistente é um erro, mas o método get retorna um valor padrão (nome, ou um padrão passado), caso a chave não exista. [('eggs', 3), ('ham', 1), ('spam', 2)] >>> d2.get('spam') 2 >>> d2.get('toast') >>> d2.get('spam'), d2.get('toast') (2, None) O método update fornece aos dicionários algo semelhante à concatenação; ele intercala as chaves e os valores de um dicionário em outro, sobrescrevendo cegamente os valores da mesma chave: >>> d2 {'eggs': 3, 'ham': 1, 'spam': 2} >>> d3 = {'toast':4, 'muffin':5} >>> d2.update(d3) >>> d2 {'toast': 4, 'muffin': 5, 'eggs': 3, 'ham': 1, 'spam': 2}

36 36 Uma tabela de linguagens Aqui está um exemplo de dicionário mais realista. O exemplo a seguir cria uma tabela que faz o mapeamento de nomes de linguagem de programação (as chaves) para seus criadores (os valores). Você busca o nome de um criador indexando no nome da linguagem: >>> table = {'Python': 'Guido van Rossum',... 'perl': 'Larry Wall',... 'tcl': 'John Ousterhout'} >>> language = 'Python' >>> creator = table[language] >>> creator 'Guido van Rossum' >>> table['tcl'] 'John Ousterhout' >>>

37 37 Percorrendo um dicionário >>> for lang in table.keys():... print lang, '\t', table[lang]... Python Guido van Rossum tcl John Ousterhout perl Larry Wall Como os dicionários não são sequências, você não pode fazer iteração por eles diretamente com uma instrução for, como acontece com as strings e listas. Mas se você precisar precorrer os itens de um dicionário, é fácil: a chamada do método de dicionário keys retorna uma lista de todas as chaves armazenadas pelas quais você faz uma interação com um loop for.

38 38 O Python também nos permite percorrer a lista de chaves de um dicionário sem realmente chamar o método keys na maioria dos loops for. Para qualquer dicionário D, escrever for key in D: funciona da mesma forma que escrever for key in D.keys():. >>> for key in table:... print table[key]... Guido van Rossum John Ousterhout Larry Wall

39 39 Usando dicionários como registros Dicionários podem substituir estruturas de dados de pesquisa (pois indexar pela chave é uma operação de pesquisa) e representar muitos tipos de informações estruturadas. Por exemplo, os dicionários são uma das muitas maneiras de descrever as propriedades de um item no domínio de seu programa; eles podem ter a mesma função de registros ou estruturas de outras linguagens: >>> cadastro = {} >>> cadastro['nome'] = 'pedro' >>> cadastro['idade'] = 20 >>> cadastro['profissao'] = 'programador' >>> print cadastro['nome'] pedro >>>

40 40 Os dicionários permitem representar informações estruturadas facilmente: >>> pedro = {'nome': 'Marco',... 'profissao': ['professor'],... 'web': ' 'endereco': {'rua': 'das flores', 'estado': 'PR'}} >>> pedro {'web': ' 'endereco': {'rua': 'das flores', 'estado': 'PR'}, 'profissao': ['professor'], 'nome': 'Marco'} >>> pedro['endereco'] {'rua': 'das flores', 'estado': 'PR'} >>> pedro['endereco']['rua'] 'das flores'

41 41 Referência: ASCENCIO, Ana F.G; CAMPOS, Edilene A.V. Fundamentos da programação de computadores Algoritmos, Pascal, C/C++ e Java. 2ed. Editora Pearson SALVETTI, Dirceu D; BARBOSA, Lisbete M. Algoritmos. Editora Makron Books LUTZ, Mark; ASCHER, David. Aprendendo Python. 2º edição. Editora Bookman BORGES, Luiz Eduardo. Python para desenvolvedores. 1º edição. Edição do autor. Rio de janeiro BRUECK, Dave; TANNER, Stephen. Python 2.1 Bible. Editora Hungry Minds MARTELLI, Alex. Python in a Nutshell. Editora O'Reilly

42 42 Fim!

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Algoritmos e Estrutura de Dados Aula 02 Listas em Python Algoritmos e Estrutura de Dados Aula 02 Listas em Python Profa. Alana Oliveira e Prof. Davi Viana alanaslz@gmail.com e davi.viana@lsdi.ufma.br Se não entender, pergunte! 2 1 Dados e Tipos de Dados Um dado

Leia mais

24/09/2014. Prof. André Backes

24/09/2014. Prof. André Backes Prof. André Backes 1 Por que usar listas? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor dentro de uma variável, o valor

Leia mais

Listas, conjuntos e dicionários

Listas, conjuntos e dicionários Listas, conjuntos e dicionários Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

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

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema Python Listas e Strings Prof. Paulo Henrique Ribeiro Gabriel (Com base no material do Prof. André Backes) Listas Por que usar listas? Listas As variáveis declaradas até agora são capazes de armazenar um

Leia mais

Listas e Tuplas. Vanessa Braganholo

Listas e Tuplas. Vanessa Braganholo Listas e Tuplas Vanessa Braganholo vanessa@ic.uff.br Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3

Leia mais

Python: Listas. Claudio Esperança

Python: Listas. Claudio Esperança Python: Listas Claudio Esperança Estruturas de dados Maneira de organizar dados de maneira a facilitar seu acesso Algumas formas são clássicas: Listas Arrays (vetores e matrizes) Tuplas (registros) Árvores

Leia mais

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015 TIPOS ESTRUTURADOS Prof. Msc. Luis Filipe Alves Pereira 2015 TIPOS ESTRUTURADOS 02/34 TPOS DE OBJETOS Usamos até agora objetos dos seguintes tipos int bool float str tipos escalares contém estrutura interna

Leia mais

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings Processamento Estatístico da Linguagem Natural Aula 7 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Linguagem Python Introdução Características de Python Rodando

Leia mais

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Matrizes. Prof. Alex Camargo

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Matrizes. Prof. Alex Camargo UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO Matrizes Prof. Alex Camargo alexcamargoweb@gmail.com Definição Matriz é uma variável composta homogênea multidimensional. Conjunto de

Leia mais

Estruturas de Dados em Python

Estruturas de Dados em Python Estruturas de Dados em Python Carlos Camarão de Março de 7 Introdução Na segunda parte do curso vamos aprender a programar com estruturas (ou coleções) de dados, em Python. Python é uma linguagem orientada

Leia mais

Disciplina de Algoritmos e Programação. Vetor e Matriz

Disciplina de Algoritmos e Programação. Vetor e Matriz Disciplina de Algoritmos e Programação Vetor e Matriz Definição de Vetor Vetor é uma variável composta homogênea unidimensional Conjunto de variáveis de mesmo tipo que possuem mesmo identificador (nome)

Leia mais

PROGRAMAÇÃO A. Vetores

PROGRAMAÇÃO A. Vetores PROGRAMAÇÃO A Vetores DEFINIÇÃO Vetor também é conhecido como variável composta homogênea unidimensional. Isso quer dizer que se trata de um conjunto de variáveis de mesmo tipo, que possuem o mesmo identificador

Leia mais

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

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings

Leia mais

PYTHON LISTAS. Introdução à Programação SI1

PYTHON LISTAS. Introdução à Programação SI1 PYTHON LISTAS Introdução à Programação SI1 2 Conteúdo Listas Conceitos Operações Métodos Exercícios 3 Sequências Sequências! Podem ser indexados por algum valor ordinal posicional Algumas operações são

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias SCC 12 - Introdução à Programação para Engenharias Aula de hoje Introdução Sequências Classes e objetos Listas Listas Operações em listas Pilhas e filas Professor: André C. P. L. F. de Carvalho, ICMC-USP

Leia mais

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo

Leia mais

Vetores. Vanessa Braganholo

Vetores. Vanessa Braganholo Vetores Vanessa Braganholo vanessa@ic.uff.br Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3 alunos

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

Capítulo 7 Matriz. Roteiro

Capítulo 7 Matriz. Roteiro Capítulo 7 Matriz Licenciatura em Computação Fundamentos de Lógica para Programação Prof. Nícolas Trigo nicolas.trigo@ifsertao-pe.edu.br http://professor.ifsertao-pe.edu.br/nicolas.trigo Roteiro Definição

Leia mais

MCG126 Programação de Computadores II

MCG126 Programação de Computadores II MCG126 Programação de Computadores II Turmas: A e B Professor: Isac Mendes Lacerda (Material original cedido gentilmente pela professora Janaína Gomide) 1 Bibliografia 2 Bibliografia Introdução à Programação

Leia mais

Estruturas de Dados Estáticas Cont.

Estruturas de Dados Estáticas Cont. Estruturas de Dados Estáticas 1 Estruturas de Dados Estáticas Cont. Matriz (arrays multidimensionais) Uma matriz é uma variável composta homogênea bidimensional formada por uma sequência de variáveis,

Leia mais

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

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/

Leia mais

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #LISTAS E L I EZ I O S O A R ES E L I EZ I O S OA R ES @ D

Leia mais

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18 Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - 1/ 18 Considere que você precisa fazer uma função que guarde o nome e o telefone de seus amigos. Sua função também deve permitir a consulta

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 10: Listas e tuplos Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Listas 2. Tuplos INTRODUÇÃO À PROGRAMAÇÃO / PROGRAMAÇÃO

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 10: Listas e tuplos Rita P. Ribeiro 2016/2017 Departamento de Ciência de Computadores Nesta aula 1. Listas 2. Tuplos INTRODUÇÃO À PROGRAMAÇÃO - 2016/2017: AULA 10 1 Listas

Leia mais

Aula passada. Aula passada... Sequências Funções puras e modificadores. Listas Tuplos

Aula passada. Aula passada... Sequências Funções puras e modificadores. Listas Tuplos Aula passada Listas Listas 1 Listas em compreensão Alguns idiomas úteis conjuntos ordenado de valores, cada um dos quais identificado por um índice; Operações com listas: semelhantes a operações com strings;

Leia mais

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

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide MCG114 Programação de Computadores I Profa. 1 2 armazenam cadeias de caracteres como nomes e textos Conjunto de caracteres delimitados por aspas simples ou duplas. >>> S1 = exemplo de String >>> S2 = exemplo

Leia mais

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #VARIÁVEIS #TIPOS DE DADOS E L I EZ I O S O A R ES E L I EZ

Leia mais

Introdução à Ciência da Computação Disciplina:

Introdução à Ciência da Computação Disciplina: Introdução à Ciência da Computação Disciplina: 113913 Prof. Edison Ishikawa Python 3.0 Aula 5 O Caminho do Programa l l l l l l l l l Sumário Dicionários Operações dos Dicionários Métodos dos Dicionários

Leia mais

Algoritmos e Programação

Algoritmos e Programação 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 Algoritmos e Programação

Leia mais

Processamento da Informação Teoria. Coleções: Listas

Processamento da Informação Teoria. Coleções: Listas Processamento da Informação Teoria Coleções: Listas Semana 06 Prof. Jesús P. Mena-Chalco 29/05/2013 Sobre strings... Podemos acessar (obter a informação) um caractere usando um índice (número inteiro).

Leia mais

Algoritmos - 6. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos - 6. Alexandre Diehl. Departamento de Física - UFPel Algoritmos - 6 Alexandre Diehl Departamento de Física - UFPel Variáveis compostas homogêneas Definição Conjunto de variáveis do mesmo tipo (numérico, literal ou lógico), referenciáveis pelo mesmo identificador

Leia mais

Python: Dicionários. Claudio Esperança

Python: Dicionários. Claudio Esperança Python: Dicionários Claudio Esperança Dicionários São estruturas de dados que implementam mapeamentos Um mapeamento é uma coleção de associações entre pares de valores O primeiro elemento do par é chamado

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Strings. Para começar... Strings. Exemplo...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Strings. Para começar... Strings. Exemplo... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Strings ou cadeias de Caracteres Aula 14 Prof. Piva Para começar... Strings são cadeias de caracteres que armazenam dados textuais e, portanto,

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 9: Cadeias de caracteres Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Cadeias de caracteres 2. Exemplo: a cifra de César

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Programação de Computadores I Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados na programação

Leia mais

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

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2 INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2 *Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.com. Listas(= tipo

Leia mais

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples Instituto de Computação Unicamp 2016 Roteiro 1 Shell Interativa 2 Estrutura de um Programa em Python 3 Variáveis

Leia mais

Organização de programas em Python. Vanessa Braganholo

Organização de programas em Python. Vanessa Braganholo Organização de programas em Python Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Python! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

Leia mais

Algoritmos e Programação

Algoritmos e Programação 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

Leia mais

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

Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26 Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26 Variáveis e Atribuição Variáveis são usadas para guardar dados intermedidários nas funções. 2/ 26 Variáveis e Atribuição Variável:

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para

Leia mais

LINGUAGEM C: ARRAY: VETORES E MATRIZES

LINGUAGEM C: ARRAY: VETORES E MATRIZES LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor

Leia mais

Algoritmos e Programação

Algoritmos e Programação 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 profericomartins@unemat.br

Leia mais

AMBIENTE DE PROGRAMAÇÃO PYTHON II

AMBIENTE DE PROGRAMAÇÃO PYTHON II Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 2 AMBIENTE DE PROGRAMAÇÃO PYTHON II 2.1. Objectivos

Leia mais

Dicionários. Operações Aliases, cópias. Os tipos de dados compostos que estudamos até ao momento (strings, listas, tuplos) são sequenciais:

Dicionários. Operações Aliases, cópias. Os tipos de dados compostos que estudamos até ao momento (strings, listas, tuplos) são sequenciais: Dicionários Os tipos de dados compostos que estudamos até ao momento (strings, listas, tuplos) são sequenciais: coleções de dados ordenadas da esquerda para a direita; índice 0 para o primeiro elemento,

Leia mais

Sequências - Tuplas. Sequências - Tuplas

Sequências - Tuplas. Sequências - Tuplas Sequências - Tuplas Sequência de valores separados por vírgulas. Elementos podem ser de tipos distintos. Endereçáveis, com índice 0 para o primeiro elemento Exemplos : >>> tupla="computadores e Programacao",

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS PROFESSOR : Romilson Lopes Sampaio Introdução a Lógica de Programação

Leia mais

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 24: Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA PSEUDO-CÓDIGO Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Um algoritmo pode ser

Leia mais

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

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá Entrada e saída Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

Estrutura de Dados. Diego Silveira Costa Nascimento

Estrutura de Dados. Diego Silveira Costa Nascimento Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 31 de agosto de 2017 Ementa do Curso 1 Introdução

Leia mais

Algoritmos e Programação

Algoritmos e Programação 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 Algoritmos e Programação

Leia mais

PROGRAMAÇÃO A. Matrizes

PROGRAMAÇÃO A. Matrizes PROGRAMAÇÃO A Matrizes DEFINIÇÃO Em linguagem C, uma matriz é um vetor cujos itens são também vetores. Uma matriz pode ter qualquer número de dimensões, mas as matrizes bidimensionais são as mais usadas.

Leia mais

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

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes

Leia mais

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de

Leia mais

Introdução à linguagem Perl

Introdução à linguagem Perl Introdução à linguagem Perl Assistente de ensino: Marcelo da Silva Reis 1 Professor: Fabio Kon 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo MAC0211 - Laboratório de Programação

Leia mais

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

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Expressões Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes Aula de

Leia mais

Manipulação de Strings. Vanessa Braganholo

Manipulação de Strings. Vanessa Braganholo Manipulação de Strings Vanessa Braganholo vanessa@ic.uff.br Strings } Representam informação textual nome = Maria Silva nacionalidade = brasileira nome_mae = Ana Santos Silva nome_pai = Jonas Nunes Silva

Leia mais

Linguagem Computacional

Linguagem Computacional Informática II Linguagem Computacional Algoritmos e Programação Parte 2 Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras

Leia mais

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

TCC 00308: Programação de Computadores I Organização de programas em Python TCC 00308: Programação de Computadores I 2017.1 Organização de programas em Python Vamos programar em Python! Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis podem

Leia mais

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Informática para Engenharia 1 Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem Python. Bibliografia:

Leia mais

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. 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/ 30 Variáveis e Atribuição Dados a hora, minuto e segundo em que um corredor de uma maratona partiu, e dados a hora, minuto e segundos

Leia mais

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21 AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por

Leia mais

Linguagem de programação Estruturas de armazenamento

Linguagem de programação Estruturas de armazenamento Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Estruturas de armazenamento Professor: Saulo Henrique Cabral Silva ESTRUTURAS DE ARMAZENAMENTO 2 Estruturas de armazenamento

Leia mais

Estruturas de Dados Pilhas, Filas, Listas

Estruturas de Dados Pilhas, Filas, Listas Estruturas de Dados Pilhas, Filas, Listas Fabio Gagliardi Cozman Thiago Martins PMR3201 Escola Politécnica da Universidade de São Paulo Estruturas de Dados Pilhas, Filas, Listas Introdução Estruturas de

Leia mais

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

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python Comandos de Entrada e Saída Prof. Alberto Costa Neto Programação em Python Entrada de Dados Sugerimos o uso da função input Ela recebe uma String como parâmetro. Este parâmetro será impresso na tela e

Leia mais

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

Variáveis e Entrada de Dados Marco André Lopes Mendes  marcoandre.googlepages. Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma

Leia mais

Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28

Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28 Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28 Listas - Fatias Podemos usar a notação de fatias (slices) em listas: [start : end] : vai do índice start até o índice end-1 [start : ] : vai de start

Leia mais

Python 3.x Estrutura de Repetição while

Python 3.x Estrutura de Repetição while Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa

Leia mais

Os elementos da programação

Os elementos da programação Os elementos da programação Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

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

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 Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de

Leia mais

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas Os arrays também são conhecidos como variáveis compostas. Variáveis compostas Correspondem a um certo número

Leia mais

Aula 10: Introdução a Vetores e Matrizes

Aula 10: Introdução a Vetores e Matrizes Aula 10: Introdução a Vetores e Matrizes Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Vetores e Matrizes Programação de Computadores IV 1 / 50 Agenda

Leia mais

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Comandos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes 1 Aula de

Leia mais

Vetores. e o programa deverá ler os valores separadamente:

Vetores. e o programa deverá ler os valores separadamente: Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.

Leia mais

Algoritmos e estrutura de dados

Algoritmos e estrutura de dados Algoritmos e estrutura de dados Introdução Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo A linguagem Python

Leia mais

Estruturas de Dados Estruturas de Dados Fundamentais

Estruturas de Dados Estruturas de Dados Fundamentais Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando

Leia mais

O nome da variável é utilizado para identificação (para carga e posterior uso). Porém, são necessárias algumas regras para nomear essa variável:

O nome da variável é utilizado para identificação (para carga e posterior uso). Porém, são necessárias algumas regras para nomear essa variável: Variáveis e Constantes Variáveis Os computadores processam dados que ficam em sua memória. Assim, o programa precisa de uma forma para acessar esta memória e, consequentemente, os dados. Para um programa

Leia mais

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário

Leia mais

Lógica de Programação e Algoritmos

Lógica de Programação e Algoritmos Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 4 Estruturas de Dados Homogêneas Vetores e Matrizes Conteúdo: 4.1 Variáveis compostas homogêneas... 55 4.2 Vetores... 56 Exercícios

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo

Leia mais

VARIÁVEIS, OPERADORES ARITMÉTICOS E LISTAS

VARIÁVEIS, OPERADORES ARITMÉTICOS E LISTAS Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 3 VARIÁVEIS, OPERADORES ARITMÉTICOS E LISTAS 3.1.

Leia mais

A Linguagem Lua Lua Puc-Rio

A Linguagem Lua Lua Puc-Rio A Linguagem Lua Lua foi projetada e implementada por uma equipe no Tecgraf, o Grupo de Computação Gráfica da Puc-Rio (Pontifícia Universidade Católica do Rio de Janeiro). 1 Exemplos de linguagens de scripts

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: variáveis compostas homogêneas: Arrays Strings Prof. Renato Pimentel 1 Relembrando: Comando while em C Exemplo: criar um programa

Leia mais

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON 2.1.

Leia mais

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P SINTAXE BÁSICA Neste capítulo vamos apresentar a estrutura básica do PHP. Para iniciar a construção de um

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Prof. Renato Pimentel 1 Introdução Tipos de variáveis vistos

Leia mais