80 likes | 220 Views
Subprogramas São blocos de execução internas a um programa. Cada bloco executa uma tarefa determinada. Absorvem a abstração de eventos. Subprogramas permitem: – o reuso de código. – economia de tempo e de memória. – facilitar a leitura do programa.
E N D
Subprogramas • São blocos de execução internas a um programa. • Cada bloco executa uma tarefa determinada. • Absorvem a abstração de eventos. • Subprogramas permitem: • – o reuso de código. • – economia de tempo e de memória. • – facilitar a leitura do programa. • (permite ver a estrutura lógica do programa, ocultando detalhes de codificação)
Subprogramas • são ativados pelo seu nome, • são ativados a partir de trechos do programa, inicio int X = seno ( 1 ); fim - podem ser de dois tipos, - funções: retorna um valor em seu nome - procedimentos: não retorna valor
Declaração de subprogramas < tipo retorno > Nome Subprograma ( <parâmetros formais> ) parâmetros formais: - são passados na declaração do subprograma. - conterá tipo e valor das variáveis recebidas. - são informados como uma declaração de variável. - são consideradas variáveis locais ao subprograma. realMedia_Notas ( realNota_1, realNota-2 ) Inicio realX; X ( Nota_1 + Nota_2 ) / 2; retorne ( X ); fim
Chamada de subprogramas Nome Subprograma ( <parâmetros reais> ) parâmetros reais: - são passados na chamada do subprograma. - contém os valores a serem informados ao subprograma. - são informados na ordem dos parâmetros formais. Inicio real N1 5,5; real N2 9,0; real Media_Final Media_Notas ( N1, N2 ); fim
Características dos subprogramas • Cada subprograma tem um único ponto de entrada. • A unidade chamadora é suspensa durante a execução da unidade chamada. • - existe um único subprograma em execução a cada momento • O controle sempre retorna a unidade chamadora quando acaba a execução da unidade chamada.
Exemplo real Media ( real N1, real N2 ) Inicio real X = ( N1 + N2 ) / 2; retorne ( X ); fim // Calcular medias dos alunos Inicio inicio real Notas [ 5, 2 ] = { {4.5, 7.0}, {6.0, 8.0}, {3.5, 9.0}, {8.5, 9.5}, {9.5, 10.0} } ; real Medias_Notas [ 5 ]; para i de 1 enquanto <= 5 faça Medias_Notas [ i ] Media ( Notas [ i, 1 ], Notas [ i, 2 ] ); fimpara fim fim
Exercício proposto: Faça uma função para calcular o determinante de uma matriz qualquer.
obrigado pela atenção, • façam exercícios