Semana 2: Funções e listas, variáveis

2.732 visualizações

Publicada em

Apresentação da semana 2 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.732
No SlideShare
0
A partir de incorporações
0
Número de incorporações
89
Ações
Compartilhamentos
0
Downloads
104
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Semana 2: Funções e listas, variáveis

  1. 1. Aula 2 Funções e listas em pseudocódigo Utilizações típicas de variáveis 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 1
  2. 2. Da aula anterior… Programação como arte de resolver problemas Algoritmo como sequência finita de instruções que resolvem um dado problema Descrição de algoritmos em pseudocódigo Variáveis Instruções de selecção Iterações e ciclos Instruções de leitura/escrita 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 2 2
  3. 3. Função Conjunto de instruções com entradas bem definidas e que calcula um determinado valor (a sua saída) Definição Nome (reflecte o que a rotina calcula) Entradas (ou parâmetros) Instruções que executam o cálculo Instruções que reportam (ou devolvem) o resultado 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 3
  4. 4. Pseudocódigo: definição de função Função nome(parâmetro1, parâmetro2, …) variável1 ← 0. variável2 ← 0. … … Devolvervariável1. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 4 Entradas ou parâmetros. Corpo da função. Variáveis locais. Acessíveis apenas dentro da função. Reportar ou devolver o valor calculado. Introdução à Programação
  5. 5. Pseudocódigo: invocação de função variável1 ← 0. variável2 ← 1. … resultado ← nome(expressão1, expressão2, …). 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 5 Argumentos. Um argumento por cada parâmetro. Introdução à Programação
  6. 6. Função que calcula o mdc Função mdc(m, n) Se m < n, então mdc← m, senão, mdc← n. Enquanto m ÷ mdc≠ 0 V n ÷ mdc ≠ 0, fazer mdc← mdc - 1. Devolver mdc. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 6 Entradas. Cálculo do mínimo. Pode transformar-se em função. Passos: Saída. Algoritmo simplório.
  7. 7. Função que calcula o mdc Função mínimoDe(m, n) Se m < n, então devolver m, senão, devolver n. Função mdc(m, n) mdc← mínimoDe(m, n). Enquanto m ÷ mdc≠ 0 V n ÷ mdc ≠ 0, fazer mdc← mdc - 1. Devolver mdc. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 7
  8. 8. Função que calcula o mdc Função mdc(m, n) Enquanto m≠ 0, fazer temporária← m, m← n ÷ m, n← temporária. Devolver n. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 8 Algoritmo de Euclides.
  9. 9. Função que calcula o mdc Função mdc(m, n) Se m= 0, fazer devolver n, senão, devolver mdc(n ÷ m, m). 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 9 Algoritmo de Euclides na sua forma recursiva.
  10. 10. Funções: boas práticas Funções devem limitar-se a cálculo em causa Funções não devem ter efeitos laterais Ler do teclado e escrever no ecrã são efeitos laterais Funções não devem ler do teclado ou escrever no ecrã! 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 10
  11. 11. Funções: vantagens 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 11 Modularização Código colocado em módulo com função bem definida Facilita reutilização: define-se uma vez, usa-se muitas Encapsulamento Implementação irrelevante para quem usa a função Reduz complexidade Favorece abstracção Aumenta clareza
  12. 12. Lista (ou vector) Variável que guarda sequência de itens Ordem dos itens relevante Identificação de valores usando índices Índice do primeiro valor: zero Exemplo 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 12 Lista lista. 8 4 2 0 1 1 0 7 0 1 2 3 4 5 6 7 lista Valores. Índices.
  13. 13. Pseudocódigo: listas lista(tamanho,valor) – Lista com tamanho itens, todos com valor valor. lista1 ← lista(5, 0) lista{valor1, valor2, …} – Lista com valores indicados entre chavetas lista2 ← lista{2, 0, 5, 8} 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 13 0 0 0 0 0 2 0 5 8 0 1 2 3 4 0 1 2 3 lista1 lista2
  14. 14. Pseudocódigo: listas tamanhoDe(lista)– devolve tamanho de lista lista[i] – Item de lista com índice i Exemplos: tamanhoDe(lista1) – Devolve 5 lista2[2] – Terceiro item de lista2, com valor 5 lista2[2] ← 7 – Atribui 7 ao terceiro item de lista2 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 14 0 0 0 0 0 2 0 5 8 0 1 2 3 4 0 1 2 3 lista1 lista2
  15. 15. Utilizações típicas de variáveis Iteração Contagem Acumulação Memória temporária Etc. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 15
  16. 16. Iteração Variável com valores sucessivos correspondentes a contagem, índices de lista, etc. Exemplo i ← 0. Enquanto i ≠ 10, fazer ... i ← i + 1. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 16 Variável para iteração.
  17. 17. Contagem Variável guardando valor de contagem Exemplo Função ocorrências(lista, valor) ocorrências ← 0. i ← 0. Enquanto i ≠ tamanhoDe(lista), fazer se lista[i] = valor, então ocorrências ← ocorrências + 1; i ← i + 1. Devolver ocorrências. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 17 Variável para contagem.
  18. 18. Acumulação Variável guardando acumulação de operação Exemplo Função somaDe(lista) soma ← 0. i ← 0. Enquanto i ≠ tamanhoDe(lista), fazer soma ← soma + lista[i]; i ← i + 1. Devolver soma. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 18 Variável para acumulação da soma.
  19. 19. Acumulação: caso especial Variável guardando acumulação de operação Exemplo Função máximoDe(lista) máximo ← -∞. i ← 0. Enquanto i ≠ tamanhoDe(lista), fazer se máximo < lista[i], então máximo ← lista[i]; i ← i + 1. Devolver máximo. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 19 Variável para “acumulação” do máximo.
  20. 20. Memória temporária Variável para guardar valor temporariamente Exemplo Função mdc(m, n) Enquanto m≠ 0, fazer temporária← m, m← n ÷ m, n← temporária. Devolver n. 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 20 Variável para memória temporária.
  21. 21. A reter Pseudocódigo Funções Listas (ou vectores) Utilizações típicas de variáveis Iteração Contagem Acumulação (casos especiais) Memória temporária 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 21 21
  22. 22. 2010/2011 22 A ler... Capítulos 1 e 2 do livro: Y. Daniel Liang, Introduction to Java Programming, 8.ª edição, Prentice-Hall, 2010. ISBN: 978-0-13-213080-6 Introdução à Programação - DCTI - ISCTE-IUL 22
  23. 23. Sumário Funções e listas em pseudocódigo Utilizações típicas de variáveis 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 23

×