Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

C# ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators)

Exercícios Resolvidos de C# - Como converter de decimal para binário usando os operadores de bits em C#

Quantidade de visualizações: 1238 vezes
Este desafio de programação faz parte da nossa lista de exercícios resolvidos de C#.

Pergunta/Tarefa:

Escreva um programa C# para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits.

Sua saída deverá ser parecida com:

Informe um número decimal: 9
O número binário é: 00000000000000000000000000001001
Resposta/Solução:

Veja a resolução completa para o exercício em C#, comentada linha a linha:

using System;

namespace Estudos {
  class Principal {
    // vamos definir o tamanho do vetor para guardar
    // os dígitos do número binário
    const int TAM_INT = sizeof(int) * 8;

    static void Main(string[] args) {
      // variáveis para ajudar a resolver o problema
      int dec, indice;

      // vetor para guardar o número binário
      int[] binario = new int[TAM_INT];

      // vamos pedir para o usuário informar um decimal inteiro
      Console.Write("Informe um número decimal: ");
      dec = int.Parse(Console.ReadLine());

      // ajustamos índice para o último elemento do vetor
      indice = TAM_INT - 1;

      // enquanto índice for maior ou igual a 0
      while (indice >= 0) {
        // vamos guardar o bit menos significativo LSB
        binario[indice] = dec & 1;

        // diminuímos o índice
        indice--;

        // desloca bits para a direita uma posição
        dec = dec >> 1;
      }

      // agora vamos exibir o número binário
      Console.Write("O número binário é: ");
      for (int i = 0; i < TAM_INT; i++) {
        Console.Write(binario[i]);
      }

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



HTML5 ::: HTML5 + JavaScript ::: Canvas

Programação gráfica para iniciantes - Como desenhar círculos com ou sem preenchimento usando o método arc() do objeto Canvas do HTML5

Quantidade de visualizações: 7244 vezes
Podemos usar o método arc() do objeto Canvas do HTML5 para desenhar círculos com ou sem prenchimento. Veja nos exemplos abaixo como isso pode ser feito. Primeiro um círculo sem preenchimento:

<!doctype html>
<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>
 
<body>
 
<Canvas id="canvas1" width="500" height="350"></Canvas>
 
<script type="text/javascript">
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
     
  // vamos desenhar um círculo sem preenchimento com raio de 80
  contexto.beginPath(); // início um novo caminho
  // o círculo começa no x = 100, y = 100, começa no ângulo 0
  // e vai até o ângulo 360 (as medidas são em radianos, não em graus)
  contexto.arc(100, 100, 80, 0, 2 * Math.PI, false);
  contexto.lineWidth = 2; // largura da linha
  contexto.strokeStyle = '#990000'; // cor da linha
  contexto.stroke(); // realiza o desenho    
</script>
 
</body>
 
</html>

Ao abrir esta página HTML nós teremos o seguinte resultado:



E agora um círculo preenchido:

<!doctype html>
<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>
 
<body>
 
<Canvas id="canvas1" width="500" height="350"></Canvas>
 
<script type="text/javascript">
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
     
  // vamos desenhar um círculo sem preenchimento com raio de 80
  contexto.beginPath(); // início um novo caminho
  // o círculo começa no x = 100, y = 100, começa no ângulo 0
  // e vai até o ângulo 360 (as medidas são em radianos, não em graus)
  contexto.arc(100, 100, 80, 0, 2 * Math.PI, false);
 
  // vamos preencher o círculo
  contexto.fillStyle = "#CCCCCC"; // cor do preenchimento
  contexto.fill(); // preenche de fato
 
  contexto.lineWidth = 2; // largura da linha
  contexto.strokeStyle = '#990000'; // cor da linha
  contexto.stroke(); // realiza o desenho    
</script>
 
</body>
</html>

Ao abrir esta página HTML nós teremos o seguinte resultado:




Java ::: Coleções (Collections) ::: ArrayList

Como obter o índice da primeira ocorrência de um elemento no ArrayList do Java usando o método indexOf()

Quantidade de visualizações: 12731 vezes
Este exemplo mostra como usar o método indexOf() para obter o índice da primeira ocorrência de um item na ArrayList. Se o ítem não for encontrado, o valor retornado é -1.

Veja o código completo para a dica:

package arquivodecodigos;

import java.util.ArrayList;
 
public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();
     
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");
    nomes.add("Maria");    
     
    // obtém o índice da primeira ocorrência do
    // nome "Maria"
    int indice = nomes.indexOf("Maria");
 
    System.out.println("O índice do nome pesquisado é: " 
       + indice); 
 
    System.exit(0);
  }
}

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

O índice do nome pesquisado é: 1


Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar ponteiros na linguagem Delphi - Aprenda a usar ponteiros em Delphi

Quantidade de visualizações: 24360 vezes
O Delphi, assim como C e C++ permite o uso de ponteiros, uma das ferramentas mais poderosas de programação e presente em códigos mais elaborados, tais como estruturas de dados.

Para entender ponteiros, é preciso lembrarmos do conceito de variáveis. Uma variável, em determinados momentos, possui várias propriedades ou atributos, a saber, um nome, um valor e o tipo de dados que poderá ser armazenado na mesma. Uma variável possui também um endereço na memória do computador e o seu nome não é nada mais que um apelido para tal endereço. Ponteiros também possuem um nome, um valor e um tipo de dados. A diferença é que ponteiros, em vez de guardar valores tais como inteiros, strings, caracteres, etc, guardam o endereço de outras variáveis (ou o endereço de outros ponteiros, o que resulta em um ponteiro para um ponteiro). Assim, um ponteiro é uma forma indireta de se acessar o conteúdo de uma outra variável.

Veja, por exemplo, as seguintes declarações de variáveis:

var
  valor: integer;
  pvalor: ^integer;

Aqui nós temos uma variável valor do tipo Integer e uma variável pvalor que é um ponteiro para um Integer. Veja agora como atribuir valores a estas variáveis:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: integer;
  pvalor: ^integer;
begin
  // atribui um valor à variável valor
  valor := 20;

  // vamos atribuir à pvalor o endereço de valor
  pvalor := @valor;

  // vamos usar o ponteiro pvalor para alterar o
  // valor de valor
  pvalor^ := 30;

  // vamos obter o novo valor da variável valor
  ShowMessage('Valor de valor: ' + IntToStr(valor));
end;

Veja que usamos o operador @ para obtermos o endereço da variável valor e guardá-lo no ponteiro pvalor. Em seguida usamos o símbolo ^ para acessar o valor da variável para a qual o ponteiro está apontando. Este processo é chamado de desreferenciamento (dereferencing). Em resumo, o símbolo ^ pode ser usado de duas formas: na frente de um tipo de dados, para indicar que a variável está sendo declarada como ponteiro e após o nome de uma variável do tipo ponteiro para indicar que queremos acessar o valor da variável para a qual o ponteiro está apontando atualmente e não o valor do ponteiro, que seria simplesmente um valor inteiro representando um endereço de memória.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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


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 Apenas R$ 19,90


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