A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projeto e Desenvolvimento de Algoritmos

Apresentações semelhantes


Apresentação em tema: "Projeto e Desenvolvimento de Algoritmos"— Transcrição da apresentação:

1 Projeto e Desenvolvimento de Algoritmos
Funções Renato Campioni

2 Funções Funções são blocos de programas que retornam um valor.
Sintaxe: função nome ( entradas: nono, nonono[], nono, ... saídas: nono, nonono, nono[], ...) inicio { comandos } nome  ... fim

3 Funções: Retorno função nome ( ... inicio fim
O bloco de comandos deve conter pelo menos uma instrução que atribui um valor ao identificador da função. função nome ( ... inicio { comandos } nome  ... fim

4 Funções – Exemplo função Patas (entradas: N1,N2) início
Patas  4*(N1 + N2) fim   programa teste inicio caes  4 gatos  3 pes  Patas(caes, gatos); imprima 'Total de patas: ', pes fim

5 Outro exemplo: A função Converte
função Converte(entradas: Fer) início Converte  ((Fer - 32) * 5) / 9 fim   programa teste imprima 'Temperatura em Fahrenheit: ' leia Far Cel  Converte(Far) imprima 'Celsius: ', Cel fim

6 A função Converte Saída: Temperatura em Fahrenheit: 212
Celsius:   Alocação de memória:   Tcel:Converte 100 Fer:Converte 212 Cel 100 Far 212

7 Outro exemplo função CalculaArea(entradas l, c) início
CalculaArea  l * c fim   Programa area imprima 'Largura do jardim? ‘ leia larg imprima 'Comprimento do jardim? ‘ leia comp imprima 'Area:',CalculaArea(larg,comp) fim

8 A função area   Saída:   Largura do jardim? 100 Comprimento do jardim? 50 Area: 5000

9 Vetores e funções Um vetor pode ser passado como parâmetro usando-se apenas o nome do mesmo na chamada à função

10 Vetores e funções (passagem valor)
Constante Dim = 3 função AchaMaior( entradas: tab[] saídas: pos) início { Assume temporariamente que o primeiro elemento da tabela e' o maior } AchaMaior  tab[1] pos  1 { Percorre a tabela procurando um elemento maior do que maior } para i  2 até DIM faça se tab[i]>maior então AchaMaior  tab[i] pos  i fim se próximo i fim

11 Vetores e funções(continuação)
Programa maior início { O usuario inicializa a tabela } para i  1 até DIM faça leia tabela[i]); próximo i { chama a funcao para determinar o maior } maior  AchaMaior(tabela, pos); { imprime o resultado } imprima maior, pos fim

12 Passagem por valor: Alocação em memória
Uma cópia de cada um dos elementos do vetor é criada na pilha. 3.0 2.0 1.0 ? 3 tabela[3] tabela[1] tabela[2] i pos maior pos:AchaMaior tab[1]:AchaMaior i:AchaMaior tab[2]:AchaMaior tab[3]:AchaMaior

13 Vetores e funções (passagem referência)
Constante Dim = 3 função AchaMaior(saídas : tab[], pos) início { Assume temporariamente que o primeiro elemento da tabela e' o maior } AchaMaior  tab[1] pos  1 { Percorre a tabela procurando um elemento maior do que maior } para i  2 até DIM faça se tab[i]>maior então AchaMaior  tab[i] pos  i fim se próximo i fim Agora é saída

14 Passagem por referência (continuação)
Alocação em memória 3.0 2.0 1.0 ? 3 tabela[3] tabela[1] tabela[2] i pos maior pos:AchaMaior tab[1]:AchaMaior i:AchaMaior tab[2]:AchaMaior tab[3]:AchaMaior

15 Passagem por referência (continuação)
A passagem de vetores por referência pode ser vantajosa, se os vetores forem grandes, e se o tempo de processamento for um dado crítico no programa. Evita-se com isso a cópia dos valores dos vetores na pilha.


Carregar ppt "Projeto e Desenvolvimento de Algoritmos"

Apresentações semelhantes


Anúncios Google