Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Como converter de binário para decimal em C# usando o laço for - Exercícios Resolvidos de C#

Quantidade de visualizações: 420 vezes
Pergunta/Tarefa:

Escreva um programa C# que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for.

Sua saída deverá ser parecida com:

Informe um número binário: 1100
A representação decimal do valor binário 1100 é 12
Resposta/Solução:

Veja a resolução comentada deste exercício usando C#:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // vamos ler o número binário (como uma String)
      Console.Write("Informe um número binário: ");
      String binario = Console.ReadLine();
      int n_decimal = 0; // guarda a representação decimal

      // vamos percorrer todos os dígitos do número binário começando do início
      int expoente = binario.Length - 1;
      for (int i = 0; i < binario.Length; i++) {
        // converte o caractere atual para inteiro
        int temp = (int)Char.GetNumericValue(binario[i]);
        n_decimal = n_decimal + (temp * (int)Math.Pow(2, expoente));
        // reduz o expoente em 1
        expoente = expoente - 1;
      }

      // agora mostramos o resultado
      Console.WriteLine("A representação decimal do valor binário "
        + binario + " é " + n_decimal);
     
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Windows Forms ::: TextBox

C# Windows Forms Avançado - Como rolar as linhas de um TextBox para cima uma de cada vez usando a API do Windows

Quantidade de visualizações: 7542 vezes
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEUP para seu parâmetro wParam. O valor do parâmetro lParam é zero.

Veja um trecho de código que rola para cima o conteúdo de um TextBox uma linha de cada vez. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem.

Comece adicionando a linha:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System.Runtime.InteropServices;

na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

[DllImport("user32.dll", EntryPoint = "SendMessage", 
  CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, 
  IntPtr wParam, IntPtr lParam);

Finalmente coloque o código abaixo no evento Click de um botão:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // antes de executar este exemplo certifique-se de que
  // a propriedade Multiline do TextBox esteja definida
  // como true e a propriedade ScrollBars contenha o valor
  // Vertical ou Both
  textBox1.Multiline = true;
  textBox1.ScrollBars = ScrollBars.Vertical;
    
  // constante para a mensagem WM_VSCROLL
  const uint WM_VSCROLL = 0x115;
  // constante para o parâmetro wParam
  const int SB_LINEUP = 0;
  
  // handle para a caixa de texto
  IntPtr handle = textBox1.Handle;
  IntPtr wParam = (IntPtr)SB_LINEUP;
  IntPtr lParam = IntPtr.Zero;
  
  // vamos fazer com que o TextBox role uma linha para cima
  SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}



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

Como percorrer os elementos de uma ArrayList do C# usando um objeto da interface IEnumerator

Quantidade de visualizações: 8521 vezes
Um objeto da interface IEnumerator (no namespace System.Collections) pode ser usado para percorrer os elementos de uma coleção não-genérica, como é o caso da classe ArrayList. Podemos usar um enumerador para acessar os itens da lista individualmente, mas estes não poderão sofrer modificações por meio do enumerador.

Um enumerador para uma ArrayList é obtido por meio do método GetEnumerator(). Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

// vamos obter um enumerador para a lista
IEnumerator enumerador = lista.GetEnumerator();

Observe agora um trecho de código no qual temos uma lista contendo 5 inteiros. Note o uso de um IEnumerator para percorrer os elementos e exibir o valor contido no elemento atual:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

static void Main(string[] args){
  // não se esqueça
  // using System.Collections;

  // Cria o ArrayList
  ArrayList lista = new ArrayList();

  // Adiciona 5 inteiros
  lista.Add(65);
  lista.Add(2);
  lista.Add(13);
  lista.Add(97);
  lista.Add(4);

  // vamos obter um enumerador para a lista
  IEnumerator enumerador = lista.GetEnumerator();

  // vamos percorrer a lista usando o enumerador
  while(enumerador.MoveNext()){
    Console.WriteLine(enumerador.Current); 
  }

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

Para saber mais sobre os enumeradores, consulte minhas dicas sobre a interface IEnumerator.


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

Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da classe DateTime

Quantidade de visualizações: 26773 vezes
Em algumas situações nossos códigos precisam adicionar ou subtrair dias de uma data. Isso pode ser feito com o auxílio do método AddDays() da estrutura DateTime. Este método recebe o número de dias a serem acrescidos ou substraídos da data representada pelo DateTime atual e retorna um novo DateTime com as devidas modificações.

Veja um trecho de código no qual adicionamos 5 dias à data atual:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

static void Main(string[] args){
  // vamos obter a data de hoje
  DateTime hoje = DateTime.Now;

  // exibe a data de hoje
  System.Console.WriteLine("Hoje é {0:d}", hoje);

  // vamos adicionar 5 dias à data de hoje
  DateTime data_futura = hoje.AddDays(5);

  // exibe a data daqui a cinco dias
  System.Console.WriteLine("Daqui a 5 dias será {0:d}", data_futura);

  // pausa o programa
  System.Console.Write("\nPressione qualquer tecla para sair...");
  Console.ReadKey();
}

É possível também subtrair dias. Para isso só precisamos fornecer um valor negativo para o método AddDays(). Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

static void Main(string[] args){
  // vamos obter a data de hoje
  DateTime hoje = DateTime.Now;

  // exibe a data de hoje
  System.Console.WriteLine("Hoje é {0:d}", hoje);

  // vamos subtrair 7 dias da data de hoje
  DateTime data_passado = hoje.AddDays(-7);

  // exibe a data sete dias atrás
  System.Console.WriteLine("Há 7 dias era {0:d}", data_passado);

  // pausa o programa
  System.Console.Write("\nPressione qualquer tecla para sair...");
  Console.ReadKey();
}

Lembre-se, contudo, que o método AddDays() pode disparar uma exceção do tipo ArgumentOutOfRangeException se o DateTime resultante for menor que MinValue ou maior que MaxValue. MinValue e MaxValue são os menor e maior valores que um DateTime pode representar.


C# ::: Datas e Horas ::: DateTime

Como usar o método IsLeapYear() da estrutura DateTime do C# para verificar se um determinado ano é bissexto

Quantidade de visualizações: 7454 vezes
Podemos verificar se um determinando ano é bissexto usando o método IsLeapYear() da estrutura DateTime. Este método recebe um valor inteiro representando o ano com 4 dígitos e retorna um valor true ou false. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

static void Main(string[] args){
  // vamos verificar se o ano 2008
  // é bissexto
  int ano = 2008;

  if(DateTime.IsLeapYear(ano))
    Console.WriteLine("O ano informado é bissexto");
  else
    Console.WriteLine("O ano informado NÃO é bissexto");

  // pausa o programa
  Console.ReadKey();
}

Este método pode disparar uma exceção ArgumentOutOfRangeException se o valor do ano for menor que 1 ou maior que 9999.


C# ::: Coleções (Collections) ::: List<T>

Como percorrer os itens de uma List do C# usando o laço for

Quantidade de visualizações: 518 vezes
Em várias ocasiões nós precisamos percorrer os elementos de uma lista do C#. Para isso nós podemos usar o laço for e, dentro deste laço, acessar os elementos da lista individualmente usando o operador [] e o índice desejado.

Veja o código C# completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;
using System.Collections.Generic;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      List<int> valores = new List<int>();

      // insere valores na lista
      valores.Add(4);
      valores.Add(2);
      valores.Add(87);
      valores.Add(23);
      valores.Add(100);

      // agora vamos usar o laço for para percorrer os
      // itens da lista
      Console.WriteLine("Os itens da lista são:");
      for(int i = 0; i < valores.Count; i++) {
        Console.Write(valores[i] + ", ");
      }

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

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

Os itens da lista são:
4, 2, 87, 23, 100,


C# ::: Windows Forms ::: TextBox

Como contar as palavras em um TextBox de múltiplas linhas do C# Windows Forms

Quantidade de visualizações: 13910 vezes
Em algumas situações nós precisamos retornar a quantidade de palavras digitadas em um campo TextBox de múltiplas linhas do C# Windows Forms. O trecho de código abaixo mostra como isso pode ser feito.

Note como usei os métodos da classe String para alcançar o objetivo. Veja o código C# completo disparado a partir do clique de um botão Button:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

/*
 Este exemplo mostra como obter a quantidade de
 palavras em um TextBox. 

 Veja que usamos a técnica de contar as palavras
 contidas em um array após retirar as quebras de
 linhas e espaços duplicados na string. 
*/
    
private void button1_Click(object sender, EventArgs e){
  // Obtém o texto da caixa de texto
  string texto = textBox1.Text.Trim();

  // Remove as quebras de linhas substituindo-as por
  // espaços
  texto = texto.Replace(Environment.NewLine, " ");

  // remove os espaços em excesso
  while(texto.IndexOf("  ") >= 0){
    texto = texto.Replace("  ", " ");
  }

  // Obtém um array de palavras
  string[] palavras = texto.Split(" ");

  // Obtém a quantidade de palavras
  int quant = palavras.Length;

  // Exibe o resultado
  MessageBox.Show("O TextBox contém " + quant + 
    " palavras.");
}



C# ::: Coleções (Collections) ::: List<T>

Como retornar a quantidade de elementos que podem ser armazenados na List do C# sem redimensioná-la

Quantidade de visualizações: 7377 vezes
O objeto List do C# possui uma propriedade Capacity que nos retorna a quantidade de elementos que podem ser inseridos na lista antes que ela tenha que redimensionar o seu array interno. Quando o tamanho da lista excede essa capacidade, automaticamente o array interno é redimensionado de forma a acomodar esses novos itens.

Nessa dica eu mostro como podemos retornar o valor dessa propriedade. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;
using System.Collections.Generic;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      List<int> valores = new List<int>();

      // insere valores na lista
      valores.Add(4);
      valores.Add(2);
      valores.Add(87);
      valores.Add(23);
      valores.Add(100);

      // obtém a capacidade da lista
      // NOTA: Capacity é o número de elementos que a lista
      // pode armazenar antes de ser preciso redimensioná-la.
      int capac = valores.Capacity;
      Console.WriteLine("A capacidade da lista é de "
         + capac + " elementos.");

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

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

A capacidade da lista é de 8 elementos.


C# ::: Dicas & Truques ::: Strings e Caracteres

Como embaralhar as palavras em uma frase ou texto usando C#

Quantidade de visualizações: 12211 vezes
Nesta dica mostrarei como podemos usar a linguagem C# para embaralhar, ou seja, exibir as palavras de uma string em ordem aleatória.

Veja o código C# completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "Gosto de VB.NET, Java e C#";
      // mostra a frase na ordem original
      Console.WriteLine("Ordem original: " + frase);

      // converte em um vetor de palavras
      string[] frase2 = frase.Split(' ');

      // vamos embaralhar 5 vezes
      Embaralhar(ref frase2, 5);

      // junta as partes da string novamente
      frase = String.Join(" ", frase2);

      // exibe o resultado
      Console.WriteLine("Embaralhada: " + frase);

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

    static void Embaralhar(ref String[] array, int vezes) {
      Random rand = new Random(DateTime.Now.Millisecond);

      for (int i = 1; i <= vezes; i++) {
        for (int x = 1; x <= array.Length; x++) {
          Trocar(ref array[rand.Next(0, array.Length)],
            ref array[rand.Next(0, array.Length)]);
        }
      }
    }

    static void Trocar(ref String arg1, ref String arg2) {
      String strTemp = arg1;
      arg1 = arg2;
      arg2 = strTemp;
    }
  }
}

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

Ordem original: Gosto de VB.NET, Java e C#
Embaralhada: VB.NET, C# Java de e Gosto


Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

O aço no edifício

A estrutura de estabilização da moldura estrutural da edificação da figura abaixo, que se caracteriza pelo fato de não possuir amarrações diagonais nem paredes de cisalhamento para assegurar a estabilidade lateral, pode ser chamada de:



A) Estrutura contraventada.

B) Moldura amarrada excentricamente.

C) Moldura resistente a momentos.

D) Paredes de cisalhamento.

E) Nenhuma das alternativas anteriores.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Turbinas hidráulicas

Turbinas hidráulicas têm como principal aplicação a geração de energia, transformando energia cinética da água em energia mecânica, que será posteriormente convertida em energia elétrica.

Sobre as turbinas hidráulicas, marque a alternativa correta:

A) Uma turbina do tipo Francis apresenta uma baixa eficiência e pode ser operada apenas em baixas vazões.

B) Uma turbina do tipo Francis tem eficiência relativamente baixa, porém tem ampla faixa de operação.

C) A turbina do tipo Pelton tem um conjunto de pás fixas que podem ajustar o ângulo de entrada da água.

D) A turbina do tipo Kaplan foi adaptada a partir da turbina de hélice e pode ser operada em grandes vazões.

E) Uma turbina do tipo Pelton tem suas pás em formato de conchas e são operadas em grandes vazões.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

(TRE-MT - Analista Judiciário - Engenharia Civil) Em hidráulica, no que diz respeito à classificação dos escoamentos quanto à direção na trejetória das partículas, o escoamento pode ser

A) forçado.

B) laminar.

C) permanente.

D) livre.

E) transitório.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Principais Normas Brasileiras para Concreto Armado

A ABNT é o órgão brasileiro responsável pela normatização técnica do Brasil, o qual fornece insumos para o desenvolvimento tecnológico, por meio de normativas que buscam a qualidade em qualquer tipo de trabalho.

Em se tratando da ABNT, das NBRs e do uso do concreto, assinale a alternativa que apresenta corretamente qual é a NBR que se refere ao procedimento para projeto de estruturas de concreto armado:

A) NBR 6123.

B) NBR 6120.

C) NBR 6118.

D) NBR 7187.

E) NBR 8681.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Fases de uma obra

Ao documento em que se registram, pela ordem de sucessão em que são executados, os serviços necessários à realização da construção e os respectivos prazos, dá-se o nome de:

A) Diário de obra.

B) Cronograma físico-financeiro.

C) Gráfico de Gantt.

D) Planejamento.

E) Cronograma físico.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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á 29 usuários muito felizes estudando em nosso site.