Programação I Aula 10 Processamento de listas

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

Download "Programação I Aula 10 Processamento de listas"

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 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 mais

Introdução à Programação Aula 10 Processamento de listas

Introduçã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 mais

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

Introduçã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 mais

Introdução à Programação

Introduçã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 mais

Introduçã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 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 mais

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP

Programaçã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 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

Introduçã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 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 mais

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

Introduçã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 mais

Programação I Aula 7 Resolução numérica de equações

Programaçã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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas

Pedro 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 mais

Introduçã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 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 mais

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Programaçã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 mais

Programação Funcional Aulas 5 & 6

Programaçã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 mais

Programação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP

Programaçã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 mais

Introdução à Programação Aula 16 Mais exemplos de recursão

Introduçã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 mais

Introdução à Programação Aula 3 Primeiros programas

Introduçã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 mais

Introdução à Programação Aula 9 Listas e tuplos

Introduçã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 mais

Programação I Aula 9 Listas e tuplos

Programaçã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 mais

Programação I Aula 3 Primeiros programas

Programaçã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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 8 a Aula Listas infinitas

Pedro 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 mais

Aula 3: Algoritmos: Formalização e Construção

Aula 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 mais

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

Introduçã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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 17 a Aula Tipos abstratos

Pedro 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 mais

Programação I Aula 11 Mais sobre ciclos e iteração

Programaçã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 mais

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

Introduçã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 mais

Programação Funcional 13 a Aula Tipos abstratos

Programaçã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 mais

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

Introduçã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 mais

Programação I Aula 8 Cadeias de carateres

Programaçã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 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

Introdução à Programação Aula 5 Ciclos e condicionais

Introduçã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 mais

Programação I Aula 12 Mais sobre cadeias e listas

Programaçã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 mais

Processamento da Informação

Processamento 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 mais

Programação Funcional 14 a Aula Classes de tipos revisitadas

Programaçã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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 16 a Aula Árvores equilibradas

Pedro 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 mais

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

AULA 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 mais

Programação I Aula 16 Mais exemplos de recursão

Programaçã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 mais

Aula 2: Algoritmos: Intuição

Aula 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 mais

Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP

Programaçã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 mais

Programação I Aula 15 Definições recursivas

Programaçã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 mais

1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas

1 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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Pedro 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 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

Matrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

Matrizes 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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 7 a Aula Funções de ordem superior

Pedro 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 mais

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

Introduçã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 mais

Matrizes Esparsas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Matrizes 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 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

Pedro Vasconcelos DCC/FCUP. Programação Funcional 4 a Aula Listas

Pedro 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 mais

Processamento da Informação Teoria. Listas e Matrizes

Processamento 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 mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃ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 mais

UNIP - 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 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 mais

Técnicas de Paralelização

Té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 mais

Linguagens de Programação

Linguagens 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 mais

Conceitos de Linguagem de Programação - 2

Conceitos 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 mais

Programação Funcional

Programaçã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 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

Compiladores - Gramáticas

Compiladores - 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 mais

Compiladores - Gramáticas

Compiladores - 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 mais

CIC 110 Análise e Projeto de Algoritmos I

CIC 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 mais

Aula 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 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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 19 a Aula Raciocinar sobre programas

Pedro 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 mais

Introdução à Programação Aula 11 Mais sobre ciclos e iteração

Introduçã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 mais

tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;

tipoveiculo = (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 mais

Fundamentos da Programação

Fundamentos 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 mais

Programação Funcional 9 a Aula Programas interativos

Programaçã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 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

Lógica Computacional Aula 4

Ló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 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

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos - 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 mais

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL RESOLUÇÃO EXERCÍCIOS. Profa. Dra. Milena Guessi Margarido

SSC 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 mais

Programação imperativa

Programaçã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 mais

Eletrônica Digital I (EDL I)

Eletrô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 mais

a) Defina uma função para obter o máximo entre dois números

a) 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 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

Programação I Aula 6 Números pseudo-aleatórios

Programaçã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 mais

Estruturas de Repetição

Estruturas 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 mais

Filas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014

Filas 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 mais

Computação 2. Aula 8 Teórica professor: Leonardo Carvalho

Computaçã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 mais

UNIVERSIDADE 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. 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 mais

if not(isinstance(a, int)) or a < 0: raise ValueError ("misterio: arg nao e inteiro nao negativo") else: return misterio_aux(a, a + 1)

if 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 mais

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

Introduçã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 mais

Inteligência Artificial

Inteligê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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Pedro 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 mais

Python: Exceções, Iteradores e Geradores. Claudio Esperança

Python: 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 mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções

Pedro 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 mais

Prova 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 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 mais

Aula 15 Variáveis Indexadas (vetores)

Aula 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 mais

Universidade 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 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 mais

USANDO 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 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 mais

Programação de Computadores

Programaçã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 mais

Algoritmos e estrutura de dados

Algoritmos 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 mais

Fundamentos da Programação

Fundamentos 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 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

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Listas 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 mais

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Procedimento. 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 mais

WEBDESIGN. Professor: Paulo Marcos Trentin - Escola CDI de Videira

WEBDESIGN. 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 mais

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

FUNDAMENTOS 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 mais

Listas - 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 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 mais

Introdução à Programação

Introduçã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