Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

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

Como embaralhar os elementos de um array em PHP usando a função shuffle() - Vetores e matrizes em PHP

Quantidade de visualizações: 12816 vezes
Em algumas situações nós precisamos misturar os elementos de um vetor em PHP, ou seja, embaralhar de forma aleatória os elementos. Para isso nós podemos usar a função shuffle(), que recebe um vetor e o devolve com a ordem dos elementos embaralhada de forma randômica.

Veja o exemplo completo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $nomes = array("Osmar", "Marcos", "Igor", "Gustavo");
 
  // ordem original
  for($i = 0; $i < count($nomes); $i++){
    echo $nomes[$i] . "<br>";
  }   

  echo "<br>";  
   
  // embaralha o vetor
  shuffle($nomes);
 
  // ordem embaralhada
  for($i = 0; $i < count($nomes); $i++){
    echo $nomes[$i] . "<br>";
  }
?>
 
</body>
</html>

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

Osmar
Marcos
Igor
Gustavo

Gustavo
Osmar
Marcos
Igor


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercício Resolvido de Java - Um método recursivo que calcula o número de Fibonacci para um dado índice

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

Observe a série de números Fibonacci abaixo:

Série:  0  1  1  2  3  5  8  13  21  34  55  89 
Índice: 0  1  2  3  4  5  6   7   8   9  10  11 
Cada número da série é a soma dos dois números anteriores. A linha de baixo reflete o índice do número. Assim, quando falamos "O quinto número de Fibonacci", nós estamos nos referindo ao índice 4, ou seja, o valor 3.

Este algorítmos consiste em, dado um determinado índice, retornar o número de Fibonacci correspondente. Recursivamente, o cálculo pode ser feito da seguinte forma:

fib(0) = 0;
fib(1) = 1;
fib(indice) = fib(indice - 2) + fib(indice - 1); sendo o indice >= 2

Os casos nos quais os índices são 0 ou 1 são os casos bases (aqueles que indicam que a recursividade deve parar). Seu método deverá possuir a seguinte assinatura:

public static int fibonacci(int indice){
  // sua implementação aqui
}
Sua saída deverá ser parecida com:

Informe o índice: 6
O número de Fibonacci no índice informado é: 8
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // cria um novo objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos solicitar o índice do número de Fibonacci
    System.out.print("Informe o índice: ");
    // lê o índice
    int indice = Integer.parseInt(entrada.nextLine());
    
    // calcula o número de Fibonacci no índice informado
    System.out.print("O número de Fibonacci no índice informado é: " +
      fibonacci(indice));
    System.out.println("\n");
  }
  
  // método recursivo que o número de Fibonacci em um determinado índice
  public static int fibonacci(int indice){
    if(indice == 0){ // caso base; interrompe a recursividade
      return 0;
    }
    else if(indice == 1){ // caso base; interrompe a recursividade
      return 1;
    }
    else{ // efetua uma nova chamada recursiva
      return fibonacci(indice - 1) + fibonacci(indice - 2);
    }
  }
}



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

Como obter a quantidade de dias em um determinado mês usando o método GetDaysInMonth() da classe GregorianCalendar do C#

Quantidade de visualizações: 12293 vezes
Em algumas situações precisamos saber quantos dias há em um determinado mês. Para isso podemos usar o método GetDaysInMonth() da classe Calendar (ou alguma de suas subclasses). Este método recebe dois valores inteiros: o ano e o mês desejado.

Na classe GregorianCalendar (que extende Calendar) o método GetDaysInMonth() retorna 28 para os anos comuns e 29 para os anos bissextos.

Veja um trecho de código no qual usamos o método GetDaysInMonth() para obter a quantidade de dias para o mês de Março de 2009:

static void Main(string[] args){
  // using System.Globalization;

  // obtém uma instância da classe GregorianCalendar
  Calendar c = new GregorianCalendar();

  // obtém a quantidade de dias para março de 2009
  int dias = c.GetDaysInMonth(2009, 3);

  // exibe o resultado
  Console.WriteLine("Este mês possui {0} dias", dias);

  // pausa o programa
  Console.ReadKey();
}

Note, contudo, que o mesmo resultado pode ser obtido por meio do calendário padrão independente de cultura, desde que as regiões as quais o programa se destina tenham compatibilidade de calendários:

Calendar c = CultureInfo.InvariantCulture.Calendar;

O método GetDaysInMonth() pode atirar uma exceção do tipo ArgumentOutOfRangeException se os valores do ano ou mês estiverem fora das faixas permitidas pelo calendário. Veja:

System.ArgumentOutOfRangeException was unhandled
  Message="Month must be between one and twelve.
   Parameter name: month"
  Source="mscorlib"
  ParamName="month"



Python ::: Dicas & Truques ::: Strings e Caracteres

Como obter o tamanho (comprimento) de uma string em Python usando a função len()

Quantidade de visualizações: 12630 vezes
Em várias situações nós precisamos obter o tamanho, ou seja, comprimento de uma palavra, frase ou texto na linguagem Python. Para isso nós podemos usar a função len(), pré-definida na linguagem.

Veja o código para um exemplo completo de seu uso:

# função principal do programa
def main():
  # uma frase
  frase = "Gosto de Python"
  # vamos obter o comprimento da frase
  tam = len(frase)
  # e mostramos o resultado
  print("A frase contém", tam, "letras")
 
if __name__== "__main__":
  main()

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

A frase contém 15 letras


Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como usar a propriedade Alignment da classe TColumn para alinhar o conteúdo das células do TDBGrid do Delphi

Quantidade de visualizações: 12075 vezes
O conteúdo de cada coluna, ou seja, todas as células de uma determinada coluna, pode ser alinhado por meio da propriedade Alignment da classe TColumn. Esta propriedade aceita um de três valores (pertencentes à enumeração Classes.TAlignment):

taLeftJustify - o texto é alinhado à esquerda;

taCenter - o texto é alinhado ao centro;

taRightJustify - o texto é alinhado à direita.

O valor para esta propriedade pode ser definido em tempo de design ou execução. Para definir o alinhamento do conteúdo de uma coluna em tempo de design, basta clicar com o botão direito no DBGrid e escolher a opção Columns Editor. Em seguida clique na coluna desejada e vá em sua propriedade Alignment no Object Inspector.

Em tempo de execução podemos definir o alinhamento para um determinada coluna do DBGrid usando o seguinte trecho de código:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos alinhar ao centro o conteúdo das células da
  // primeira coluna
  DBGrid1.Columns[0].Alignment := TAlignment.taCenter;
end;

Veja que neste trecho de código eu usei TAlignment.taCenter. Esta é uma boa forma de indicar no código de onde o valor taCenter está vindo. No entanto, o Delphi permite que se omita o nome da enumeração TAlignment.

Esta dica foi escrita e testada no Delphi 2009.


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

Como ordenar um vetor de inteiros em ordem decrescente em Java

Quantidade de visualizações: 21109 vezes
Nesta dica mostrarei como é possível ordenar um array (vetor) de ints em ordem decrescente usando o método sort() da classe Arrays e um método inverter() personalizado. É claro que há várias outras formas de se conseguir realizar esta tarefa. Espero que esta seja mais uma técnica adicionada ao seu arsenal.

Veja o código Java completo:

package arquivodecodigos;
 
import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // vamos declarar e construir um vetor de 5 inteiros
    int[] valores = new int[5];
 
    // inicializa os elementos do array
    valores[0] = 23;
    valores[1] = 65;
    valores[2] = 2;
    valores[3] = 87;
    valores[4] = 34;
	
    // ordena os valores
    Arrays.sort(valores);
    System.out.println("Ordenado em ordem crescente:");
    for(int valor : valores){
      System.out.print(valor + "  ");  
    }
    
    // vamos inverter o vetor agora
    inverter(valores);
    // exibe os valores dos elementos do array
    // usando o laço for melhorado
    System.out.println("\nOrdenado em ordem decrescente:");
    for(int valor : valores){
      System.out.print(valor + "  ");  
    }
  
    System.out.println("\n"); 
    System.exit(0);
  }

  // método que recebe um array e inverte a ordem
  // de seus elementos
  public static void inverter(int[] b){
    int esquerdo = 0;
    int direito = b.length-1;
  
    while (esquerdo < direito) {
      int temp = b[esquerdo]; 
      b[esquerdo]  = b[direito]; 
      b[direito] = temp;
     
      esquerdo++;
      direito--;
    }
  } 
}

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

Ordenado em ordem crescente:
2 23 34 65 87
Ordenado em ordem decrescente:
87 65 34 23 2


Firebird ::: Dicas & Truques ::: Strings e Caracteres

Como substituir valores em campos CHAR ou VARCHAR usando a função REPLACE() do Firebird

Quantidade de visualizações: 16048 vezes
A função REPLACE() do Firebird pode ser usada quando queremos substituir valores no conteúdo de um campo do tipo CHAR ou VARCHAR. Veja um exemplo de um comando SQL DML SELECT FROM no qual usamos a função REPLACE() para substituir todos os espaços por sublinhados (underline) em um campo chamado NOME de uma tabela CLIENTES:

SELECT REPLACE(NOME, ' ', '_') FROM CLIENTES WHERE ID = 1;

Esta query exibirá o seguinte resultado:

REPLACE
OSMAR_J._SILVA
A função REPLACE() pode ser usada em DSQL (Dynamic SQL) e PSQL (Stored procedure and trigger language).


Java ::: Pacote java.lang ::: String

Java para iniciantes - Como usar o método replace() da classe String para efetuar a substituição de caracteres em uma string

Quantidade de visualizações: 9692 vezes
Em algumas situações gostaríamos de substituir caracteres (não substrings) em uma string. Isso pode ser feito por meio do método replace() da classe String. Veja sua assinatura:

public String replace(char oldChar, char newChar)
O parâmetro oldChar representa o caractere que será substituído pelo valor no parâmetro newChar. Note que todas as ocorrências de oldChar serão substituídas por newChar. O resultado será um novo objeto String com as substituições aplicadas. Se não houver substituições a string atual é retornada.

Veja um trecho de código no qual substituímos todas as letras "a" por "e" e retornamos uma nova string com as substituições:

public class Estudos {
  public static void main(String[] args) {
    String frase = "Programar em Java é muito bom";
    System.out.println("Frase original: " + frase);
    
    // vamos substituir todas as letras "a" por "e"
    frase = frase.replace('a', 'e');
    System.out.println("Depois da substituição: " + frase);
  }
}

Após a execução deste código teremos o seguinte resultado:

Frase original: Programar em Java é muito bom
Depois da substituição: Progremer em Jeve é muito bom



Delphi ::: VCL - Visual Component Library ::: TListBox

Como pesquisar e selecionar um item em uma ListBox do Delphi

Quantidade de visualizações: 16839 vezes
O trecho de código abaixo mostra como podemos usar a mensagem LB_SELECTSTRING da Windows API para pesquisar e selecionar um item em uma ListBox. Veja que aqui eu usei a função InputBox() para permitir ao usuário inserir o texto a ser pesquisado. Note também o valor -1 fornecido como wParam para a função SendMessage(). Este valor faz com que a busca se inicie no primeiro item da lista e continue até o final da lista. Veja o código:

procedure TForm1.Button2Click(Sender: TObject);
var
  pesquisa: string;
begin
  // vamos solicitar o texto a ser pesquisado na ListBox
  pesquisa := InputBox('Pesquisar', 'Informe o texto', '');

  // vamos pesquisar e selecionar o item encontrado
  if SendMessage(ListBox1.Handle, LB_SELECTSTRING, - 1,
      Longint(PChar(pesquisa))) <> LB_ERR then
    begin
      ShowMessage('O texto pesquisado foi encontrado no ' +
        'índice: ' + IntToStr(ListBox1.ItemIndex));
    end
  else
    begin
      ShowMessage('O texto pesquisado não foi encontrado.');
    end;
end;

Note que a busca efetuada por LB_SELECTSTRING não é sensitiva a maiúsculas e minúsculas. Assim, Osmar e OSMAR são tratadas igualmente.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


LISP ::: Dicas & Truques ::: Strings e Caracteres

Como retornar uma substring de uma string em LISP usando a função subseq()

Quantidade de visualizações: 615 vezes
Nesta dica mostrarei como podemos extrair uma parte de uma palavra, frase ou texto, ou seja, vamos obter uma substring a partir de uma string. Na linguagem LISP isso pode ser feito por meio da função subseq().

Esta função aceita 3 argumentos. O primeiro argumento é a string a partir da qual a substring será extraída. O segundo argumento é o índice inicial da substring, começando sempre em 0. O terceiro argumento marca o índice final da substring (um índice a mais que o último caractere desejado). Se o terceiro argumento for omitido, todo o restante da string será incluído na substring.

Veja o código LISP completo para o exemplo no qual pedimos para o usuário informar uma frase e extraímos dessa frase os 5 primeiros caracteres:

; variáveis que vamos usar no programa
(let ((frase)(substring))
  ; Vamos pedir para o usuário informar
  ; uma frase
  (princ "Informe uma frase: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  ; atribui o valor lido à variável frase
  (setq frase (read-line))
  
  ; vamos mostrar a frase informada
  ; o símbolo ~% provoca uma quebra de linha
  (format t "A frase informada foi: ~S~%" frase)
  
  ; agora vamos obter os 5 primeiros caracteres
  (setq substring (subseq frase 0 5))
  
  ; e mostramos a substring
  (format t "A substring obtida foi: ~S" substring)
)

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

A frase informada foi: "Estudar LISP é bom demais"
A substring obtida foi: "Estud"

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


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 Apenas R$ 19,90


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