Module: Sub-rotinas: procedimentos e funções - 1


Problem

1/11

Sub-rotinas: Introdução

Theory Click to read/hide

Uma sub-rotina é uma parte separada de um programa que tem um nome e resolve sua própria tarefa separada. A sub-rotina está localizada no início do programa principal e pode ser iniciada (chamada) a partir do programa principal especificando o nome.

O uso de sub-rotinas permite evitar a duplicação de código se você precisar escrever o mesmo código em programas de lugares diferentes . 
As bibliotecas que são importadas para um programa (por exemplo, Sistema) consistem em rotinas que já foram compiladas por alguém. Os programadores não precisam pensar em quais algoritmos são implementados neles, eles apenas os aplicam, pensando apenas no que exatamente estão fazendo. Esta é uma grande economia de tempo. Não há necessidade de escrever um algoritmo que já foi escrito por outra pessoa.

Cada sub-rotina deve executar apenas uma tarefa, seja calcular algo, produzir alguns dados ou fazer outra coisa. 

As sub-rotinas, ou métodos, são de dois tipos -  funções (aquelas que retornam o resultado do trabalho) e procedimentos (aquelas que não retornam).

Vamos começar com o segundo tipo. Vamos tentar escrever um exemplo simples.
Suponha que precisamos exibir a string "Error" na tela sempre que pode ocorrer um erro no código por falha do usuário (por exemplo, quando ele insere dados incorretos).
Isso pode ser feito escrevendo a declaração
Console.WriteLine("Error"); Agora vamos imaginar que esta linha precisa ser inserida em vários lugares no programa. Claro, você pode simplesmente escrevê-lo em todos os lugares. Mas esta solução tem duas desvantagens.
1) esta string será armazenada na memória muitas vezes;
2) se quisermos alterar a saída em caso de erro, teremos que alterar esta linha ao longo do programa, o que é bastante inconveniente.

Para tais casos, métodos e procedimentos são necessários.
Um programa com um procedimento pode ser assim:

usando Sistema;
classProgram {
    static void PrintError() {
        Console.WriteLine("Erro");
    }
    static void Main() {
        PrintError();
    }
}

 

Um procedimento começa com a palavra void. Após a nome do procedimento  colchetes vazios são escritos.
Todas as instruções executadas em um procedimento são recuadas. 
O modificador Static  significa que o determinado campo, método ou propriedade não pertencerá a cada objeto da classe, mas a todos eles juntos.
Métodos e procedimentos são escritos antes do método principal Main().

Para se referir a um procedimento, no programa principal você precisa chamá-lo pelo nome e não se esqueça de colocar parênteses.
Você pode chamar um procedimento em um programa quantas vezes quiser.

Problem

Escreva um procedimento que imprima "Error. Divisão por zero! Dê o nome correto ao procedimento e escreva a saída nele.