Carregar apresentação
A apresentação está carregando. Por favor, espere
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.