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 Apenas R$ 32,90
JavaScript ::: Dicas & Truques ::: Data e Hora

Como calcular a quantidade de dias restantes para uma determinada data em JavaScript

Quantidade de visualizações: 9233 vezes
Em algumas situações nós precisamos calcular quantos dias faltam para uma determinada data em JavaScript. Por exemplo, você gostaria de saber quantos dias ainda falta para o Natal, ou para o seu aniversário?

Veja a página HTML completa para o exemplo:

<!doctype html>
<html>
<head>
  <title>Data e hora em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos obter a data de hoje
  var hoje = new Date();
  
  // vamos construir a data do Natal
  var data_natal = new Date(hoje.getFullYear(), 11, 25);
  
  // quantidade de milisegundos em um dia
  var dia = 1000 * 60 * 60 * 24;
 
  // calculamos os dias restantes para a data escolhida  
  var restantes = Math.ceil((data_natal.getTime() - 
    hoje.getTime()) / dia);
	
  // e mostramos o resultado
  document.write("Hoje é: " + hoje.toLocaleDateString() + "<br>");  
  document.write("Faltam " + restantes + " dias para o natal.");
</script>
  
</body>
</html>

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

Hoje é: 06/02/2023
Faltam 322 dias para o natal.


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

Como acessar os caracteres individuais de uma string em C++ usando a função at()

Quantidade de visualizações: 7355 vezes
Nesta dica mostrarei como podemos usar a função at() para percorrer os caracteres individuais de uma palavra, frase ou texto em C++.

Esta função recebe o índice do caractere que queremos acessar e retorna o caractere correspondente. Note que o índice começa em 0.

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

#include <iostream>
#include <string>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // vamos criar uma nova string
  string palavra("PYTHON");
    
  // vamos percorrer os caracteres um de cada vez  
  for(int i = 0; i < palavra.size(); i++){
    cout << palavra.at(i) << "\n";              
  }
  
  cout << "\n\n";
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

P
Y
T
H
O
N


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

Como retornar o dia do mês da data atual em C# usando a propriedade Day da classe DateTime

Quantidade de visualizações: 48 vezes
Em algumas situações nós precisamos obter o dia do mês de uma determinada data em C#. Para isso nós podemos acessar a propriedade Day da estrutura DateTime.

Veja em seguida um trecho de código no qual mostramos o dia do mês da data atual:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos obter a data e hora atual
      DateTime agora = DateTime.Now;

      // agora vamos obter o dia da data
      int dia = agora.Day;

      // e mostramos o resultado
      Console.WriteLine("O dia do mês é: {0:D}", dia);

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

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

O dia do mês é: 16


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

Como converter uma string para letras maiúsculas em Java - Como transformar uma string em maiúsculas usando o método toUpperCase() da classe String

Quantidade de visualizações: 54 vezes
A classe String nos fornece o toUpperCase() que converte todas as letras em um texto para letras maiúsculas e nos retorna o resultado de acordo com o locale padrão. Este método é semelhante à toUpperCase(Locale.getDefault()).

Veja um exemplo de como transformar todas as letras de uma frase para letras maiúsculas:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String original = "Onde posso aprender a programar em Java?";
    // vamos convertar para letras maísculas
    String maiusculas = original.toUpperCase();
      
    // vamos mostrar o resultado
    System.out.println("String original: " + original);
    System.out.println("Em letras maiúsculas: " + maiusculas);
     
    System.exit(0);
  }
} 

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

String original: Onde posso aprender a programar em Java?
Em letras maiúsculas: ONDE POSSO APRENDER A PROGRAMAR EM JAVA?

Esta dica foi revisada e atualizada para o Java 8.


AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment

Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D

Quantidade de visualizações: 564 vezes
Em algumas situações nós precisamos obter a quantidade de perfis (profiles) de um determinado alinhamento do AutoCAD Civil 3D. Para isso nós podemos usar a função GetProfileIds(), que retorna uma coleção ObjectIdCollection contendo os ids de todos os perfis pertencentes a um determinado alinhamento.

Para este exemplo eu usei um alinhamento chamado "EIXO DA RODOVIA" e criei para ele um profile chamado "TN - SUPERFÍCIE NATURAL" para representar a superfície natural e outro chamado "GREIDE - PERFIL VERTICAL DA RODOVIA" para representar o alinhamento vertical.

Note que, após obtermos a coleção ObjectIdCollection por meio da função GetProfileIds(), tudo que temos a fazer é acessar a sua propriedade Count.

Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo:

using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.Civil.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.Civil.DatabaseServices;

namespace Estudos {
  public class Class1 : IExtensionApplication {
    [CommandMethod("Alinhamento")]
    public void Alinhamento() {
      // vamos obter uma referência ao documento atual do Civil 3D
      CivilDocument doc = CivilApplication.ActiveDocument;

      // obtemos o editor
      Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;

      // vamos pesquisar o alinhamento chamado "EIXO DA RODOVIA"
      string nome = "EIXO DA RODOVIA";

      // vamos iniciar um nova transação
      using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
        Database.TransactionManager.StartTransaction()) {
        try {
          // efetuamos uma chamada ao método GetAlignmentByName() passando
          // o documento atual do AutoCAD Civil 3D e o nome do alinhamento
          // que queremos encontrar
          Alignment alinhamento = GetAlignmentByName(doc, nome);

          // ops, o alinhamento não foi encontrado
          if (alinhamento == null) {
            editor.WriteMessage("\nO alinhamento não foi encontrado.");
          }
          else {
            // encontramos o alinhamento. Vamos mostrar a quantidade de perfis
            // que ele possui
            ObjectIdCollection ids_perfis = alinhamento.GetProfileIds();
            // e mostramos o resultado
            editor.WriteMessage("\nO alinhamento possui " + ids_perfis.Count +
              " perfis.\n");
          }
        }
        catch (System.Exception e) {
          // vamos tratar o erro 
          editor.WriteMessage("Erro: {0}", e.Message);
        }
      }
    }

    // função C# que retorna um alinhamento por nome, ou null em
    // caso de não encontrar o alinhamento desejado
    public Alignment GetAlignmentByName(CivilDocument doc, string nome) {
      // vamos declarar um objeto da classe Alignment
      Alignment alinhamento = null;

      // agora vamos obter os ids de todos os alinhamentos
      ObjectIdCollection alinhamentos = doc.GetAlignmentIds();

      // vamos percorrer todos os ids de alinhamentos retornados
      foreach (ObjectId idAlinhamento in alinhamentos) {
        alinhamento = idAlinhamento.GetObject(OpenMode.ForRead) as Alignment;
        // encontramos o alinhamento
        if (alinhamento.Name.Equals(nome)) {
          return alinhamento;
        }
      }

      // retorna null se o alinhamento não for encontrado
      return null;
    }

    public void Initialize() {
      // pode deixar em branco
    }

    public void Terminate() {
      // pode deixar em branco
    }
  }
}

Ao executar este código AutoCAD Civil 3D .NET C# nós teremos o seguinte resultado:

O alinhamento possui 2 perfis.


VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o condicional If...Then e If...Then...Else em VB.NET

Quantidade de visualizações: 18186 vezes
Uma das estruturas condicionais mais usadas em VB.NET é o If...Then. Esta estrutura avalia uma condição e executa um bloco de códigos baseado no resultado. Veja um exemplo:

Dim valor As Integer = 10

If valor > 9 Then
  Console.WriteLine("Valor é maior que 10")
End If

Há casos em que queremos que um bloco de códigos seja também executado caso a condição avaliada retorne um valor falso. Para isso podemos usar a estrutura If...Then...Else. Veja:

Dim valor As Integer = 10

If valor > 10 Then
  Console.WriteLine("Valor é maior que 10")
Else
  Console.WriteLine("Valor é menor ou igual a 10")
End If

Veja agora como é possível testarmos três condições:

Dim valor As Integer = 10

If valor > 10 Then
  Console.WriteLine("Valor é maior que 10")
ElseIf valor < 10 Then
  Console.WriteLine("Valor é menor que 10")
Else
  Console.WriteLine("Valor é igual a 10")
End If

Todos os testes efetuados em uma estrutura If precisam retornar um valor True ou False. Veja como isso é verdade no trecho de código a seguir:

Dim valor As Integer = 15

If (valor > 10) = True Then
  Console.WriteLine("Valor é maior que 10")
End If

Veja que usamos parênteses ao redor da condição para deixar claro a quem ler nosso código, que a condição é testada e só então seu resultado é comparado com a palavra-chave True. Podemos usar mais parênteses. Veja:

Dim valor As Integer = 15

If ((valor > 10) = True) Then
  Console.WriteLine("Valor é maior que 10")
End If

O compilador nunca reclama dos parênteses. Podemos usá-los à vontade para tornar o código mais légivel.


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de C++ - Como calcular e exibir os 50 primeiros números primos em C++

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

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os 50 primeiros números primos. A saída do programa deverá ser parecida com:

50 primeiros números primos:

     2     3     5     7    11    13    17    19    23    29
    31    37    41    43    47    53    59    61    67    71
    73    79    83    89    97   101   103   107   109   113
   127   131   137   139   149   151   157   163   167   173
   179   181   191   193   197   199   211   223   227   229
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[]){
  int quantidade = 50; // quantidade de números primos
  int contador = 0; // quantidade de números primos encontrados
  int numero = 0; // inteiro inicial             
               
  // Lembre-se! O número 1 não é primo
  cout << quantidade << " primeiros numeros primos:\n" << endl;
  
  // laço while será executado até encontrar os 50 primeiros números primos 
  while(contador < quantidade){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
    // módulo de 7 por qualquer um dos valores neste intervalo 
    // for igual a 0, então o número não é primo
    for(int j = 2; j <= (numero / 2); j++){
      if(numero % j == 0){
        primo = false; // não é primo
        break;
      }
    }
    
    if((primo) && (numero > 1)){
      cout << setw(6) << numero;
      contador++; // encontramos um número primo
      
      if(contador % 10 == 0){
        cout << "\n";
      }
    }  
      
    numero++;  
  }
  
  cout << "\n\n";
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



JavaScript ::: Dicas & Truques ::: Data e Hora

Como exibir a data e hora atual em JavaScript usando o objeto Date

Quantidade de visualizações: 8350 vezes
O objeto Date da linguagem JavaScript pode ser usado quando queremos retornar ou exibir a data e hora atual. Nesta dica eu mostro como criar um objeto Date e em seguida mostrar os resultados na página.

Veja o código HTML completo para o exemplo:

<!doctype html>
<html>
<head>
  <title>Datas em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos obter a data e hora atual
  var data = Date();
  
  // e mostramos o resultado
  document.write("Data e hora atual: " + data);
</script>
  
</body>
</html>

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

Data e hora atual: Sat Feb 04 2023 15:08:32 GMT-0300 (Horário Padrão de Brasília)


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

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:

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

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# ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço do...while da linguagem C#

Quantidade de visualizações: 11890 vezes
O laço do...while (faça...enquanto) é usado quando queremos repetir uma instrução ou bloco de instruções ENQUANTO uma condição for satisfatória. A única diferença entre este laço e o laço while, é que, no laço do...while a condição de parada é testada após a iteração, o que garante que o laço do...while será executado no mínimo uma vez. No laço while a condição é testada antes da iteração. Veja um exemplo:

static void Main(string[] args){
  int valor = 1;

  do{
    Console.WriteLine("{0}", valor);
    valor++;
  }while(valor <= 10);

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

Este trecho de código conta de 1 até 10. Veja que após cada iteração do laço nós testamos se o valor da variável de controle é menor ou igual a 10. A próxima iteração acontece somente se esta condição for satisfeita. Note ainda que dentro de cada iteração nós incrementamos o valor da variável de controle. Isso é feito para que o laço não seja executado infinitamente.

Veja um outro exemplo de laço do...while, desta vez simulando um menu de opções:

static void Main(string[] args){
  // variável que registra a opção do usuário
  int opcao;

  // laço do..while que mostra as opções do menu enquanto
  // o valor -1 não for informado
  do{
    // lê a opção
    Console.Write("Informe a opção 1, 2 ou 3" +
      " (-1 para sair): ");
    opcao = int.Parse(Console.ReadLine());

    switch (opcao){
      case 1:
        Console.WriteLine("Executando a opção 1");
        break;
      case 2:
        Console.WriteLine("Executando a opção 2");
        break;
      case 3:
        Console.WriteLine("Executando a opção 3");
        break;
      default:
        Console.WriteLine("Opção incorreta");
        break;
    }
  }while(opcao != -1);

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

O laço do...while não é tão usado quanto o laço while. Use-o naquelas situações em que o laço deverá ser executado no mínimo uma vez.

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