Você está na página 1de 75

PDA videotutoria

Funções e Procedimentos

◦ Os procedimentos realizam o processamento sem efetuar o retorno de qualquer valor.

◦ As funções realizam o processamento e retornam o valor de resultado, podendo ser armazenado em uma
variável. 

◦ Os dois devem possuir uma chamada externa, no código principal.

◦ Os dois podem receber parâmetros de entrada (informações necessárias para realizar o processamento do


código) e possuir parâmetros de saída, que guardam os resultados do processamento.
N=6

Num=6
Chamada externa da função f, passando como parâmtero de
entrada num.
N=6

Resultado=1

I=2 / resultado = 1*2=2


N=6

Resultado=1

I=3 / resultado = 2*3=6


N=6

Resultado=1

I=4 / resultado = 6*4=24


N=6

Resultado=1

I=5/ resultado = 24*5=120


N=6

Resultado=1

I=6/ resultado = 120*6=720


Chamada externa da função f1 passando x
como parâmetro de entrada.
F1 recebe o valor b=3 como parâmetro de
saída
B=3+10=13
Resultado=b=13
t=13
Como em f1 nós temos que o parâmetro que recebemos é de saída, o seu valor é alterado. 
Impressão: 13 13
Chamada externa da função f2 passando x
como parâmetro de entrada.
F2 recebe o valor b=13 como parâmetro de
entrada
B=13+10=23
Resultado=b=23
t=23
Como em f2 nós temos que o parâmetro que recebemos é de entrada, o seu valor não é alterado.
Apenas é utilizado no processamento da função. 
Impressão: 13 23
O vetor v é inicializado com os seguintes valores: V=[10,12,5]
I=1
min=1
j=2
i=1, min=1, j=2
V[2]<V[1] ?  12<10 ? Não! Próximo j
i=1, min=1, j=3

j=3
V[3]<V[1] ?  5<10 ? Sim! Min=3
1<>3 ? Sim! Chama procedimento troca (10, 5)
x=10 / y=5
Temp=10
X=5
Y=10
Temp=10
Procedimento NÃO retorna valor. Portanto, só é feita
X=5
Y=10 a troca dos elementos. 
Próximo i
I=2
min=2
i=2, min=2, j=3

j=3
V=[5, 12, 10]

V[3]<V[2] ?  10<12 ? Sim! Min=3

2<>3 ? Sim! Chama o procedimento troca (12,10)


x=12 / y=10
Temp=12
X=10
Y=12
Temp=12
Procedimento NÃO retorna valor. Portanto, só é feita
X=10
Y=12 a troca dos elementos. 
Chama o procedimento imp(3, vetor) 
Tam=3 / v=[5,10,12] 
I=1
imprime v[1]=5 
I=2
imprime v[2]=10 
I=3
imprime v[3]=12 
5 10 12
Chamada ao procedimento valor (-1,1)
Parâmetro de entrada = x = a = -1.
Parâmetro de saída = y = b = 1
X=-1+1=0
Y=1-1=0
A=-1 B=0
X= feliz / Y= abobora / Z= laranja

Abobora = sonolenta / feliz = vampiro


Chama o procedimento laranja(abobora, feliz, laranja) 
Entradas = z-abobora, y-feliz, x-laranja
Entradas = z-abobora, y-feliz, x-laranja
Imprime feliz, abobora, laranja

Palavra Qtd impressa
feliz 1
abobora 1
laranja 1
Chama o procedimento laranja(feliz, laranja, abobora) 
Entradas = z-feliz, y-laranja, x-abobora
Entradas = z-feliz, y-laranja, x-abobora
Imprime laranja, feliz, abobora

Palavra Qtd impressa
feliz 2
abobora 2
laranja 2
Chama o procedimento laranja(sonolenta, laranja, y) 
Entradas = z-sonolenta, y-laranja, x-y
Entradas = z-sonolenta, y-laranja, x-y

Imprime laranja, sonolenta, y

Palavra Qtd impressa
feliz 2
abobora 2
laranja 3
sonolenta 1
y 1
Z=verde
Chama o procedimento laranja(x, abobora, verde) 
Entradas = z-x, y-abobora, x-verde
Entradas = z-x, y-abobora, x-verde
Imprime abobora, x, verde

Palavra Qtd impressa
feliz 2
abobora 3
laranja 3
sonolenta 1
y 1
verde 1
x 1
Chama o procedimento laranja(abobora, verde, vampiro) 
Entradas = z-abobora, y-verde, x-vampiro
Entradas = z-abobora, y-verde, x-vampiro
Imprime verde, abobora, vampiro

Palavra Qtd impressa
feliz 2
abobora 4
laranja 3
sonolenta 1
y 1
verde 2
x 1
vampiro 1

Você também pode gostar