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.
Baseia-se em três estruturas de controle para organização lógica do código:
if/else, switch).for, while).
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; |
| 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 |
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)
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
| 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 |
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 }
Veja os seguintes vídeos e acompanhe no seu computador para melhor entendimento: link1 e link2
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.