Programação I Aula 10 Processamento de listas
|
|
- Maria do Pilar Gomes Lombardi
- 5 Há anos
- Visualizações:
Transcrição
1 Programação I Aula 10 Processamento de listas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
2 Nesta aula Vamos ver alguns exemplos de processamento de listas: 1 Agregações 2 Eliminar repetidos 3 Crivo de Eratóstenes Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
3 Somar valores duma sequência A função pré-definida sum soma os valores duma sequência. Exemplo: >>> sum([0.5, 1, 0.5]) 2.0 Vamos definir a nossa própria implementação desta função. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
4 Somar valores duma sequência def soma(xs): "Somar valores duma lista xs." # variável total vai acumular a soma total = 0 # percorre todos os valores for x in xs: # acrescenta ao total total = total + x # o resultado da função é total return total Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
5 Exemplos >>> soma([1, 2, 3]) 6 >>> soma([1.0, 0.5, 2.0]) 3.5 >>> soma([1.0]) 1.0 >>> soma([]) 0 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
6 Alternativa def soma(xs): "Somar valores duma lista xs." # variável total vai acumular a soma total = 0 # percorre todos os índices for i in range(len(xs)): # acrescenta ao total total = total + xs[i] # fim do ciclo; retorna o resultado return total Um ciclo sobre os índices em vez dos valores A primeira solução é mais direta Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
7 Outras agregações A média aritmética O produto O máximo ou mínimo Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
8 Média aritmética duma sequência def media(xs): "Calcula a média aritmética duma lista." # média é a soma / número de elementos return soma(xs)/len(xs) Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
9 Exemplos >>> media([2.0, 1.0, 1.0]) >>> media([2.0]) 2.0 A média não está definida para a lista vazia: >>> media([]) ZeroDivisionError: integer division or modulo by zero Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
10 Produto duma lista Análogo à soma, substituindo: o operador + por *; o valor inicial 0 por 1 (elemento neutro de *). Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
11 Produto duma lista def produto(xs): "Produto duma lista xs." # variável total vai acumular o producto total = 1 # percorrer todos os valores for x in xs: # acrescenta ao total total = total * x # fim do ciclo; retorna o resultado return total Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
12 Exemplos >>> produto([2, 3, 4]) 24 >>> produto(range(1,5)) 24 >>> produto([]) 1 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
13 Máximo / mínimo duma lista Podemo usar as funções pré-definidas max e min para determinar o valor máximo/mínimo de uma lista. >>> max([5, 1, 3]) 5 >>> min([5, 1, 3]) 1 >>> max([2, 3, 1, 0]) 3 >>> min([2, 3, 1, 0]) 0 Vamos ver como implementar a nossa própria versão destas funções. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
14 Algoritmo para o máximo Usamos uma variável para guarda o maior valor já encontrado Inicialmente é o maior valor é o primeiro valor na sequência Para cada um dos restantes valores: for superior ao maior valor já encontrado atualizamos este último Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
15 Valor máximo duma lista def maximo(xs): "Maior valor duma sequência xs." # inicialmente: maior é o primeiro valor maior = xs[0] # ciclo sobre os restantes índices for i in range(1,len(xs)): if xs[i] > maior: # será maior? maior = xs[i] # se sim, atualizar # fim do ciclo; retornar o maior valor encontrado return maior Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
16 Exemplos >>> maximo([1, 3, 2, -1] 3 >>> maximo([2, 1]) 2 Nota que calcular o máximo de uma lista vazia é um erro: >>> max([]) ValueError: max() arg is an empty sequence >>> maximo([]) IndexError: list index out of range Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
17 Valor mínimo Análogo ao anterior, trocando apenas a comparação. def minimo(xs): "Menor valor duma sequência xs." # inicialmente: menor é o primeiro valor menor = xs[0] # percorrer os restantes índices for i in range(1,len(xs)): # atualizar o menor if xs[i] < menor: # será menor? menor = xs[i] # se sim, atualizar # fim do ciclo; retornar o resultado return menor Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
18 Eliminar elementos repetidos Vamos definir um procedimento para eliminar elementos repetidos duma lista. Exemplo: se a lista original for [2, 1, 3, 4, 1, 4, 1] então o resultado deve ser [2, 1, 3, 4] Cada valor ocorre apenas uma vez e pela mesma ordem da lista original. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
19 Eliminar elementos repetidos Duas soluções: 1 construir uma lista nova sem repetidos; 2 modificar a lista original apagando elementos repetidos. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
20 Eliminar repetidos: algoritmo 1 Construir uma nova lista ys Inicialmente ys = [ ] Para cada elemento x na lista dada: se x / ys, então acrescentamos x à lista ys Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
21 Eliminar repetidos: implementação 1 def elimrep(xs): "Constroi uma nova lista sem repetidos." # ys é a lista sem repetidos # inicialmente vazia ys = [] for x in xs: # se x não é repetido if not (x in ys): # acrescenta à nova lista ys.append(x) # retorna a lista nova return ys Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
22 Exemplos >>> elimrep([2,1,3,3,1,4,1]) [2, 1, 3, 4] >>> elimrep([2,2,2]) [2] >>> elimrep([1,2,3]) [1, 2, 3] Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
23 Eliminar repetidos: algoritmo 2 Uma lista xs com n elementos Um ciclo sobre os índices 0 i n 1 Invariante: não há repetidos nos índices inferiores a i sem repetidos {}}{ xs[0],..., xs[i 1], pode haver repetidos {}}{ xs[i],..., xs[n 1] Actualização: se xs[i] {xs[0], xs[1],..., xs[i 1]} então apagamos xs[i]; caso contrário, avançamos i uma posição Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
24 Eliminar repetidos: implementação 2 def elimrep(xs): "Eliminar repetidos em xs." i = 0 while i<len(xs): if xs[i] in xs[0:i]: # xs[i] é repetido; apagamos del xs[i] else: # xs[i] não é repetido; avançamos i = i+1 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
25 Exemplos >>> lista = [2,1,3,3,1,4,1] >>> elimrep(lista) >>> lista [2, 1, 3, 4] >>> lista = [2,2,2] >>> elimrep(lista) >>> lista [2] >>> lista = [1,2,3] >>> elimrep(lista) >>> lista [1, 2, 3] Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
26 Sumário Ambas as soluções são válidas A primeira solução: constroi uma nova lista; é mais simples de compreender. A segunda solução: modifica a lista original; poderá ser mais eficiente (necessita de menos memória). Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
27 Crivo de Eratóstenes Construir a tabela dos números primos até n: 1 escrevemos todos os inteiros de 2 até n 2 o primeiro número (2) é primo e riscamos todos os seus múltiplos 3 o segundo número (3) é primo e riscamos todos os seus múltiplos 4 repetimos o processo: o próximo número não riscado é primo e riscamos todos os seus múltiplos 5 no fim: a tabela contém todos os números primos menores do que n Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
28 Crivo de Eratóstenes Começamos com todos os inteiros de 2 até Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
29 Crivo de Eratóstenes O número 2 é primo e riscamos os seus múltiplos 2 3 //4 5 //6 7 // /// /// /// /// /// /// /// /// /// /// /// Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
30 Crivo de Eratóstenes O número 3 é primo e riscamos os seus múltiplos 2 3 //4 5 //6 7 //8 //9 10 /// /// /// 15 /// 16 /// /// /// 21 /// 22 /// /// /// 27 /// 28 /// /// Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
31 Crivo de Eratóstenes O número 4 não é primo (já foi riscado) 2 3 //4 5 //6 7 //8 //9 10 /// /// /// 15 /// 16 /// /// /// 21 /// 22 /// /// /// 27 /// 28 /// /// Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
32 Crivo de Eratóstenes O número 5 é primo e riscamos os seus múltiplos 2 3 //4 5 //6 7 //8 //9 10 /// /// /// 15 /// 16 /// /// /// 21 /// 22 /// /// 25 /// 26 /// 27 /// 28 /// /// Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
33 Crivo de Eratóstenes Repetimos o processo até esgotar a tabela; restam apenas os primos inferiores a //4 5 //6 7 //8 //9 10 /// /// /// 15 /// 16 /// /// /// 21 /// 22 /// /// 25 /// 26 /// 27 /// 28 /// /// Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
34 Implementação do crivo Representamos a tabela de números por uma lista Removemos da lista os números compostos No final restam apenas os primos Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
35 Implementação do crivo def crivo(xs): "Remove números compostos da lista xs." i = 0 while i<len(xs): p = xs[i] # p é primo j = i+1 # vamos remover múltiplos while j<len(xs): if xs[j]%p == 0: del xs[j] else: j = j+1 i = i+1 # próximo primo # fim do crivo Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
36 Construir uma lista de primos def primos(n): "Constroi a lista de primos menores que n." xs = list(range(2,n)) # inteiros entre 2 e n-1 crivo(xs) # remove os compostos return xs # lista de primos Note que o crivo modifica a lista dada em vez de criar uma nova. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
37 Exemplos Calcular todos os primos até 100: >>> primos(100) [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] Quantos primos inferiores a 1000? >>> len(primos(1000)) 168 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas / 32
Programação I Aula 10 Processamento de listas
Programação I Aula 10 Processamento de listas Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas 2017 1 / 30 Nesta aula Vamos ver alguns exemplos
Leia maisIntrodução à Programação Aula 10 Processamento de listas
Introdução à Programação Aula 10 Processamento de listas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 10 Processamento de listas 2015 1 / 28 Nesta aula Vamos
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 11: Processamento de Listas Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Agregações 2. Eliminar repetidos 3. Crivo de Eratóstenes
Leia maisIntrodução à Programação
Introdução à Programação Aula 11: Processamento de Listas Rita P. Ribeiro 2016/2017 Departamento de Ciência de Computadores Nesta aula 1. Agregações 2. Eliminar repetidos 3. Crivo de Eratóstenes INTRODUÇÃO
Leia maisIntrodução à Programação Aula 17 Deteção e correção de erros
Introdução à Programação Aula 17 Deteção e correção de erros Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 17 Deteção e correção de erros 2015 1 / 31 Nesta
Leia maisProgramação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP
Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais
Leia maisListas, 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 maisIntrodução à Programação Aula 18 Método de eliminação de Gauss
Introdução à Programação Aula 18 Método de eliminação de Gauss Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 18 Método de eliminação de Gauss 2015 1 / 23 Nesta
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 14: Deteção e correção de erros Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Erros sintáticos 2. Erros de execução 3. Erros
Leia maisProgramação I Aula 7 Resolução numérica de equações
Programação I Aula 7 Resolução numérica de equações Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 7 Resolução numérica de equações 2018 1 / 20 Nesta aula 1 Resolução numérica
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas
Programação Funcional 5 a Aula Definições recursivas Pedro Vasconcelos DCC/FCUP 2014 Definições usando outras funções Podemos definir funções usando outras previamente definidas (e.g. do prelúdio-padrão).
Leia maisIntrodução à Programação Aula 7 Resolução numérica de equações
Introdução à Programação Aula 7 Resolução numérica de equações Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 1 / 19 Nesta
Leia maisProgramação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP
Programação I Aula 17 Correção de programas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Classes de erros 2 Execução passo-a-passo 3 Testes na documentação 4 Asserções 5 Outros erros comuns DCC/FCUP 2019
Leia maisProgramação Funcional Aulas 5 & 6
Programação Funcional Aulas 5 & 6 Sandra Alves DCC/FCUP 2016/17 Definições usando outras funções Podemos definir funções usando outras previamente definidas (por exemplo: do prelúdio-padrão). Exemplo:
Leia maisProgramação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP
Programação I Aula 16 Mais exemplos de recursão DCC/FCUP DCC/FCUP 2019 1/ 28 Nesta aula 1 Desenhar árvores 2 Calcular potências 3 Ordenação Quicksort DCC/FCUP 2019 2/ 28 Desenhar árvores Vamos fazer uma
Leia maisIntrodução à Programação Aula 16 Mais exemplos de recursão
Introdução à Programação Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP 2014 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 16 Mais exemplos de recursão 2014 1 / 22 Nesta aula
Leia maisIntrodução à Programação Aula 3 Primeiros programas
Introdução à Programação Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 3 Primeiros programas 2015 1 / 23 Nesta aula... 1 Tipos básicos
Leia maisIntrodução à Programação Aula 9 Listas e tuplos
Introdução à Programação Aula 9 Listas e tuplos Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 9 Listas e tuplos 2015 1 / 29 Nesta aula 1 Listas 2 Tuplos Pedro
Leia maisProgramação I Aula 9 Listas e tuplos
Programação I Aula 9 Listas e tuplos Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 9 Listas e tuplos 2017 1 / 29 Nesta aula 1 Listas 2 Tuplos Pedro Vasconcelos (DCC/FCUP)
Leia maisProgramação I Aula 3 Primeiros programas
Programação I Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 1 / 23 Nesta aula... 1 Tipos básicos 2 Variáveis e atribuições
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 8 a Aula Listas infinitas
Programação Funcional 8 a Aula Listas infinitas Pedro Vasconcelos DCC/FCUP 2014 Listas infinitas Podemos usar listas para sequências finitas, por ex.: [1,2,3,4] = 1:2:3:4:[] Nesta aula vamos ver que podemos
Leia maisAula 3: Algoritmos: Formalização e Construção
Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 18: Definições recursivas Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Definições recursivas 2. Exemplos INTRODUÇÃO À PROGRAMAÇÃO
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 17 a Aula Tipos abstratos
Programação Funcional 17 a Aula Tipos abstratos Pedro Vasconcelos DCC/FCUP 2014 Tipos concretos Até agora definimos um novo tipo de dados começando por listar os seus construtores. data Bool = False True
Leia maisProgramação I Aula 11 Mais sobre ciclos e iteração
Programação I Aula 11 Mais sobre ciclos e iteração Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 11 Mais sobre ciclos e iteração 2017 1 / 26 Nesta aula Vamos ver a iteração
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 3: Primeiros Programas Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Tipos básicos 2. Variáveis e atribuições 3. Programas
Leia maisProgramação Funcional 13 a Aula Tipos abstratos
Programação Funcional 13 a Aula Tipos abstratos Sandra Alves DCC/FCUP 2018/19 Tipos concretos Até agora definimos um novo tipo de dados começando por listar os seus construtores. data Bool = False True
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 19: Mais exemplos de recursão Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Desenhar árvores 2. Torre de Hanoi 3. Ordenação
Leia maisProgramação I Aula 8 Cadeias de carateres
Programação I Aula 8 Cadeias de carateres Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 8 Cadeias de carateres 2018 1 / 23 Nesta aula 1 Cadeias de carateres 2 Exemplo:
Leia maisProcessamento 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 maisIntrodução à Programação Aula 5 Ciclos e condicionais
Introdução à Programação Aula 5 Ciclos e condicionais Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 5 Ciclos e condicionais 2017 1 / 28 Nesta aula Na aula passada:
Leia maisProgramação I Aula 12 Mais sobre cadeias e listas
Programação I Aula 12 Mais sobre cadeias e listas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 12 Mais sobre cadeias e listas 2018 1 / 28 Nesta aula 1 Listas em compreensão
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece
Leia maisProgramação Funcional 14 a Aula Classes de tipos revisitadas
Programação Funcional 14 a Aula Classes de tipos revisitadas Sandra Alves DCC/FCUP 2017/18 Classes de tipos As classes de tipos agrupam tipos de valores que suportam operações comuns. Eq igualdade (==,
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 16 a Aula Árvores equilibradas
Programação Funcional 16 a Aula Árvores equilibradas Pedro Vasconcelos DCC/FCUP 2014 Aula anterior Operações sobre árvores binárias ordenadas: 1 pesquisa; 2 inserção; 3 remoção. Estas operações são mais
Leia maisAULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
Leia maisProgramação I Aula 16 Mais exemplos de recursão
Programação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 16 Mais exemplos de recursão 2018 1 / 27 Nesta aula 1 Desenhar árvores 2
Leia maisAula 2: Algoritmos: Intuição
Aula 2: Algoritmos: Intuição Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 1 / 27 Agenda 1 Revisão
Leia maisProgramação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP
Programação I Aula 15 Definições recursivas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Definições recursivas 2 Exemplos Factorial Floco de neve de Koch Torre de Hanoi DCC/FCUP 2019 2/ 30 Recursividade Uma
Leia maisProgramação I Aula 15 Definições recursivas
Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 15 Definições recursivas 2018 1 / 30 Nesta aula 1 Definições recursivas 2 Exemplos
Leia mais1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas
Nesta aula... Conteúdo 1 Definição de funções 1 2 Valores boleanos e condicionais 5 1 Definição de funções Definição de novas funções Na aula passada: vimos como usar os operadores e funções pré-definidas
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes
Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2014 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:
Leia maisListas 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 maisMatrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista
Matrizes Esparsas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 7 a Aula Funções de ordem superior
Programação Funcional 7 a Aula Funções de ordem superior Pedro Vasconcelos DCC/FCUP 2013 Funções de ordem superior Uma função é de ordem superior se tem um argumento que é uma função ou um resultado que
Leia maisIntrodução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza
Introdução à Programação Estruturada Parte 2 Material da Prof. Ana Eliza programa Passo 1: Definir o problema O que fazer? Passo 2: Especificar a solução Como fazer? Passo 3: Codificar a solução Passo
Leia maisMatrizes Esparsas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas
Leia maisEstruturas 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 maisPedro Vasconcelos DCC/FCUP. Programação Funcional 4 a Aula Listas
Programação Funcional 4 a Aula Listas Pedro Vasconcelos DCC/FCUP 2014 Listas Listas são coleções de elementos: em que a ordem é significativa; possivelmente com elementos repetidos. Listas em Haskell Uma
Leia maisProcessamento da Informação Teoria. Listas e Matrizes
Processamento da Informação Teoria Listas e Matrizes Semana 07 Prof. Jesús P. Mena-Chalco 05/06/2013 Função range (cria uma lista) >>> range(1,5) [1, 2, 3, 4] >>> range(5,10) [5, 6, 7, 8, 9] Uma lista
Leia maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisTécnicas de Paralelização
Técnicas de Paralelização 3 Linha de Produção (Pipelining) 5.1 Computação em pipeline Divisão do problema num conjunto de tarefas que têm de ser concluídas uma após outra (base da programação sequencial).
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Expressões condicionais Scala tem uma expressão if-else para expressar escolha entre alternativas que se parece muito
Leia maisConceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação
Leia maisProgramação Funcional
Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 07: Funções de Ordem Superior 1 INTRODUÇÃO Uma função é chamada função de ordem superior
Leia maisIntroduçã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 maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 09 Consultas de Intervalo Consulta de Intervalo Neste capítulo, discutimos estruturas
Leia maisAula 13: Ordenação - Heapsort. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 13: Ordenação - Heapsort Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Filas de Prioridades É uma estrutura de dados onde a chave de cada item reflete sua habilidade relativa de abandonar
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 19 a Aula Raciocinar sobre programas
Programação Funcional 19 a Aula Raciocinar sobre programas Pedro Vasconcelos DCC/FCUP 2014 Raciocínio equacional Para simplificar expressões matemáticas podemos usar igualdades algébricas como regras de
Leia maisIntrodução à Programação Aula 11 Mais sobre ciclos e iteração
Introdução à Programação Aula 11 Mais sobre ciclos e iteração Pedro Vasconcelos DCC/FCUP 2014 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 11 Mais sobre ciclos e iteração 2014 1 / 26 Nesta
Leia maistipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;
Métodos de Programação I Departamento de Matemática, FCTUC 38 type var tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;
Leia maisFundamentos da Programação
Fundamentos da Programação Solução do Primeiro Teste 29 de Março de 2014 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo
Leia maisProgramação Funcional 9 a Aula Programas interativos
Programação Funcional 9 a Aula Programas interativos Pedro Vasconcelos DCC/FCUP 2014 Motivação Até agora apenas escrevemos programas que efetuam computação pura, i.e., transformações funcionais entre valores.
Leia maisIntroduçã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 maisLógica Computacional Aula 4
Lógica Computacional Aula 4 DCC/FCUP 2017/18 Conteúdo 1 Lógica proposicional 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade............................................
Leia maisIntroduçã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 maisGrafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32
Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).
Leia maisSSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL RESOLUÇÃO EXERCÍCIOS. Profa. Dra. Milena Guessi Margarido
SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL RESOLUÇÃO EXERCÍCIOS Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) PSEUDOCÓDIGO corpo principal algoritmo sequência de comandos fim
Leia maisProgramação imperativa
Capítulo 8 Programação imperativa 8.1 Exercícios de revisão 1. Distinga entre programação imperativa e programação funcional. 2. Explique a necessidade da introdução do operador de atribuição. 3. Diga
Leia maisEletrônica Digital I (EDL I)
Eletrônica Digital I (EDL I) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br Ementa à Sistemas de numeração. à Funções
Leia maisa) Defina uma função para obter o máximo entre dois números
IP, Resoluções comentadas, Semana 2 jrg, vs 002, Out-2012 a) Defina uma função para obter o máximo entre dois números A versão mais imediata talvez seja esta: public static int maior ( int a, int b ) {
Leia maisPython: 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 maisProgramação I Aula 6 Números pseudo-aleatórios
Programação I Aula 6 Números pseudo-aleatórios Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 6 Números pseudo-aleatórios 2018 1 / 28 Nesta aula 1 Números pseudo-aleatórios
Leia maisEstruturas de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números
Leia maisFilas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014
Filas de prioridade Marcelo K. Albertini de Novembro de / Filas de prioridade O que é uma fila de prioridade? Estrutura de dados que generaliza a ideia de ordenação. Coleções de elementos: inserir e remover
Leia maisComputação 2. Aula 8 Teórica professor: Leonardo Carvalho
Computação 2 Aula 8 Teórica professor: Leonardo Carvalho Exercício Escreva uma função que recebe uma lista L de valores inteiros e retorna uma lista contendo o triplo de cada valor em L. def triplos(l):
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando
Leia maisif not(isinstance(a, int)) or a < 0: raise ValueError ("misterio: arg nao e inteiro nao negativo") else: return misterio_aux(a, a + 1)
Capítulo 7 Recursão e iteração 1. (1) Considere a seguinte função: def misterio(a): def misterio_aux(b, c): if b == 0: return True elif c == 0: return False return misterio_aux(b -, c - ) if not(isinstance(a,
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 6: Mais sobre ciclos Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Ciclos for 2. Ciclos while 3. Saída e continuação num
Leia maisInteligência Artificial
Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios Complementares de Lisp Inteligência Artificial Prof Joaquim Filipe Eng.
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes
Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2012 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:
Leia maisPython: Exceções, Iteradores e Geradores. Claudio Esperança
Python: Exceções, Iteradores e Geradores Claudio Esperança Exceções Quando um programa encontra dificuldades não previstas, diz se que uma condição excepcional ou uma exceção ocorreu Um erro é uma exceção
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções
Programação Funcional 3 a Aula Definição de funções Pedro Vasconcelos DCC/FCUP 2014 Definição de funções Podemos definir novas funções simples usando funções pré-definidas. minuscula :: Char -> Bool minuscula
Leia maisProva Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
Leia maisAula 15 Variáveis Indexadas (vetores)
Aula 15 Variáveis Indexadas (vetores) Além das variáveis normais já conhecidas, podemos ter também variáveis indexadas. Tais variáveis são referenciadas por um nome e um índice. Especialmente úteis para
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está
Leia maisUSANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio
USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais
Leia maisProgramação de Computadores
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Programação de Computadores Escopo de variáveis Copyright 2013 IFRN O que veremos hoje? Introdução Escopo de variáveis Escopo local
Leia maisAlgoritmos e estrutura de dados
Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas
Leia maisFundamentos da Programação
Fundamentos da Programação Solução do Primeiro Teste 27 de Outubro de 2012 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo
Leia maisVetores. 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 maisListas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisProcedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução
Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial
Leia maisWEBDESIGN. Professor: Paulo Marcos Trentin - Escola CDI de Videira
WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Introdução ao JavaScript É uma linguagem client-side que possui diversas aplicações,
Leia maisFUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m
FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m 1. (1.5) Considere a seguinte gramática em notação BNF: ::= , ::= ::=
Leia maisListas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações
Listas - Outras Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações 5 e 7/10/2010 Listas Circulares Encadeadas Dinâmicas Se o nó next do último nó apontar para o primeiro, teremos
Leia maisIntrodução à Programação
Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 3 Tipos, Expressões,Operadores Tipos de dados Variáveis Constantes Constantes Simbólicas Expressões Operadores aritméticos, relacionais
Leia mais