Programação Estruturada e Funções em C#


Este capítulo aprofunda os princípios da programação estruturada em C#, com ênfase na criação e uso de funções para modularização de código. Aborda desde fundamentos teóricos até técnicas avançadas de passagem de parâmetros, ilustradas com exemplos práticos e comparações detalhadas.

1. Paradigma Estruturado: Pilares Fundamentais

Baseia-se em três estruturas de controle para organização lógica do código:

Quadro 1 – Estrutura de uma Função em C#

1  <modificadores_de_acesso> <tipo_retorno> <nome_função> (<parâmetros>)
2  {
3      <código_da_função>
4      <retorno>
5  }
Componente Descrição Exemplo
Modificador de Acesso Define visibilidade (public, private, protected) public
Tipo de Retorno Especifica o tipo do resultado (int, string, void) double
Parâmetros Variáveis de entrada tipadas, separadas por vírgulas (int largura, int altura)
Corpo Lógica de processamento e operações return largura * altura;

2. Biblioteca Math: Funções Matemáticas Essenciais

Quadro 2 – Funções da Classe Math

Função Descrição Exemplo Resultado
Math.PI Constante π (pi) Math.PI 3.14159265358979
Math.Pow(b, e) Potência (be) Math.Pow(2, 8) 256
Math.Sqrt(x) Raiz quadrada Math.Sqrt(144) 12
Math.Sin(x) Seno (radianos) Math.Sin(Math.PI/2) 1
Math.Cos(x) Cosseno (radianos) Math.Cos(0) 1
Math.Tan(x) Tangente (radianos) Math.Tan(Math.PI/4) 1
Math.Max(a, b) Maior valor Math.Max(-5, 10) 10

3. Passagem de Parâmetros: Mecanismos Avançados

3.1 Por Valor (Padrão)

1  void AlterarCopia(int valor) {
2      valor += 50; // Modifica apenas a cópia local
3  }
4  
5  int numero = 100;
6  AlterarCopia(numero);
7  Console.WriteLine(numero); // 100 (inalterado)

3.2 Por Referência (ref)

1  void AlterarOriginal(ref int valor) {
2      valor += 50; // Modifica a variável externa
3  }
4  
5  int saldo = 200;
6  AlterarOriginal(ref saldo);
7  Console.WriteLine(saldo); // 250

Comparação Técnica

Aspecto Por Valor Por Referência
Alocação de Memória Cria cópia Trabalha com endereço
Desempenho Ideal para tipos simples Eficiente para objetos grandes
Segurança Protege dados originais Permite alterações globais

4. Caso Prático: Sistema de Cálculo Geométrico

1  public class CalculadoraGeometrica {
2      // Função modularizada
3      public static double CalcularAreaCirculo(double raio) {
4          return Math.PI * Math.Pow(raio, 2);
5      }
6  
7      // Chamada de função com retorno
8      public static void Main() {
9          double raio = 5.0;
10         double area = CalcularAreaCirculo(raio);
11         Console.WriteLine($"Área: {area:F2}"); // 78.54
12     }
13 }

Benefícios da Modularização

Veja os seguintes vídeos e acompanhe no seu computador para melhor entendimento: link1 e link2


5. Considerações Finais

Para dominar funções em C#:

A programação estruturada, quando bem aplicada, reduz complexidade e facilita a escalabilidade. Pratique a criação de bibliotecas personalizadas para operações frequentes em seus projetos.