Desafios de Programação Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
VB.NET ::: Dicas & Truques ::: Matemática e Estatística

Como verificar se um número é par ou ímpar em VB.NET

Quantidade de visualizações: 20247 vezes
Em várias situações nós lidamos com códigos VB.NET nos quais precisamos verificar se um determinado valor é par ou ímpar. Para efetuar este teste, nós só precisamos usar o operador Mod, que retorna o resto de uma divisão envolvendo inteiros. Assim, se o resto da divisão for 0, sabemos que o número é par e, em caso contrário, será ímpar.

Veja o código completo para o exemplo que lê um número e informa se ele é par ou ímpar:

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

Imports System

Module Program
  Sub Main(args As String())
    Dim valor As Integer

    Console.Write("Informe um número inteiro: ")
    valor = Val(Console.ReadLine())

    If valor Mod 2 = 0 Then
      Console.WriteLine("O número é par")
    Else
      Console.WriteLine("O número é ímpar")
    End If

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

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

Informe um número inteiro: 38
O número é par
Pressione qualquer tecla para sair...


JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizada

Quantidade de visualizações: 8842 vezes
Há muitos anos eu precisava remover espaços no final de uma string em JavaScript e percebi que o objeto String, na época, não oferecia a função trim(). Não me restou opção a não ser sentar e escrever o código na mão mesmo. Hoje em dia não precisamos mais dele, mas fica aí para que você entenda a lógica empregada na resolução do problema.

Veja a página HTML completa com o exemplo:

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

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

<script type="text/javascript">
  // função personalizada que remove os espaços
  // no final de uma string
  function trim_final(string){
    // primeiro definimos o código do espaço
    var espaco = String.fromCharCode(32);
    // obtemos o tamanho da string
    var tamanho = string.length;
    // e criamos uma string temporária
    var temp = "";
    
    // a string está vazia?
    if(tamanho < 0){
      return "";
    }
  
    // uma variável temporária para percorrermos
    // a string de trás para frente
    var temp2 = tamanho - 1;
    while(temp2 > -1){
      if(string.charAt(temp2) == espaco){
        // não faz nada
      }
      else{
        temp = string.substring(0, temp2 + 1);
        break;
      }
      
      // decrementamos a variável temp2
      temp2--;
    }
    
    return temp;
  }
  
  // vamos testar a função trim_final()
  var frase = "Gosto muito de JavaScript   ";
  document.write("Com espaços no final: " + 
    frase + "#" + "<br>");
	
  // vamos remover os espaços no final da string
  frase = trim_final(frase);
  document.write("Sem espaços no final: " + 
    frase + "#" + "<br>");  
</script>
  
</body>
</html>

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

Com espaços no final: Gosto muito de JavaScript #
Sem espaços no final: Gosto muito de JavaScript#


Java ::: Dicas & Truques ::: Data e Hora

Como exibir a data e hora atual na linguagem Java usando um objeto Date e seu método toString()

Quantidade de visualizações: 26128 vezes
Nesta dica mostrarei como criar um novo objeto da classe Date, do pacote java.util, e usar seu método toString() para exibir a data e hora atual no formato "dia da semana/mês/dia do mês"...etc.

Veja o código completo abaixo:

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

import java.util.Date;
 
public class Exemplo{
    public static void main(String args[]){
       Date data = new Date(); 
       System.out.println(data.toString()); 
    }
}

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

Mon Mar 08 22:13:15 BRT 2019


wxWidgets ::: Dicas & Truques ::: wxApp

Como usar a classe wxApp em suas aplicações C++ wxWidgets

Quantidade de visualizações: 1483 vezes
A classe wxApp (Application Class) é uma das primeiras classes que devemos estudar se quisermos ter um domínio perfeito do framework wxWidgets. Para usá-la, devemos incluir #include <wx/app.h> em nossos códigos. Essa classe herda de wxAppConsole.

Todas as aplicações wxWidgets definem uma classe application derivada de wxApp. Há somente uma instância dela, e essa instância representa a aplicação sendo executada no momento.

De todos os métodos herdados de wxApp, há pelo menos um que devemos implementar, e ele é a função OnInit(), que é chamada quando o wxWidgets está pronto para executar o nosso código. OnInit() equivale ao main() em C/C++ ou WinMain (aplicações Win32).

Veja um trecho de código no qual declaramos e usamos a classe wxApp:

Código para aplicacao.h:

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

#include <wx/wx.h>

// arquivo de definição

// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
  // é chamado no startup da aplicação
  virtual bool OnInit();
};

// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)

Código para aplicacao.cpp:

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

#include "aplicacao.h"

// arquivo de implementação

// aqui o wxWidgets implementa nosso objeto MinhaAplicacao
IMPLEMENT_APP(MinhaAplicacao)

bool MinhaAplicacao::OnInit(){
  // vamos mostrar uma mensagem ao iniciar a aplicação
  wxMessageDialog *alerta = new wxMessageDialog(NULL,
    wxT("A aplicação foi iniciada com sucesso"), wxT("Informação"), wxOK);
  alerta->ShowModal();

  // em geral retornamos true para iniciar o loop de eventos
  // mas essa aplicação exibe apenas uma janela de mensagem. Podemos sair
  return false;
}

Veja que no arquivo de declaração (header file) nós temos a macro DECLARE_APP. Ela nos permite declarar a função wxGetApp() que retorna uma referência para o objeto aplicação. Se não fizermos isso, a única forma de obter tal referência é usando o ponteiro global wxTheApp, que é do tipo wxApp*.

A macro IMPLEMENT_APP, no arquivo de implementação, permite ao wxWidgets criar dinamicamente uma instância do objeto application no ponto apropriado da inicialização da biblioteca.

Esse trecho de código é totalmente funcional, mas teremos apenas a exibição de uma mensagem wxMessageDialog. Por essa razão eu retornei false no laço de eventos. Se tivéssemos criado uma janela wxFrame, o retorno deveria ser true, já que teríamos de lidar com eventos.

Para finalizarmos, lembre-se de que o método OnInit() da classe wxApp é o local ideal para se fazer as verificações iniciais da aplicação, tais como conexão com banco de dados, permissão do usuário, disponibilidade da rede, etc.


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

Java para iniciantes - Como substituir caracteres em uma string usando o método replace() da classe String

Quantidade de visualizações: 25587 vezes
Em algumas ocasiões nós precisamos substituir caracteres, ou seja, letras, números e símbolos em palavras, frases ou textos. Para isso nós podemos usar o método replace() da classe String da linguagem Java.

Veja como isso pode ser feito no código completo a seguir:

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

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é bom";
    System.out.println("Original: " + frase);
    
    // substitui todas as ocorrências de "a" por "e"
    String frase2 = frase.replace('a', 'e');
     
    System.out.println("Com substituições: " + frase2);
     
    System.exit(0);
  }
}

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

Original: Programar em Java é bom
Com substituições: Progremer em Jeve é bom


Java ::: Dicas & Truques ::: Internacionalização e Localização (Internationalization, i18n, Localization, l10n)

Como obter a localização padrão da JVM usando o método getDefault() da classe Locale da linguagem Java

Quantidade de visualizações: 8662 vezes
Em algumas situações precisamos fazer a internacionalização de nossas aplicações. Isso implica em usar um objeto da classe Locale para aplicar a formatação de datas, horas e valores de acordo com as configurações regionais do usuário. Porém, antes de alterar o Locale padrão da JVM, é importante sabermos mais sobre ele. Para isso temos o método estático getDefault() da classe Locale:

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

public static Locale getDefault()


Este método retorna um objeto da classe Locale que nos permitirá obter informações sobre a língua, o país e demais configurações do ambiente. Veja um trecho de código demonstrando seu uso:

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

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // obtém o Locale padrão da JVM
    Locale locale = Locale.getDefault();
    
    // vamos exibir o código da linguagem e nome do
    // país para o Locale obtido
    System.out.println(locale.getLanguage() + " - "
      + locale.getDisplayCountry()); 
  } 
}

O resultado da execução deste código será algo como:

pt - Brasil



Ruby ::: Dicas & Truques ::: Data e Hora

Datas e horas em Ruby: Time, Date ou DateTime - Qual classe devo usar?

Quantidade de visualizações: 8143 vezes
A linguagem Ruby oferece três classes básicas para lidar com datas e horas: Time, Date e DateTime. Para ajudá-lo em seus estudos, veja uma descrição breve de cada uma:

1) A classe Time está mais para um encapsulamento das funções de datas e horas da biblioteca C. Estas bibliotecas são geralmente baseadas na época UNIX (UNIX epoch) e, assim, não conseguem representar datas e horas antes de 1970.

2) A classe Date foi criada para superar estas deficiências da classe Time. Com esta classe nós podemos lidar com datas realmente antigas, tais como o aniversário de Leonardo da Vinci (15 de abril de 1452) e, esta classe funciona muito bem com a reforma do calendário. No entanto, a classe Date não permite lidar com horas, ou seja, ao usá-la não seremos capazes de representar a hora que Leonardo da Vinci nasceu. Apenas a data de nascimento.

3) A classe DateTime herda da Date e tenta ser o melhor de ambos os mundos. Com esta classe podemos representar datas da mesma forma que Date e horas da mesma forma que Time. Geralmente os desenvolvedores optam por esta classe, por considerá-la a forma mais correta de representar datas e horas.


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

Como ordenar um array em PHP usando a função sort() - PHP para iniciantes

Quantidade de visualizações: 8660 vezes
Em várias situações nós precisamos ordenar os elementos de um vetor de inteiros, de caracteres, de strings, etc. Para isso nós podemos usar a função sort() da linguagem PHP.

Veja o código a seguir:

----------------------------------------------------------------------
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
  // um vetor com quatro elementos
  $pessoas = array("Kelly", "Alice", "Mônica", "Cíntia"); 
  // mostra os elementos sem ordenação
  echo "Sem ordenar: ";
  foreach($pessoas as $pessoa){
    echo $pessoa . ", ";
  }

  // vamos ordenar o vetor em ordem alfabética
  // crescente
  sort($pessoas); 

  // mostra os elementos ordenados
  echo "<br><br>Ordenados: ";
  foreach($pessoas as $pessoa){
    echo $pessoa . ", ";
  }   
?>
 
</body>
</html>

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

Sem ordenar: Kelly, Alice, Mônica, Cíntia
Ordenados: Alice, Cíntia, Kelly, Mônica

Note que a função sort() requer o vetor (array) a ser ordenado e uma flag opcional indicando como a ordenação deverá ser feita. Esta flag pode ser um dos seguintes valores:

SORT_REGULAR - padrão, compara os itens normalmente (não modifica o tipo).
SORT_NUMERIC - compara os items numericamente.
SORT_STRING - compara os itens como strings.
SORT_LOCALE_STRING - compara os itens como strings, utilizando o locale atual. Utiliza o locale que pode ser modificado com setlocale().
SORT_NATURAL - compara os itens como strings utilizando "ordenação natural" tipo natsort().
SORT_FLAG_CASE - pode ser combinado (bitwise OR) com SORT_STRING ou SORT_NATURAL para ordenar strings sem considerar maiúsculas e minúsculas.


Angular ::: Dicas & Truques ::: Diretivas Angular

Angular para iniciantes: Como usar a diretiva ngFor do Angular para percorrer e exibir os itens de vetores e listas

Quantidade de visualizações: 4830 vezes
A diretiva ngFor do Angular é usada quando precisamos percorrer os elementos de um vetor (ou lista) de tipos primitivos ou objetos de classes. Dessa forma, para cada elemento da lista nós podemos definir o bloco HTML que determinará como o elemento individual será renderizado.

Vamos ver um exemplo bem simples? Comece criando uma nova aplicação Angular. Abra uma janela de terminal e dispare um comando Angular CLI parecido com:

c:\docs_osmar>cd c:\estudos_angular
c:\estudos_angular>ng new escola

Aqui nós estamos criando uma aplicação Angular com o nome escola. Nesse momento o CLI já criou para nós os seguintes arquivos: app.component.css, app.component.html,
app.component.spec.ts, app.component.ts, app.module.ts. Estou usando Angular 11. Dependendo da sua versão, pode ser que sua lista de arquivos seja um pouco diferente.

Antes de continuarmos, vamos deixar a aplicação executando. Então, dispare o comando abaixo para executar a aplicação no navegador:

c:\estudos_angular>cd escola
c:\estudos_angular\escola>ng serve --open

Rodou sem problemas? Agora vamos ao nosso primeiro exemplo da diretiva ngFor. Abra o arquivo app.component.ts no seu editor de código favorito e altere o seu código para a versão abaixo:

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

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  linguagens: string[];

  constructor() {
    this.linguagens = ["Java", "C++", "Delphi", "PHP", "Perl"];
  }
}


Veja que temos um vetor de string contendo o nome de cinco linguagens de programação. Agora vamos usar a diretiva ngFor para receber esta lista no template HTML e exibir seus itens individuais. Para isso, abra o arquivo app.component.html e altere o seu código para:

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

<h2>Minhas linguagens favoritas:</h2>

<ul *ngFor="let linguagem of linguagens">
  <li>{{ linguagem }}</li>
</ul>

Veja que coloquei a diretiva ngFor como parte de um elemento HTML <ul> e, para cada item do vetor, nós criamos um novo elemento <li>. Aqui nós usamos o elemento <ul>, mas você pode usar uma <div> ou até mesmo <tr> e <td> para exibir o item como linha de uma tabela.

Execute a aplicação no navegador e você terá o seguinte resultado:



A instrução "let linguagem of linguagens" quer dizer: pegue os elementos individuais do vetor linguagens e associe, durante a iteração, o elemento atual à variável linguagem. Depois disso só precisamos usar as tags de template {{ linguagem }} para exibir o valor de cada elemento de forma individual.

Mas a diretiva ngFor oferece alguns recursos extras. Não deixe de acompanhar as outras dicas e truques dessa seção.


JavaScript ::: Dicas & Truques ::: Cookies

Cookies em JavaScript - Como registrar a quantidade de vezes que o usuário visitou a sua página HTML

Quantidade de visualizações: 8198 vezes
Nesta dica mostrarei como podemos cookies em JavaScript para gravar e exibir para o usuário a quantidade de vezes que ele visitou o nosso site ou página. Veja que, no código, nós temos duas funções: gravarCookie(), que recebe o nome, o valor e a direção do cookie em dias, e obterCookie(), que recebe o nome do cookie e retorna o seu valor.

O resultado ficará parecido ao que temos na figura abaixo:



E agora o código JavaScript completo para o exemplo, incluindo a página HTML:

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

<html>
<head>
<title>Estudando JavaScript</title>

<script type="text/javascript">
  // função que permite gravar um cookie
  function gravarCookie(nome, valor, diasDuracao){
    var dataExpiracao = new Date();
    dataExpiracao.setTime(dataExpiracao.getTime() 
      + (diasDuracao * 24 * 3600 * 1000));
    document.cookie = nome + "=" + escape(valor) +
      ((diasDuracao == null) ? "" : "; expires=" + dataExpiracao);
  }
   
  // função quer permite obter um cookie
  function obterCookie(nome){    
    if(document.cookie.length > 0){
      var c_start = document.cookie.indexOf(nome + "=");
      if(c_start != -1){ 
        c_start = c_start + nome.length + 1; 
        c_end = document.cookie.indexOf(";", c_start);
        
        if(c_end == -1){
          c_end = document.cookie.length;
        }
        
        return unescape(document.cookie.substring(
          c_start, c_end));
      } 
    }
    return null;
  }
</script>

</head>
<body>
  
</HEAD>
<BODY>
 
<script type="text/javascript">
  // verifica se o visitante já esteve aqui
  var vezes = obterCookie('visitas');
  if(vezes != null){
    document.write("<h1>Esta é a sua " + vezes + "ª visita.</h1>");
    gravarCookie("visitas", ++vezes, 30);
  }
  else{ // é a primeira vez. grave a visita
    // grava um cookie que durará 30 dias
    gravarCookie("visitas", 1, 30); 
    document.write("<h1>Esta é a sua primeira visita ao site</h1>");
  }
</script>
 
</body>
</html>


Carregar Publicações Anteriores


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

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

Últimos Exercícios Resolvidos

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

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

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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



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