4. Abstração procedimental

Até agora vimos como fazer cálculos, comunicar com o utilizador imprimindo informação no ecrã, guardar valores em memória e ler esses valores. Embora muito limitadas, estas ações já nos permitem construir programas bastante extensos.

O seguinte programa calcula notas finais de alguns alunos numa determinada disciplina. A nota é calculada a partir da nota do exame (com peso 75%) e da média das notas das três fases do projeto (com peso 25%).

A nota final é o valor arredondado do resultado anterior – para isso usamos cast para inteiro do valor, depois de lhe adicionar 0.5 (lembre-se que o cast para inteiro ignora a parte decimal). Exemplos:

Se compilarmos e executarmos este programa, o seguinte texto será escrito no standard output (o ecrã, por defeito):

Repare que no programa há uma série de (blocos) de ações que se repetem, tanto integralmente como com ligeiras variações. Se conseguíssemos abstrair essas ações que se repetem – dando-lhes um nome sugestivo, por exemplo – e usar esse nome em vez do conjunto de instruções, então o nosso programa poderia ficar mais compacto e legível.

Se comparar o método main anterior com o que se segue (mesmo ainda não entendendo algumas das suas instruções) verifica que este é mesmo mais compacto e legível. Pois bem, o efeito que tem a execução dos dois programas é exatamente o mesmo!

Usámos abstração, uma técnica fundamental na construção de programas, pois promove uma série de fatores de qualidade, como aprenderá mais tarde.

Abstração – ignorar certos pormenores acerca de um assunto, focando-nos somente no que é importante num dado contexto.

A abstração deve ser aplicada aos vários níveis do desenvolvimento dos programas, como irá aprender durante o seu curso.

 

Para já vamos estudar a

abstração procedimental – dar um nome a um conjunto de ações, abstraindo assim as instruções concretas que o implementam.

No programa, sempre que se quer executar esse conjunto de instruções refere-se o nome que o representa.

 

Obtemos um mecanismo muito poderoso para construção de programas quando lhe juntamos a

abstração de parâmetro – identificação de pontos de variação no conjunto de instruções, juntamente com a capacidade de indicar valores específicos para esses pontos aquando de cada execução

 

Como exemplos, no programa acima, temos notaFinal(...) e imprimeInformacao(...).

 

No Java chamamos métodos aos blocos de instruções que têm um nome. Podemos ainda distinguir os métodos que são procedimentos dos que são funções.

Mais adiante veremos como complementar a informação dos métodos para mais fácil compreensão e utilização.

 

 


Anterior: 3.6. Comentários, indentação e outros promotores da legibilidade

Seguinte: 4.1. Alguns métodos já nossos conhecidos