Programação de Computadores
“Subprogramação”
Parte 1
Considere o programa a seguir:
1 6 11 16 21 26 31 36 41 46 51 56 61
|----|----|----|----|----|----|----|----|----|----|----|----|
program ex1 implicit none real a, b, c read *, a, b c = a * b / 2 print *, 'a vale: ', a print *, 'b vale: ', b print *, 'a * b / 2 vale: ', c a = a / 2 b = b / 2 c = a * b / 2 print *, 'a vale: ', a print *, 'b vale: ', b print *, 'a * b / 2 vale: ', c end
É muito comum que vários trechos de código se repitam ao longo de um programa. Como fazer para “economizar código” evitando a repetição?
Resposta: Subprogramação
Vantagens:
Defeitos podem ser facilmente corrigidos: Se houver um defeito em um trecho de código que se repete várias vezes, teremos que corrigir o defeito em vários locais diferentes do código. Usando subprogramação, corrigimos o defeito apenas uma vez (em um único local).
Defeitos podem ser evitados: a replicação de trechos de código idênticos pode levar a modificações incompletas. Com o uso de subprogramação, as modificações são refletidas em todas as partes necessárias.
O código fica mais legível: com a subprogramação podemos dar nomes mais intuitivos a trechos de código (é como se criássemos nossos próprios comandos).
Ajuda a resolver os problemas: estratégia de “dividir para conquistar” nos permite lidar melhor com a complexidade de programas grandes.
1 6 11 16 21 26 31 36 41 46 51 56 61
|----|----|----|----|----|----|----|----|----|----|----|----|
program ex1 implicit none real a, b
read *, a, b call mostra(a, b) a = a / 2 b = b / 2 call mostra(a, b) end
subroutine mostra(a, b) implicit none real a, b, c