Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico

Como transformar dias em anos, meses, semanas e dias em C# - Exercícios Resolvidos de C#

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

Escreva um programa C# que pede para o usuário informar o número de dias e faça a conversão para anos, meses, semanas e dias. O número informado pelo usuário deve ser um inteiro positivo. Não há necessidade de considerar anos bissextos nem validar a entrada do usuário.

Sua saída deverá ser parecida com:

Informe o número de dias: 500
Você informou 500 dias

Isso equivale a:
1 anos
4 meses
2 semanas
1 dias
Resposta/Solução:

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

----------------------------------------------------------------------
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) {
      // variáveis usadas na resolução do problema
      int total_dias, anos, meses, semanas, dias;

      // vamos ler a quantidade e dias
      Console.Write("Informe o número de dias: ");
      total_dias = Int32.Parse(Console.ReadLine());
      dias = total_dias;

      // vamos obter a quantidade de anos
      anos = dias / 365;
      dias = dias % 365;
      // agora a quantidade de meses
      meses = dias / 30;
      dias = dias % 30;
      // agora a quantidade de semanas
      semanas = dias / 7;
      // e finalmente os dias
      dias = dias % 7;

      // e mostramos os resultados
      Console.WriteLine("Você informou " + total_dias + " dias\n");
      Console.WriteLine("Isso equivale a:");
      Console.WriteLine(anos + " anos");
      Console.WriteLine(meses + " meses");
      Console.WriteLine(semanas + " semanas");
      Console.WriteLine(dias + " dias");

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


Link para compartilhar na Internet ou com seus amigos:

Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca

Estruturas de dados em Java - Como pesquisar um nó em uma árvore binária de busca usando um método recursivo usando Java

Quantidade de visualizações: 2146 vezes
Nesta dica mostraremos um exemplo completo de como pesquisar um valor em uma árvore binária de busca em Java. Note que o exemplo usa apenas inteiros, mas você não terá dificuldades para modificar a classe Nó para os dados que você precisar.

Código para No.java:

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

package arvore_binaria;

public class No {
  private int valor; // valor armazenado no nó
  private No esquerdo; // filho esquerdo
  private No direito; // filho direito
 
  // construtor do nó
  public No(int valor){
    this.valor = valor;
    this.esquerdo = null;
    this.direito = null;
  }

  public int getValor() {
    return valor;
  }

  public void setValor(int valor) {
    this.valor = valor;
  }

  public No getEsquerdo() {
    return esquerdo;
  }

  public void setEsquerdo(No esquerdo) {
    this.esquerdo = esquerdo;
  }

  public No getDireito() {
    return direito;
  }

  public void setDireito(No direito) {
    this.direito = direito;
  }
}

Código para ArvoreBinariaBusca.java:

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

package arvore_binaria;

public class ArvoreBinariaBusca {
  private No raiz; // referência para a raiz da árvore
   
  // método usado para inserir um novo nó na árvore
  // retorna true se o nó for inserido com sucesso e false
  // se o elemento
  // não puder ser inserido (no caso de já existir um 
  // elemento igual)
  public boolean inserir(int valor){
    // a árvore ainda está vazia?
    if(raiz == null){
      // vamos criar o primeiro nó e definí-lo como a raiz da árvore
      raiz = new No(valor); // cria um novo nó
    }
    else{
      // localiza o nó pai do novo nó
      No pai = null;
      No noAtual = raiz; // começa a busca pela raiz
  
      // enquanto o nó atual for diferente de null
      while(noAtual != null){
        // o valor sendo inserido é menor que o nó atual?
        if(valor < noAtual.getValor()) {
          pai = noAtual;
          // vamos inserir do lado esquerdo
          noAtual = noAtual.getEsquerdo();
        }
        // o valor sendo inserido é maior que o nó atual
        else if(valor > noAtual.getValor()){
          pai = noAtual;
          // vamos inserir do lado direito
          noAtual = noAtual.getDireito();
        }
        else{
          return false; // um nó com este valor foi encontrado
        }
      }
        
      // cria o novo nó e o adiciona como filho do nó pai
      if(valor < pai.getValor()){
         pai.setEsquerdo(new No(valor));
      }
      else{
        pai.setDireito(new No(valor));
      }
    }
 
    return true; // retorna true para indicar que o novo nó foi inserido
  }
   
  // método que permite pesquisar na árvore binária de busca
  public No pesquisar(int valor){
    return pesquisar(raiz, valor); // chama a versão recursiva do método
  }
 
  // sobrecarga do método pesquisar que recebe dois 
  // parâmetros (esta é a versão recursiva do método)
  private No pesquisar(No noAtual, int valor){
    // o valor pesquisado não foi encontrado....vamos retornar null
    if(noAtual == null){
      return null;
    }
  
    // o valor pesquisado foi encontrado?
    if(valor == noAtual.getValor()){
      return noAtual; // retorna o nó atual
    }  
    // ainda não encontramos...vamos disparar uma nova 
    // chamada para a sub-árvore da esquerda
    else if(valor < noAtual.getValor()){
      return pesquisar(noAtual.getEsquerdo(), valor);
    }
    // ainda não encontramos...vamos disparar uma nova 
    // chamada para a sub-árvore da direita
    else{
      return pesquisar(noAtual.getDireito(), valor);
    }
  }
}

E finalmente o código para a classe principal:

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

package arvore_binaria;

import java.util.Scanner;

public class ArvoreBinariaTeste {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
       
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
    
    // vamos inserir 5 valores na árvore
    for(int i = 0; i < 5; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
       
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Não foi possível inserir." +
          " Um elemento já contém este valor.");  
      }
    }
     
    // vamos pesquisar um valor na árvore
    System.out.print("\nInforme o valor a ser pesquisado: ");
    int valorPesquisa = Integer.parseInt(entrada.nextLine());
    // obtém um objeto da classe NoArvore a partir do 
    // método pesquisar() da classe ArvoreBinariaBusca
    No res = arvore.pesquisar(valorPesquisa);
    // o valor foi encontrado?
    if(res != null){
      System.out.println("O valor foi encontrado na árvore");
    }
    else{
      System.out.println("O valor não foi encontrado na árvore");  
    }
     
    System.out.println("\n");
  }
}



JavaScript ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cosseno de um ângulo em JavaScript usando a função cos() do objeto Math - Calculadora de cosseno em JavaScript

Quantidade de visualizações: 7128 vezes
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula:

\[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \]

Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem JavaScript. Esta função, que é parte do objeto Math, recebe um valor numérico e retorna um valor também numérico) entre -1 até 1 (ambos inclusos). Veja:

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

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

<script type="text/javascript">
  // vamos calcular o cosseno de 3 números
  document.writeln("Cosseno de 0 = " + Math.cos(0));
  document.writeln("<br>Cosseno de 1 = " + Math.cos(1));
  document.writeln("<br>Cosseno de 2 = " + Math.cos(2));
</script>

</body>
</html>

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

Cosseno de 0 = 1
Cosseno de 1 = 0.5403023058681398
Cosseno de 2 = -0.4161468365471424

Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo:




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

Como transformar em letras maiúsculas as iniciais de cada palavra em uma string Java

Quantidade de visualizações: 11844 vezes
Nesta dica mostrarei como podemos combinar os métodos da classe String e da classe StringBuffer para converter em letras maiúsculas as iniciais de cada palavra de uma frase ou texto. Para isso nós vamos usar os métodos charAt(), length(), toUpperCase() e setCharAt().

Veja o código completo para o exemplo:

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

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string contendo a nossa frase
    String frase = "Programar em java é bom demais";
    System.out.println("A frase original é: " + frase);
    
    // vamos converter a frase em letras minúsculas
    frase = frase.toLowerCase();
    
    // agora criamos um StringBuffer contendo a frase anterior 
    StringBuffer frase2 = new StringBuffer(frase);
    
    // um laço que percorra todos os caracteres da frase
    for(int i = 0; i < frase2.length(); i++){
      Character letra = frase2.charAt(i);
      if(i == 0){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
      else if((i > 0) && (frase2.charAt(i - 1) == ' ')){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
    }
    
    // retornamos para a string    
    frase = frase2.toString(); 
    // e exibimos o resultado
    System.out.println("Resultado: " + frase);
    
    System.exit(0);
  }
} 

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

A frase original é: Programar em java é bom demais
Resultado: Programar Em Java É Bom Demais


Python ::: Dicas & Truques ::: Formatação de datas, strings e números

Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando Python

Quantidade de visualizações: 7262 vezes
Este trecho de código Python mostra como definir uma quantidade de caracteres de espaço à esquerda de um valor numérico. Este exemplo funciona com inteiros. Para ponto-flutuante você deve trocar "d" por "f".

Veja o código:

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

# método principal
def main():
  valor = 54

  # com três espaços
  print("O valor é %5d" % valor)

  # com nove espaços
  print("O valor é %11d" % valor)

  # com quatro espaços
  print("O valor é %6d" % valor)

if __name__== "__main__":
  main()

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

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

O valor é    54
O valor é          54
O valor é     54



PHP ::: Dicas & Truques ::: Data e Hora

Como gerar um calendário mensal completo para um determinado mês e ano usando PHP

Quantidade de visualizações: 1592 vezes
Nesta dica eu mostro como podemos usar as principais funções de data e hora da linguagem PHP para montar um calendário PHP completo (com comentários e fácil de modificar). Basta passar um mês e ano e a função se encarrega do restante.

Este código é muito útil em aplicações PHP para escolas, faculdades, sistemas financeiros, etc. Veja o resultado na imagem abaixo:



E agora o código completo:

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

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>

<?php
  // função que permite montar o calendário
  function montar_calendario($mes, $ano){
    // um vetor para guardar os meses
    $meses = array(1 => 'Janeiro', 2 => 'Fevereiro', 
      3 => 'Março', 4 => 'Abril', 5 => 'Maio', 
      6 => 'Junho', 7 => 'Julho', 8 => 'Agosto', 
      9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro',
      12 => 'Dezembro');
  
    // um vetor com os dias da semana
    $dias_semana = array('Dom', 'Seg', 'Ter', 'Qua',
      'Qui', 'Sex', 'Sáb');
  
    // vamos obter o primeiro dia do calendário
    $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano);
    // obtém a quantidade de dias no mês  
    $dias_mes = date('t', $primeiro_dia);  
    // dia da semana que o calendário inicia (começa em 0)
    $dia_inicio = date('w', $primeiro_dia);
    
    // cria a tabela HTML para o calendário
    echo '<table border="1" cellspacing="0" cellpadding="4">
      <tr><th colspan="7">'. $meses[$mes] . ' - ' . 
       $ano . '</th>
      </tr>
      <tr><td align="center">';
       echo implode('</td><td align="center">', $dias_semana);
    echo '</td></tr>';
   
    // precisamos de células vazias até encontrarmos
    // o dia inicial da semana
    if($dia_inicio > 0){ 
      for($i = 0; $i < $dia_inicio; $i++){ 
        echo '<td>&nbsp;</td>'; 
      }
    }
   
    // agora já podemos começar a preencher o
    // calendário
    for($dia = 1; $dia <= $dias_mes; $dia++ ){
      if($dia_inicio == 0){
        // vamos colorir o domingo de vermelho
        $estilo = ' style="color: red"';
      } 
      else{
        $estilo = '';
      }     

      // vamos colocar a data de hoje sublinhada
      if(($dia == date("j")) && ($mes == date("n")) && 
       ($ano == date("Y"))){
         echo '<td ' . $estilo . ' align="center"><u>' 
           . $dia . '</u></td>';
      }
      else{
        echo '<td ' . $estilo . ' align="center">' . 
          $dia . '</td>';
      }
     
      // vamos incrementar o dia de referência 
      $dia_inicio++;
     
      // já precisamos adicionar uma nova linha na tabela?
      if($dia_inicio == 7){
        $dia_inicio = 0;
        echo "</tr>";

        if($dia < $dias_mes){
          echo '<tr>';
        }
      }
    } // fim do laço for
   
    // agora preenchemos as células restantes
    if($dia_inicio > 0){
      for($i = $dia_inicio; $i < 7; $i++){
        echo '<td>&nbsp;</td>';
      }
   
      echo '</tr>';
    }
 
    echo '</table>';
  }
 
  // vamos montar o mês de março de 2021
  montar_calendario(3, 2021);
?>
 
</body>
</html>



Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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