Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Dicas & Truques ::: Expressões Regulares

Entendendo as classes de caracteres pré-definidos

Quantidade de visualizações: 8872 vezes


Java permite o uso de algumas classes de caracteres pré-definidos muito úteis. Veja a relação:
.   - Qualquer caractere  
\d  - Um dígito: [0-9]  
\D  - Um não-dígito: [^0-9]  
\s  - Um caractere de espaço: [ \t\n\x0B\f\r]  
\S  - Um caratere não espaço: [^\s]  
\w  - Um caractere de palavra: [a-zA-Z_0-9] 
\W  - Um caractere de não-palavra: [^\w]
A melhor forma de entender estas classes de caracteres, é vê-las em ação. Veja um exemplo no qual verificamos se uma string contém exatamente 5 dígitos (de 0 a 9):
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = "\\d\\d\\d\\d\\d"; // 5 dígitos
    
    if(valor.matches(padrao))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
}
Execute este exemplo e veja o resultado. É claro que poderíamos substituir a sequencia "\\d\\d\\d\\d\\d" por "\\d{5}". {5} neste caso é um quantificador, ou seja, ele dita quantas vezes o padrão deve ser encontrado consecutivamente. Veja a alteração:
String padrao = "\\d{5}"; // 5 dígitos
Lembre-se de que "\d" foi transformado em "\\d" porque usamos o caractere de escape "\". Isso não é necessário quando estamos usando o método compile da classe Pattern. Veja agora como construir um padrão que aceita qualquer coisa, desde que a quantidade de caracteres seja examente 4:
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = ".{4}"; // 4 caracteres quaisquer
    
    if(valor.matches(padrao))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
}
Execute este exemplo e experimente informar qualquer coisa (espaços, números, letras ou símbolos). Você verá que o padrão é válido, desde que contenha exatamente 4 caracteres. Para finalizar um exemplo onde aceitaremos uma padrão de a-z, A-Z, 0-9 e o caractere de underline. Para isso usaremos a classe \w. Veja o código:
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = "\\w{5}"; // 5 caracteres na faixa a-zA-Z_0-9
    
    if(valor.matches(padrao))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
} 


Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Python - Como retornar o maior elemento em cada uma das colunas de uma matriz usando Python

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

Dada a seguinte matriz:

6   10   4
2    9   7
20   3   1
Escreva um programa Python que exibe o maior elemento em cada uma das colunas dessa matriz.

Sua saída deverá ser parecida com:

Maior elemento na coluna 0 é 20
Maior elemento na coluna 1 é 10
Maior elemento na coluna 2 é 7
Resposta/Solução:

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

# método principal
def main():
  # vamos declarar e constuir uma matriz de 3 linhas e três colunas
  matriz = [[6, 10, 4], [2, 9, 7], [20, 3, 1]];
    
  # vamos percorrer a matriz e exibir o maior elemento de cada coluna
  # começamos com cada coluna
  for i in range(len(matriz[0])):
    # assumimos que o maior valor é o primeiro dessa coluna
    maior = matriz[0][i]
    # percorremos todos os elementos desta linha
......



PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados)

Como excluir uma tabela no PostgreSQL usando o comando DDL DROP TABLE

Quantidade de visualizações: 7133 vezes
Em algumas situações precisamos excluir uma tabela em uma base de dados PostgreSQL. Isso pode ser feito por meio do comando DDL DROP TABLE. Este comando remove a tabela da base de dados completamente, incluindo índices, regras (rules), triggers e restrições (constraints). Para disparar um comando DROP TABLE, você precisa ser um super usuário ou possuir privilégios sobre a tabela e o schema na qual ela reside.

Em geral excluímos tabelas usando a ferramenta pgAdmin. No entanto, é importante conhecer e dominar este comando de forma a conseguirmos excluir tabelas a partir da janela de Query do pgAdmin, do SQL Shell (psql) ou usando uma linguagem de programação.

Veja um comando DDL DROP TABLE usado para excluir uma tabela chamada produtos:

DROP TABLE produtos;
......


Se o comando for executado com sucesso, o PostgreSQL nos exibirá a seguinte mensagem:

Query returned successfully with no result in 31 ms.
Se tentarmos excluir uma tabela que não existe na base de dados, o PostgreSQL abortará a operação com a seguinte mensagem de erro:

ERRO:  tabela "produtos" não existe

********** Error **********

ERRO: tabela "produtos" não existe
SQL state: 42P01
Por este motivo, é interessante usar a cláusula IF EXISTS em conjunto com o comando DROP TABLE. Veja:

DROP TABLE IF EXISTS produtos;
......


Agora o PostgreSQL trocará a mensagem de erro por uma mensagem de advertência:

NOTA:  tabela "produtos" não existe, ignorando

Query returned successfully with no result in 14 ms.



C# ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em C# - Como criar uma classe C# e usar new para criar novas instâncias da mesma

Quantidade de visualizações: 15684 vezes
Esta dica mostra a você, rapidamente, como criar uma classe C# e usar a palavra-chave new para instanciar objetos a partir desta classe. Comece analisando o código para a classe Pessoa (Pessoa.cs):

public class Pessoa{ 
  public String nome;
......


Salve o código como Pessoa.cs. Esta classe possui apenas duas propriedades: nome e idade. Lembre-se que uma classe é composta de propriedades e métodos (funções). Veja agora como criamos um objeto desta classe e acessamos sua propriedade nome:

 
static void Main(string[] args){ 
  // cria um objeto da classe Pessoa
  Pessoa p = new Pessoa();
......


Observe o uso da palavra-chave new para reservar memória para o objeto da classe sendo criado na instrução:

 
Pessoa p = new Pessoa();
......


Observe também o uso do operador "." (ponto). Este operador é usado para acessarmos as propriedades e métodos presentes nos objetos das classes em C#.


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

Como calcular o comprimento da hipotenusa em Delphi dadas as medidas do cateto oposto e do cateto adjascente

Quantidade de visualizações: 1523 vezes
Nesta dica mostrarei como é possível usar a linguagem Delphi para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras), tudo que temos a fazer a converter esta fórmula para código Delphi. Veja:

procedure TForm2.Button1Click(Sender: TObject);
var
  a, b, c: Real;
begin
  a := 20; // medida do cateto oposto
  b := 30; // medida do cateto adjascente

  // agora vamos calcular o comprimento da hipotenusa
......


Perceba que o cálculo foi efetuado a partir do evento Click de um botão Button1 e o resultado foi exibido na propriedade Text de uma caixa de texto Edit1.

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

A medida da hipotenusa é: 36,0555127546399

Como podemos ver, o resultado retornado com o código Delphi confere com os valores da imagem apresentada.


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como extrair uma substring de uma string usando a função AnsiMidStr() do Delphi

Quantidade de visualizações: 30441 vezes
Em algumas situações precisamos obter uma substring de uma string. Em Delphi isso pode ser feito por meio da função AnsiMidStr(). Esta função requer a string a partir da qual a substring será obtida, a posição inicial da substring (começando em 1) e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  frase, substring: string;
begin
  frase := 'Programar em Delphi é muito bom';

  // vamos obter a substring "Delphi"
......


Não se esqueça de adicionar a unit StrUtils no uses do seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

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



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