Você está aqui: C# ::: Dicas & Truques ::: Recursão (Recursividade)

Como somar os elementos de um vetor em C# usando uma função recursiva - Linguagem C# para iniciantes

Quantidade de visualizações: 282 vezes
Em algumas ocasiões ficamos imaginando o que pode ser feito com os métodos e funções recursivas. A resposta é: praticamente tudo.

Veja abaixo um programa C# completo no qual eu mostro como escrever uma função recursiva que recebe um array e mostra a soma de seus elementos (lembre-se de que um array é o mesmo que vetor, ou seja, uma matriz de uma linha e várias colunas):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // vamos declarar um array de 10 elementos
      int[] valores = new int[10];
      int soma;

      // vamos pedir ao usuário para informar os valores para o vetor
      for (int i = 0; i < 10; i++) {
        Console.Write("Informe o valor do elemento " + i + ": ");
        valores[i] = Int32.Parse(Console.ReadLine());
      }

      // vamos efetuar uma chamada à função recursiva somar();
      // nota que estamos passando o índice inicial, o tamanho do
      // array e o array em si
      soma = Somar(0, valores);
      Console.WriteLine("\nA soma dos elementos é: " + soma);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }

    // função recursiva para somar todos os elementos de um array
    public static int Somar(int indice, int[] vetor) {
      // o caso base...hora de encerrar a recursividade
      if (indice == (vetor.Length - 1)) {
        return vetor[indice];
      }
      else {
        // ainda não é o caso base? vamos fazer uma nova chamada à função somar()
        return vetor[indice] + Somar(indice + 1, vetor);
      }
    }
  }
}

Ao executarmos este código C# nós teremos o seguinte resultado:

Informe o valor do elemento 0: 7
Informe o valor do elemento 1: 3
Informe o valor do elemento 2: 1
Informe o valor do elemento 3: 3
Informe o valor do elemento 4: 8
Informe o valor do elemento 5: 9
Informe o valor do elemento 6: 4
Informe o valor do elemento 7: 3
Informe o valor do elemento 8: 2
Informe o valor do elemento 9: 6

A soma dos elementos é: 46

Link para compartilhar na Internet ou com seus amigos:

C# ::: Dicas & Truques ::: Tipos de Dados

C# para iniciantes - Como usar o tipo decimal da linguagem C#

Quantidade de visualizações: 16673 vezes
O tipo decimal (um apelido para o tipo System.Decimal
do .NET) é um tipo numérico com precisão de 128 bits, o que o torna apropriado para cálculos enormes e de grande precisão, tais como cálculos financeiros.

A faixa aproximada deste tipo é: (mais ou menos)1.0 x 10e&#8722;28 até (mais ou menos)7.9 x 10e28 com precisão de 28 ou 29 dígitos significantes. Em C# 2.0, o tipo decimal ocupa 12 bytes, como pode ser observado no trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Console.WriteLine("O tipo decimal ocupa " + sizeof(decimal) +
  " bytes");

É preciso ter muito cuidado ao atribuir um literal de ponto-flutuante à uma variável do tipo decimal. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

decimal valor = 34.50;

Este trecho de código não compila. Veja o erro reportado:

Literal of type double cannot be implicitly converted 
to type 'decimal'; use an 'M' suffix to create a 
literal of this type


Esta mensagem nos diz que não é possível converter implicitamente um tipo double para um tipo decimal. Para solucionar isso, basta usar a letra "M" ou "m" após o valor literal. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

decimal valor = 34.50m;

Para finalizar, se estivermos atribuindo um literal inteiro à uma variável do tipo decimal, o uso do "M" ou "m" é dispensado. O trecho de código abaixo compila sem quaisquer problemas:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

decimal valor = 34;



C# ::: Dicas & Truques ::: Data e Hora

Como exibir horas no formato curto em C# usando o sinalizador {0:t} da função Format() da classe String

Quantidade de visualizações: 55 vezes
Nesta dica mostrarei como podemos usar o sinalizador {0:t} da função Format() da classe String da linguagem C# para mostrar a hora atual no formato curto, ou seja, horas e minutos.

Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // hora atual no formato curto
      DateTime agora = DateTime.Now;
      
      // mostramos o resultado
      System.Console.WriteLine("Agora são: {0:t}", agora);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Agora são: 09:37

Veja que aqui eu formatei as horas diretamente na saída do programa. Se quisermos, por exemplo, guardar a formatação em uma variável, podemos fazê-lo da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // hora atual no formato curto
      DateTime agora = DateTime.Now;

      // guardamos o resultado em uma variável
      string horasStr = String.Format("{0:t}", agora);

      // mostramos o resultado
      System.Console.WriteLine("Agora são: " + horasStr);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}



C# ::: Coleções (Collections) ::: ArrayList

Como criar um ArrayList de inteiros no C# e percorrer os elementos usando o laço foreach

Quantidade de visualizações: 12778 vezes
Nesta dica mostrarei um código C# direcionado aos programadores que querem aprender a usar a classe ArrayList em seus programas. Trata-se da criação de uma ArrayList de números inteiros.

Depois de criada a lista nós vamos adicionar alguns elementos e depois vamos usar o laço foreach para exibir os valores adicionados.

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Collections;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // Cria o ArrayList
      ArrayList lista = new ArrayList();

      // Adiciona 5 inteiros
      lista.Add(30);
      lista.Add(2);
      lista.Add(98);
      lista.Add(1);
      lista.Add(7);

      // Percorre os elementos da ArrayList
      Console.WriteLine("Os elementos no ArrayList são:\n");
      foreach (int valor in lista) {
        Console.Write("{0} ", valor);
      }

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Os elementos no ArrayList são:

30 2 98 1 7


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 71 usuários muito felizes estudando em nosso site.