56
1/57 BCC 201 - Introdu¸ ao ` a Programa¸ ao I Procedimentos e Fun¸ c˜oesII Guillermo C´ amara-Ch´ avez UFOP

Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

1/57

BCC 201 - Introducao a Programacao I

Procedimentos e Funcoes II

Guillermo Camara-ChavezUFOP

Page 2: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

2/57

Sub-algoritmos I

I Sub-algoritmos sao blocos de instrucoes que realizamtarefas especıficas

I O codigo de um sub-algoritmo e carregado uma vez e podeser executado quantas vezes for necessario

I Assim, os programas tendem a ficar menores e maisorganizados, uma vez que o problema pode ser dividido

Page 3: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

3/57

Sub-algoritmos II

I Em geral, um programa e executado linearmente, umalinha apos a outra, ate o fim

I Entretanto, quando sao utilizados sub-algoritmos, e possıvel arealizacao de desvios na execucao natural dos programas

I Assim, um programa e executado linearmente ate a chamadade um sub-algoritmo

I Com a chamada, o programa chamador e temporariamentesuspenso e o controle e passado para o sub-algoritmo quee executado

Page 4: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

4/57

Sub-algoritmos III

I Ao terminar o sub-algoritmo, o controle retorna para oprograma chamador

Page 5: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

5/57

Sub-algoritmos IV

I Tipos de Sub-algoritmos:

I Funcoes (functions)I Procedimentos (procedures)

Page 6: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

6/57

Funcoes I

I E comum encontrar-se nas linguagens de programacao, variasfuncoes embutidas, por exemplo, sin (seno), cos (cosseno),abs (valor absoluto), sqrt (raız quadrada)

I Funcoes embutidas podem ser utilizadas diretamente emexpressoes. Por exemplo, o comando:

I hipotenusa = sqrt(pow(cateto1,2) + pow(cateto2,2));

I calcula a hipotenusa de um triangulo retangulo como a raızquadrada da soma dos quadrados dos dois catetos.

Page 7: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

7/57

Funcoes II

I Essas funcoes sao utilizadas em expressoes como se fossemsimplesmente variaveis comuns

I Como variaveis comuns, as funcoes tem (ou retornam) umunico valor

Page 8: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

8/57

Funcoes III

I E responsabilidade do programador fornecer o argumento (ouparametro) particular necessario para a funcao efetuar seuscalculos

I Por exemplo, a funcao soma tem como parametro doisnumeros, retornando um valor tambem numerico

Page 9: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

9/57

Funcoes IV

I A utilizacao de funcoes afeta o fluxo de controle numprograma

I Quando uma funcao e chamada, o controle passa para asinstrucoes que definem a funcao

I Apos a execucao da funcao com os parametros fornecidos, ocontrole retorna ao ponto de chamada da funcao, com o valorcalculado na funcao

Page 10: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

10/57

Funcoes V

Page 11: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

11/57

Funcoes VI

Page 12: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

12/57

Funcoes VII

Page 13: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

13/57

Funcoes VIII

Page 14: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

14/57

Funcoes IX

Page 15: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

15/57

Funcoes X

I Em algumas situacoes, o programador gostaria de utilizar(definir) novas funcoes

I Por analogia, na Matematica, escreve-se (ou define-se) umafuncao numa forma geral, por exemplo:

I f (x) = x2 − 3x + 2 (Definicao da funcao f )

I Esta funcao f foi definida em termos do parametro x . Parasaber o valor da funcao para um valor particular do argumentox , por exemplo, x = 3, basta substituir este valor ondeaparece o parametro x :

I f (3) = 32 − 3(3) + 2 = 2 (“Ativacao” da funcao)I f (1) = 12 − 3(1) + 2 = 0I f (−1) = (−1)2 − 3(−1) + 2 = 6

Page 16: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

16/57

Funcoes XI

I Uma vez definida a nova funcao, ela pode ser utilizada sempreque necessaria, mesmo dentro de outras (novas) funcoes

I Como na Matematica, os parametros podem ser nomeadoslivremente

I Por exemplo, sao equivalentes as funcoesI f (x) = x2 − 3x + 2I f (y) = y2 − 3y + 2

I O nome da funcao e definido pelo programador e segue amesma norma de formacao de identificadores

Page 17: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

17/57

Funcoes XII

I Funcoes podem ter mais de um parametro (argumento):I g(x , y) = x2 + y3

I g possui 2 parametros

I h(x , y , z) = x2 + 2y + z2

I h possui 3 parametros

I Pode-se avaliar cada uma dessas funcoes de forma analoga:I g(3, 2) = 32 + 23 = 9 + 8 = 17I h(1, 3, 2) = 12 + 2(3) + 22 = 1 + 6 + 4 = 11

I Notar a correspondencia estabelecida entre os parametros dadefinicao da funcao e os parametros de ativacao (ouexecucao) da funcao

I No caso da funcao g , 3 e substituıdo para cada ocorrencia dex e 2 e substituıdo para cada ocorrencia de y . Essa ordeme fundamental, pois g(3, 2) nao e o mesmo que g(2, 3)

Page 18: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

18/57

Exercıcios I

Encontrar o maximo elemento entre dois numeros inteiros

Page 19: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

19/57

Exercıcios II

i n t Maximo ( i n t , i n t ) ;i n t main ( ){

i n t num1 , num2 ;p r i n t f ("Inserir dois numeros" ) ;s c a n f (" %d %d" , &num1 , &num2 ) ;p r i n t f ("O maior entre %d e %d eh %d \n" ,

num1 , num2 , Maximo (num1 , num2 ) ) ;r e t u r n 0 ;

}i n t Maximo ( i n t a , i n t b ){

i f ( a > b )r e t u r n a ;

e l s er e t u r n b ;

}

Page 20: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

20/57

Exercıcios III

Calcular o maximo de 3 numero, utilizar a funcao ja implementadapara encontrar o maximo de dois numeros

Page 21: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

21/57

Exercıcios IV

i n t Maximo ( i n t , i n t ) ;i n t Maximo3 ( i n t , i n t , i n t ) ;i n t main ( ){

i n t num1 , num2 , num3 ;p r i n t f ("Inserir tres numeros" ) ;s c a n f (" %d %d %d" , &num1 , &num2 , &num3 ) ;p r i n t f ("O maior entre %d, %d e %d eh %d \n" ,

num1 , num2 , num3 , Maximo3 (num1 , num2 , num3 ) ) ;r e t u r n 0 ;

}i n t Maximo ( i n t a , i n t b ){

i f ( a > b ) r e t u r n a ;e l s e r e t u r n b ;

}i n t Maximo3 ( i n t a , i n t b , i n t c ){

r e t u r n Maximo ( a , Maximo (b , c ) ) ;}

Page 22: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

22/57

Procedimentos I

I Em algumas situacoes desejamos especificar uma operacaoque nao e convenientemente determinada como parte de umaexpressao

I Nesses casos, utilizamos outra forma de sub-algoritmo: oprocedimento

Page 23: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

23/57

Procedimentos II

I Embora a funcao e o procedimento sejam similares, existemduas diferencas importantes:

I Numa chamada de procedimento, a execucao do programa queo chamou e interrompida, passando o controle aoprocedimento chamado. Apos a execucao do procedimento, ocontrole retorna ao programa chamador no comandoimediatamente subsequente. A execucao do programa continuaa partir desse ponto.

I Nao existe retorno de um unico valor como no caso da funcao.Qualquer valor a ser retornado por um procedimento voltaatraves de seus parametros

Page 24: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

24/57

Procedimentos III

Page 25: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

25/57

Procedimentos IV

Page 26: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

26/57

Procedimentos V

Page 27: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

27/57

Procedimentos VI

Criar um procedimento que calcule a divisao de dois numeros.Mostrar o resultado dentro do procedimento

Page 28: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

28/57

Procedimentos VII

vo i d d i v i d e ( double , doub l e ) ;i n t main ( ){

doub l e num1 , num2 ;p r i n t f ("Inserir dois numeros" ) ;s c a n f (" %lf %lf" , &num1 , &num2 ) ;d i v i d e (num1 , num2 ) ;r e t u r n 0 ;

}vo i d d i v i d e ( doub l e a , doub l e b ){

i f ( b != 0)p r i n t f ("Resultado: %lf \n" , a/b ) ;

e l s ep r i n t f ("Nao foi possivel realizar a divisao" ) ;

}

Page 29: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

29/57

Procedimentos VIII

Dados dois numeros naturais m e n e duas sequencias ordenadascom m e n numeros inteiros, obter uma unica sequencia ordenadacontendo todos os elementos das sequencias originais semrepeticao.Implementar a funcao que:

1. combina os vetores ordenados

Implementar os procedimentos que:

1. insere dados em um vetor

2. ordena um vetor, e

3. imprime o conteudo de um vetor

Page 30: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

30/57

Procedimentos IX

Page 31: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

31/57

Procedimentos X

Page 32: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

32/57

Procedimentos XI

Page 33: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

33/57

Procedimentos XII

Page 34: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

34/57

Procedimentos XIII

Page 35: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

35/57

Procedimentos XIV

Page 36: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

36/57

Procedimentos XV

Page 37: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

37/57

Procedimentos XVI

Page 38: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

38/57

Procedimentos XVII

Page 39: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

39/57

Procedimentos XVIII

Page 40: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

40/57

Procedimentos XIX

Page 41: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

41/57

Procedimentos XX

Page 42: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

42/57

Procedimentos XXI

Page 43: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

43/57

Procedimentos XXII

Page 44: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

44/57

Procedimentos XXIII

Page 45: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

45/57

Procedimentos XXIV

Page 46: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

46/57

Procedimentos XXV

Page 47: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

47/57

Procedimentos XXVI

Page 48: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

48/57

Procedimentos XXVII

Page 49: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

49/57

Procedimentos XXVIII

Page 50: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

50/57

Procedimentos XXIX

#de f i n e N 5vo i d Ordena ( i n t v e t [ ] , i n t n ) ;v o i d I n s e r e ( i n t v e t [ ] , i n t n ) ;i n t Merge ( i n t ve t1 [ ] , i n t ve t2 [ ] , i n t ve t3 [ ] ,

i n t n1 , i n t n2 ) ;v o i d P r i n t ( i n t v e t [ ] , i n t n ) ;

i n t main ( ){

i n t A[N] , B [N] , C[2∗N] , nC = 0 ;p r i n t f ("\n Dados Vetor 1" ) ;I n s e r e (A, N) ; Ordena (A, N) ; P r i n t (A, N) ;p r i n t f ("\n Dados Vetor 2 \n" ) ;I n s e r e (B, N) ; Ordena (B, N) ; P r i n t (B, N) ;nC = Merge (A, B, C , N, N) ;p r i n t f ("\n Mostrando vetor 3" ) ;P r i n t (C , nC ) ;r e t u r n 0 ;

}

Page 51: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

51/57

Procedimentos XXX

vo i d Ordena ( i n t v e t [ ] , i n t n ){

i n t i , j , tmp ;f o r ( i = 1 ; i < n ; i++)

f o r ( j = n−1; j >= i ; j−−)i f ( v e t [ j ] < ve t [ j −1]){

tmp = ve t [ j ] ;v e t [ j ] = ve t [ j −1] ;v e t [ j −1] = tmp ;

}}

Page 52: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

52/57

Procedimentos XXXI

vo i d I n s e r e ( i n t v e t [ ] , i n t n ){

i n t i ;p r i n t f ("\n Insere %d numero" , n ) ;f o r ( i = 0 ; i < n ; i++){

p r i n t f ("\n vet[ %d] = " , i ) ;s c a n f (" %d" , &ve t [ i ] ) ;

}}

Page 53: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

53/57

Procedimentos XXXII

vo i d P r i n t ( i n t v e t [ ] , i n t n ){

i n t i ;f o r ( i = 0 ; i < n ; i++)

p r i n t f ("\n vet[ %d] = %d" , i , v e t [ i ] ) ;}

Page 54: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

54/57

Procedimentos XXXIII

i n t Merge ( i n t ve t1 [ ] , i n t ve t2 [ ] , i n t ve t3 [ ] ,i n t n1 , i n t n2 )

{i n t i , j , k ;i = j = k = 0 ;wh i l e ( i < n1 && j < n2 ){

i f ( v e t1 [ i ] < ve t2 [ j ] )ve t3 [ k++] = vet1 [ i ++];

e l s e{

i f ( v e t1 [ i ] == vet2 [ j ] )i ++;

ve t3 [ k++] = vet2 [ j ++];}

}. . .

}

Page 55: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

55/57

Procedimentos XXXIV

i n t Merge ( i n t ve t1 [ ] , i n t ve t2 [ ] , i n t ve t3 [ ] ,i n t n1 , i n t n2 )

{. . .i f ( i > j )

f o r ( ; j < n2 ; j++)ve t3 [ k++] = vet2 [ j ] ;

e l s ef o r ( ; i < n1 ; i++)

ve t3 [ k++] = vet1 [ i ] ;

r e t u r n k ;}

Page 56: Guillermo C amara-Ch avez UFOP · 3/57 Sub-algoritmosII I Em geral, um programa e executado linearmente, uma linha ap os a outra, at e o m I Entretanto, quando s~ao utilizados sub-algoritmos,

56/57

FIM