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: 1050 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();
    }
  }
}



C# ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar a instrução switch do C#

Quantidade de visualizações: 26518 vezes
A instrução switch da linguagem C# é útil quando queremos testar condições nas quais o uso de if..else if..else poderia ser considerado excessivo ou não aplicável. Esta instrução recebe uma variável como argumento e testa seu valor por meio de cláusulas case.

Veja o exemplo:

static void Main(string[] args){
  Console.Write("Digite um número inteiro: ");
  int valor = int.Parse(Console.ReadLine());

  switch(valor){
    case 1:
      Console.WriteLine("Você digitou o valor 1");
      break;
    case 2:
      Console.WriteLine("Você digitou o valor 2");
      break;
    case 3:
      Console.WriteLine("Você digitou o valor 3");
      break;
    default:
      Console.WriteLine("Valor incorreto.");
      break;
  }

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


Note que a instrução switch possui uma cláusula default para os casos nos quais o valor da variável não estiver presente em nenhuma das cláusulas case. Observe também o uso da instrução break para evitar a avaliação das cláusulas seguintes àquela na qual o valor desejado foi encontrado.

Qualquer objeto, valor ou tipo referência que puder ser convertido em um valor inteiro, caractere, enumeração (enum) ou string pode ser usado como argumento para uma instrução switch. Veja:

static void Main(string[] args){
  Console.Write("Digite uma letra: ");
  char letra = Char.Parse(Console.ReadLine().ToLower());

  switch(letra){
    case "a":
      Console.WriteLine("Você digitou a letra a");
      break;
    case "b":
      Console.WriteLine("Você digitou a letra b");
      break;
    case "c":
      Console.WriteLine("Você digitou a letra c");
      break;
    default:
      Console.WriteLine("Letra inválida.");
      break;
  }

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

É possível haver cláusulas case vazias. Neste caso, o bloco de instruções é executado caso o valor da variável seja encontrado em qualquer uma das cláusulas. Veja:

static void Main(string[] args){
  Console.Write("Digite uma letra: ");
  char letra = Char.Parse(Console.ReadLine().ToLower());

  switch(letra){
    case "a":
    case "b":
      Console.WriteLine("Você digitou a ou b");
      break;
    case "c":
    case "d":
      Console.WriteLine("Você digitou c ou d");
      break;
    case "e":
      Console.WriteLine("Você digitou a letra e");
      break;
    default:
      Console.WriteLine("Letra inválida.");
      break;
  }

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



Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como declarar e inicializar uma matriz de Integer em Delphi

Quantidade de visualizações: 12367 vezes
Nesta dica eu mostrarei como declarar e inicializar uma matriz de inteiros (Integer) em Delphi. Mostrarei também como exibir o valor de cada elemento usando um laço For. Veja o código:

procedure TForm3.Button1Click(Sender: TObject);
var
  // vamos declarar uma matriz de 10 inteiros
  valores: array[1..10] of Integer;
  i: Integer;
begin
  // vamos inicializar a matriz com os números pares de 2 até 20
  for i := Low(valores) to High(valores) do
    begin
      valores[i] := i * 2;
    end;

  // vamos exibir os valores dos elementos
  for i := Low(valores) to High(valores) do
    begin
      Memo1.Lines.Add(IntToStr(valores[i]));
    end;
end;


Ao executar este código teremos o seguinte resultado:

2
4
6
8
10
12
14
16
18
20


Java ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string Java está toda em letras maiúsculas ou minúsculas usando as funções Character.isWhitespace() e Character.isUpperCase()

Quantidade de visualizações: 279 vezes
Nesta dica mostrarei como podemos combinar um laço e as funções Character.isWhitespace() e Character.isUpperCase() para testar se uma palavra, frase ou texto está toda em letras maiúsculas em Java.

Veja o código completo para o exemplo:

package estudos;

public class Estudos {

  public static void main(String[] args) {
    // Este exemplo mostra como verificar se uma
    // string está toda em letras maiúsculas
    String frase = "PROGRAMANDO EM JAVA";
    boolean maiusculas = true;

    for (int i = 0; i < frase.length(); i++) {
      Character caractere = frase.charAt(i);
      if (Character.isWhitespace(caractere)) {
        continue;
      }
      if (!Character.isUpperCase(caractere)) {
        maiusculas = false;
        break;
      }
    }

    if (maiusculas) {
      System.out.println("A string esta toda em letras maiusculas");
    }
    else{
      System.out.println("A string NAO esta toda em letras maiusculas");
    }
  }
}

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

A string está toda em letras maiúsculas


C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar a quantidade de dimensões de uma matriz em C# usando a propriedade Rank

Quantidade de visualizações: 8218 vezes
A propriedade Rank de um array do C# pode ser usada para obtermos a quantidade de dimensões de uma matriz (unidimensional, bidimensional, tridimensional, etc). Esta propriedade retorna um inteiro contendo a quantidade de dimensões.

Veja o código para o exemplo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // cria uma matriz de duas dimensões: quatro linhas
      // e duas colunas
      int[,] matriz = new int[4, 2];

      // obtém a quantidade de dimensões
      int dimen = matriz.Rank;
      Console.WriteLine("Este array possui " + dimen + " dimensões.");

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

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

Este array possui 2 dimensões.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercício Resolvido de Java - A classe Produto (construtores, métodos, getters e setters e encapsulamento)

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

Crie uma classe Produto para representar um produto do mundo real. Sua classe deverá conter os seguintes atributos e métodos:

1) Um campo de dados privado do tipo String chamado nome, que representará o nome do produto.

2) Um campo de dados privado do tipo double chamado precoCusto, que guardará o preço de custo do produto.

3) Um campo de dados privado do tipo double chamado precoVenda, que guardará o preço de venda do produto.

4) Um campo de dados privado do tipo double chamado margemLucro, que guardará a margem de lucro do produto.

5) Métodos públicos get() e set() para os atributos acima. Modifique o método setPrecoVenda() para que o preço de venda não seja inferior ao preço de compra. Caso isso aconteça, exiba uma mensagem alertando o usuário.

6) Crie um método chamado calcularMargemLucro() que calculará a margem de lucro do produto.

7) Crie um método chamado getMargemLucroPorcentagem() que retornará a margem de lucro como percentual.

Para finalizar, no método main() da classe de teste, crie um novo objeto da classe Produto, peça para o usuário informar os preços de custo e de venda e exiba a margem de lucro em moeda e em percentual. Sua saída deverá ser algo parecido com o mostrado na imagem abaixo:

Informe o preço de custo: 120
Informe o preço de venda: 195
Preço de custo: 120.0
Preço de Venda: 195.0
Margem de Lucro: 75.0
Margem de Lucro Percentual (%): 62.5
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

Produto.java:

package estudos;

public class Produto{
  private String nome; // nome do produto
  private double precoCusto; // preço de custo do produto
  private double precoVenda; // preço de venda do produto
  private double margemLucro; // margem de lucro do produto

  // obtém a margem de lucro
  public double getMargemLucro(){
    return margemLucro;
  }

  // define a margem de lucro
  public void setMargemLucro(double margemLucro){
    this.margemLucro = margemLucro;
  }

  // obtém o nome do produto
  public String getNome(){
    return nome;
  }

  // define o nome do produto
  public void setNome(String nome){
    this.nome = nome;
  }

  // obtém o preço de custo
  public double getPrecoCusto(){
    return precoCusto;
  }

  // define o preço de custo
  public void setPrecoCusto(double precoCusto){
    this.precoCusto = precoCusto;
  }

  // obtém o preço de venda
  public double getPrecoVenda(){
    return precoVenda;
  }

  // define o preço de venda
  public void setPrecoVenda(double precoVenda){
    // o preço de venda não pode ser menor que o preço de custo
    if(precoVenda < this.precoCusto){
      System.out.println("O preço de venda não pode ser inferior ao de custo");  
    }
    else{
      this.precoVenda = precoVenda;
    }
  }
  
  // calcula a margem de lucro
  public void calcularMargemLucro(){
    this.margemLucro = this.precoVenda - this.precoCusto;
  }
  
  // retorna a margem de lucro em porcentagem
  public double getMargemLucroPorcentagem(){
    return (this.margemLucro / this.precoCusto) * 100;
  }
}

Veja agora o método main() que nos permite testar a funcionalidade da classe Produto:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    
    // vamos criar um novo objeto da classe Produto
    Produto p = new Produto();
    
    // vamos ler o preço de custo
    System.out.print("Informe o preço de custo: ");
    p.setPrecoCusto(Double.parseDouble(entrada.nextLine()));
    
    // vamos ler o preço de venda
    System.out.print("Informe o preço de venda: ");
    p.setPrecoVenda(Double.parseDouble(entrada.nextLine()));
    
    // vamos calcular a margem de lucro
    p.calcularMargemLucro();
    
    // vamos exibir os resultados
    System.out.println("Preço de custo: " + p.getPrecoCusto());
    System.out.println("Preço de Venda: " + p.getPrecoVenda());
    System.out.println("Margem de Lucro: " + p.getMargemLucro());
    System.out.println("Margem de Lucro Percentual (%): " + 
      p.getMargemLucroPorcentagem());
  }
}



Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como criar, preencher e exibir os valores de uma matriz de duas dimensões de inteiros em Java - Revisado

Quantidade de visualizações: 12447 vezes
Nesta dica mostrarei como declarar e instanciar uma matriz (array) de duas dimensões de ints em Java. Note que temos duas linhas e cada linha possui duas colunas. Neste exemplo os valores da matriz já estão pré-definidos, mas você pode ver mais dicas nessa seção para aprender como solicitar que o usuário informe os valores de cada linha de coluna.

Veja o código completo:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    int valores[][] = {{1, 2, 3}, {4, 5, 6}};
     
    // varre todos os elementos do array e os
    // exibe usando linhas e colunas
    for(int lin = 0; lin < valores.length; lin++){
      for(int col = 0; col < valores[lin].length; col++){
        System.out.printf("%d  ", valores[lin][col]);
      }
      System.out.println();
    }     
 
    System.exit(0);
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

1  2  3  
4  5  6


Esta dica foi revisada e testada no Java 8.


CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo

Exemplos de uso da propriedade background do CSS para definições cores e imagens de fundo em elementos HTML

Quantidade de visualizações: 9152 vezes
Nesta dica mostrarei alguns exemplos muito úteis da propriedade background do CSS para definirmos cores e imagens de fundo para a página HTML e também para os elementos HTML:

Exemplo 1: Como definir a cor de fundo para a página HTML usando a propriedade background:

body {background: #0099CC}

Exemplo 2: Como definir a cor de fundo e a imagem de fundo para a página HTML usando as propriedades background e url:

body {background: #0099CC url(fundo.gif)}

Exemplo 3: Como definir a cor de fundo, a imagem de fundo para a página HTML e a forma de repetição usando as propriedade background, url e repeat-x:

body {background: #0099CC url(fundo.gif) 
      repeat-x}

Exemplo 4: Como definir a cor de fundo, a imagem de fundo para a página HTML, a forma de repetição e como fixar a imagem de fundo usando as propriedade background, url, repeat-x e fixed:

body {background: #0099CC url(fundo.gif) repeat-x 
      fixed}

Exemplo 5: Como definir a cor de fundo, a imagem de fundo para a página HTML, sem repetição, fixa e posições inicias usando as propriedade background, url, repeat-x e fixed:

body {background: #0099CC url(fundo.gif) no-repeat 
      fixed 40 60}



PHP ::: Dicas & Truques ::: Variáveis e Constantes

PHP para iniciantes - Como testar se uma variável é do tipo string usando a função is_string() do PHP

Quantidade de visualizações: 11188 vezes
Em algumas situações podemos querer saber se o tipo de uma variável é string, ou seja, contém uma palavra, frase ou trecho de texto.

Este teste pode ser feito com o auxílio da função is_string(). Esta função retorna um valor true ou false dependendendo do tipo de variável sendo testada.

Veja o código PHP para este exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $nome = 'Osmar J. Silva';  
   
  if(is_string($nome)){
    echo 'A variável $nome é do tipo string';
  }
  else{
    echo 'A variável $nome não é do tipo string';
  }
?>
 
</body>
</html>

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

A variável $nome é do tipo string


JavaScript ::: Dicas & Truques ::: Tratamento de Erros

Como retornar o rastreio da pilha de um erro de tempo de execução em JavaScript usando a propriedade stack do objeto Error

Quantidade de visualizações: 7301 vezes
A propriedade stack do objeto Error da linguagem JavaScript pode ser usada quando queremos obter mais informações sobre as causas do aparecimento de um erro em tempo de execução. Dessa forma nós conseguimos rastrear o erro até a sua origem.

Veja um trecho de código JavaScript completo demonstrando o seu uso:

<!doctype html>
<html>
<head>
  <title>Estudos JavaScript</title>
</head>
<body>

<script language="javascript">
  // o trecho de código a seguir vai provocar
  // um erro de tempo de execução em JavaScript
  try{
    // y não foi definido
    var x = y;
  }
  catch(e){
    // mostra a pilha de rastreio do erro
    document.write("Rastreio da pilha: " + e.stack);
  } 
</script>
  
</body>
</html>

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

Rastreio da pilha: ReferenceError: y is not defined at http://localhost/estudos/estudos_js.html:13:13

Carregar Publicações Anteriores


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 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
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

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