• Nenhum resultado encontrado

Aula15 - Funções

N/A
N/A
Protected

Academic year: 2021

Share "Aula15 - Funções"

Copied!
32
0
0

Texto

(1)

P

ROGRAMAÇÃO DE

C

OMPUTADORES

I

Funções

(2)
(3)

O Q

UE É UMA

F

UNÇÃO

M

ATEMÁTICA

?

 Em Matemática, uma função é uma relação entre dois conjuntos que associa a cada elemento do primeiro

conjunto (domínio) um elemento (imagem) do segundo conjunto (contra-domínio).

 Ha várias maneiras de descrever ou representar uma função:

função:

 lei de associação  gráfico

(4)

E E

M

C

OMPUTAÇÃO

?

 Em Computação, uma função é um segmento de

programa dentro de um programa maior que realiza uma tarefa específica e é relativamente independente do

restante do código.

 Também chamada de rotina, sub-rotina, procedimento,

método e subprograma. método e subprograma.

 Uma função é especificada por um algoritmo (corpo) que é executado quando a função é chamada.

(5)

E E

M

C

OMPUTAÇÃO

?

 Os dados a serem processados pelo algoritmo são informados através dos parâmetros formais, que são variáveis introduzidas na definição da função.

 O algoritmo calcula um valor que é o resultado da função.

 E para usar uma função?

Uma função é usada através da chamada de função (ou

 Uma função é usada através da chamada de função (ou

aplicação de função), que e uma expressão consistindo em uma função e uma lista de argumentos.

(6)
(7)
(8)

E

XEMPLO

 Definir uma função que calcula o quadrado de um número inteiro

(9)

D

EFINIÇÃO DE UMA

F

UNÇÃO

 Toda função tem uma lista de parâmetros formais.  Cada parâmetro formal tem um nome um tipo.

 Os parâmetros formais são separados por vírgula e a lista é escrita entre parênteses.

 Toda função tem um tipo de retorno, que determina o tipo de seu resultado.

Os parâmetros formais de uma função determinam qual  Os parâmetros formais de uma função determinam qual

será o seu comportamento

 O comando return termina a execução do corpo da função e determina o seu resultado.

(10)

E

XEMPLO

 definir uma função que retorna o fatorial de um número inteiro.

(11)

D

EFININDO UMA FUNÇÃO

 A expressão contida dentro do comando return é o valor de retorno, e corresponde a resposta de uma determinada função, quando aplicada a uma lista de argumentos.

 return é o ultimo comando a ser executado por uma função, e nada após ele será executado.

 As funções devem ser declaradas fora do programa principal main.

(12)

C

HAMANDO UMA FUNÇÃO

 Uma função é usada através da chamada de função que é uma expressão consistindo em uma função e uma lista de argumentos.

 Um argumento é uma expressão cujo valor é passado para a função, que o utiliza para determinar o resultado. A avaliação da chamada de função consiste em

 A avaliação da chamada de função consiste em

 1. avaliar os argumentos,

 2. associar cada parâmetro formal da função com o valor do

argumento correspondente,

 3. executar os comandos no corpo da função, que

eventualmente produzem um resultado,

(13)

E

XEMPLO

(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)

C

HAMANDO UMA

F

UNÇÃO

 A função a seguir soma dois valores passados como parâmetro

(24)
(25)

C

HAMANDO UMA

F

UNÇÃO

 Uma forma clássica de realizarmos a invocação (ou

chamada) de uma função é atribuindo o resultado a uma variável.

 Podemos invocar uma função em qualquer lugar onde faríamos a leitura de uma variável, mas nunca a escrita. Ex:

Ex:

(26)

C

HAMANDO UMA

F

UNÇÃO

 Na seguinte instrução é realizada a leitura do valor y e logo atribuído à variável x, neste ponto é executado a

escrita do valor y em x.

 Vejamos o seguinte programa. A terceira instrução está errada.

(27)

C

HAMANDO UMA

F

UNÇÃO

 As variáveis passadas como parâmetros indicam quais são os valores com os quais a função ira trabalhar.

 Esses valores são copiados para os parâmetros da função, que pode manipulá-los.

Os argumentos passados na chamada da função não  Os argumentos passados na chamada da função não possuem necessariamente os mesmos nomes que os parâmetros formais usados na declaração da função.

(28)

C

HAMANDO UMA

F

UNÇÃO

 O segundo printf está errado. As variáveis a e b são variáveis privadas que somente pertencem à função ‘soma’ e não tem como ter acesso a elas em main.

(29)

P

OR QUE

U

TILIZAR

F

UNÇÕES

?

 Dividir para conquistar (como utilizar no jogo da velha?)

 Evitar que os blocos do programa quem grandes demais (mais difíceis de entender);

 Facilitar a leitura do programa-fonte;

 Separar o programa em partes(blocos) que possam serlogicamente compreendidos de forma isolada.

(30)

P

OR QUE

U

TILIZAR

F

UNÇÕES

?

 Permitir o reaproveitamento de código já construído (por você ou por outros programadores);

 Evitar que um trecho de código seja repetido várias vezes dentro de um mesmo programa;

Permitir a alteração de um trecho de código de uma forma  Permitir a alteração de um trecho de código de uma forma

(31)

D

IVIDIR PARA CONQUISTAR

 Jogo da Velha

 Muito complicado fazer todo o código em um único método

(main)?

(32)

C

RÉDITOS

Baseado no material do prof. José Romildo Malaquias Baseado no material do prof. José Romildo Malaquias

Referências

Documentos relacionados

 lista de parâmetros - é uma lista de nomes e tipos de variáveis separadas por vírgulas, que recebem os valores dos argumentos quando a função é chamada..

Assim pa a além do Secto das Est adas este modelo de O&M Assim, para além do Sector das Estradas, este modelo de O&M poderá estender-se no curto prazo a outros sectores,

 A  formulação  da  decisão   demandou  a  construção  de  argumentos  capazes  de  atender  os   preceitos   constitucionais   vigentes   em   um   Estado  

Funções são tão comuns e intuitivas provavelmente você já usou funções no Excel, que mesmo sem definir o que elas são, nós já utilizamos funções nas seções anteriores:

parâmetros formais, dentro da função, alteram os valores dos parâmetros que foram passados para a função.. Este tipo de chamada de função tem o nome de "chamada

- contáveis: elementos que se podem contar e que, por isso, assumem a forma singular ou plural. - não contáveis: elementos que não se podem contar distintamente e que assumem,

De fato, esses investimentos para melhorar a infraestrutura logística podem influenciar produtores localizados em todas as regiões que, ao vivenciarem a redução dos custos de

Indeed, these investments to improve logistic infrastructure might influence producers located in all regions who upon experiencing reduced freight costs expand their