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.

Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como inserir uma substring em uma determinada posição de uma string em Ruby usando a função insert()

Quantidade de visualizações: 9022 vezes
Muita vezes precisamos inserir uma substring em uma determinada posição de uma string em Ruby. Esta tarefa pode ser realizada com a função insert() da classe String.

Esta função opera na string original e requer dois argumentos: a posição na string onde a substring será inserida e a substring propriamente dita. A posição é um índice iniciando em 0. Índices negativos são contados a partir do final da string.

Veja o exemplo:

# declara e inicializa uma variável string
frase = "Gosto muito de Ruby"
puts "A frase original é: " + frase

# vamos inserir " Python e" antes de "Ruby". 
frase.insert(14, " Python e")

# exibe o resultado 
puts "A nova frase é: " + frase

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

A frase original é: Gosto muito de Ruby
A nova frase é: Gosto muito de Python e Ruby


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

Como retornar a quantidade de palavras em uma string Java usando um objeto da classe StringTokenizer

Quantidade de visualizações: 364 vezes
Nesta dica mostrarei como podemos usar um objeto da classe StringTokenizer, do pacote java.util para contar as palavras em um texto ou frase, ou seja, em uma string. O método que usaremos da classe StringTokenizer é countTokens() que retorna a quantidade de pedaçõs na string, separados por espaço.

Veja o código completo para o exemplo:

// Este exemplo mostra como contar as palavras
// de uma string

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é bom demais";
    
    StringTokenizer parser = new StringTokenizer(frase);
    int cont = parser.countTokens();
    
    System.out.println("A frase contém " + 
        cont + " palavras");
    
    System.exit(0);
  }
}  

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

A frase contem 6 palavras.


JavaScript ::: Dicas & Truques ::: Miscelâneas

JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE

Quantidade de visualizações: 8873 vezes
Quando estamos desenvolvendo aplicações em JavaScript que lidam intensivamente com valores numéricos, é sempre uma boa idéia sabermos, de antemão, qual o maior valor numérico possível nessa linguagem de programação.

Para isso podemos usar a propriedade MAX_VALUE do objeto Number. Veja como isso pode ser feito no trecho de código abaixo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<script type="text/javascript">
  var maximo = Number.MAX_VALUE;
  document.write("O maior número em JavaScript é " 
    + maximo);
</script>
 
</body>
</html>

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

O maior número em JavaScript é 1.7976931348623157e+308

Qualquer valor numérico acima disso, será tratado pela linguagem JavaScript como Infinity.


Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de dados em Java - Como criar uma lista singularmente ligada, inserindo e exibindo os valores contidos em cada nó

Quantidade de visualizações: 12171 vezes
Em dicas posteriores você aprendeu sobre listas singularmente e duplamente ligadas. Nesta dica você aprenderá a criar uma lista singularmente ligada (com referências apenas para o próximo nó), inserir alguns nós (sempre no final da lista) e usará um laço while para visitar todos os nós e exibir seus valores.

A classe usada para representar cada nó é a seguinte (No.java):

// classe No
public class No{
  public int valor;
  public No proximo;
}
// fim da classe No

Note que cada nó contém apenas um valor inteiro e uma referência para o próximo nó. Ao analisar o código você perceberá que tanto a inserção quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Veja o código para a lista ligada (Lista.java):

public class Lista{
  No inicio; // início da lista  

  // função que permite exibir os valores de
  // todos os nós da lista
  public void exibir(){
    if(inicio != null){
      do{
        System.out.println(inicio.valor);
        inicio = inicio.proximo;
      }while(inicio != null);
    }
    else
      System.out.println("A lista esta vazia\n\n");
  }

  // função que permite inserir nós na lista.
  // veja que a função recebe o valor a ser
  // armazenado em cada nó
  public void inserir(int v){
    No temp;

    // verifica se a lista está vazia
    if(inicio == null){
      // reserva memória para o novo nó
      inicio = new No();
      inicio.valor = v;
      // é o primeiro nó...não deve apontar para
      // lugar nenhum
      inicio.proximo = null;
    }
    else{ // não está vazia....vamos inserir o nó no final
      temp = inicio;
      // vamos varrer a lista até encontrar o último nó
      while(temp.proximo != null)
        temp = temp.proximo;

      // estamos no último nó...vamos criar um novo nó agora
      temp.proximo = new No();
      // atribui o valor do nó
      temp.proximo.valor = v;
      // define o campo proximo do nó como null
      temp.proximo.proximo = null;
    }
  }
}

Compile as classes No.java e Lista.java e vamos fazer o teste (TesteJava.java):

public class TesteLista{
  public static void main(String args[]){
    // vamos criar uma nova lista
    Lista lista = new Lista();

    // vamos inserir quatro valores na lista
    lista.inserir(45);
    lista.inserir(3);
    lista.inserir(98);
    lista.inserir(17);

    // exibe os valores na lista
    lista.exibir();

    System.exit(0);   
  }  
}



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

Exercícios Resolvidos de Java - Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informado

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

Escreva um programa Java console que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar matrizes:

Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

Como a solução deste exercício depende de valores informados pelo usuário, a classe Scanner deverá ser usada. Desta forma, você deverá importá-la, usando a linha:

import java.util.Scanner;
Lembre-se de que os imports devem estar entre a declaração de pacote (package) e a declaração da classe. Veja a solução comentada no código abaixo:

public static void main(String[] args){
  // para este exercício você deverá importar a classe
  // Scanner. Ela está no pacote java.util.*;
    
  // vamos construir um objeto da classe Scanner para ler a
  // entrada do usuário
  Scanner entrada = new Scanner(System.in);

  int valor; // guarda o valor lido
  int maior = 0, menor = 0; // variáveis que guardarão o maior e o menor valor lido

  // vamos pedir ao usuário que informe 10 valores inteiros
  for(int i = 0; i < 10; i++){
    System.out.print("Informe o " + (i + 1) + "º valor: ");
    valor = Integer.parseInt(entrada.nextLine());

    // esta é a primeira iteração do laço? se for vamos assumir que o
    // maior e menor valor lido são o primeiro valor informado
    if(i == 0){
      maior = valor;
      menor = valor;
      // poderia ser escrito assim:
      //maior = menor = valor;
    }
    else{ // não é a primeira iteração
      // vamos verificar se é maior que o valor atual da variável maior
      if(valor > maior){
        maior = valor;
      }
      // vamos verificar se é menor que o valor atual da variável menor
      if(valor < menor){
        menor = valor;
      }
    }
  }

  // vamos exibir o maior e o menor valor lido
  System.out.println("\nO maior valor lido foi: " + maior);
  System.out.println("O menor valor lido foi: " + menor);
}



MySQL ::: Dicas & Truques ::: Data e Hora

Como calcular a diferença em dias entre duas datas do MySQL usando a função DATEDIFF()

Quantidade de visualizações: 19228 vezes
A função DATEDIFF() é usada quando precisamos obter a diferença entre duas datas. Ela aceita dois argumentos: expr1 e expr2 e retorna expr1 ? expr2 como um valor em dias de uma data para a outra. Tanto expr1 quanto expr2 são campos do tipo DATE, DATETIME ou TIMESTAMP. Somente a parte date é usada nos cálculos. Veja um exemplo de seu uso:

SELECT DATEDIFF('2008-03-10','2008-02-10')

O resultado será 29. Veja mais um exemplo:

SELECT DATEDIFF(NOW(), vencimento) FROM
tabela_estudos

Aqui nós obtemos a quantidade de dias que já se passaram entre a data de hoje e o valor armazenado no campo vencimento.


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

Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr()

Quantidade de visualizações: 21999 vezes
Em algumas situações precisamos obter um caractere a partir de sua representação ASCII. Em Delphi isso pode ser feito por meio da função Chr(). Esta função recebe um número inteiro e devolve o caractere correspondente. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  codigo: integer; 
  letra: char;
begin
  codigo := 65; // código ASCII

  // vamos obter o caractere
  letra := Chr(codigo);

  // vamos exibir o resultado
  ShowMessage('O caractere para o código informado é: '
    + letra);
end;

É importante notar que esta função pode ser usada para imprimir caracteres de controle, tais como tab, enter, entre outros. Assim, Chr(9) retorna o caractere de tab.

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


C# ::: Windows Forms ::: ListBox

Como inserir um item em uma determinada posição da ListBox do C# Windows Forms usando o método Insert()

Quantidade de visualizações: 934 vezes
Em algumas situações nós gostaríamos de adicionar um novo item a uma ListBox do C# Windows Forms e indicar a posição (índice) na qual ela deverá ficar. Para isso podemos usar a função Insert() do objeto Items da ListBox.

O método Insert() recebe o índice no qual o elemento será inserido e o item a ser inserido. Veja um exemplo de seu uso no trecho de código a seguir:

private void button2_Click(object sender, EventArgs e)
{
  // insere um item na terceira posição
  listBox1.Items.Insert(2, "Fortaleza");
}

Se o índice fornecido para o método Insert() não estiver dentro da faixa de índices válidos para os elementos da ListBox, uma exceção do tipo ArgumentOutOfRangeException será atirada:

System.ArgumentOutOfRangeException
HResult=0x80131502
Message=InvalidArgument=Value '20' não é um valor válido para 'index'.
Parameter name: index
Source=System.Windows.Forms
StackTrace:
em System.Windows.Forms.ListBox.ObjectCollection.Insert(Int32 index, Object item)


Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais

Como calcular o Momento Mínimo de uma viga de concreto armado usando Python - Python para Engenharia Civil e Cálculo Estrutural

Quantidade de visualizações: 232 vezes
A ABNT NBR 6118 (Projeto de estruturas de concreto armado) define que todas as vigas, independente de suas dimensões e momentos solicitantes, precisam apresentar uma taxa mínima de armadura de tração. O concreto possui excelente resistência à compressão, porém, sua resistência à tração é muito baixa, ficando em torno de 10% do valor de sua resistência à compressão.

A NBR 6118 lista, como primeira exigência, uma taxa mínima absoluta de 0,15% de armadura longitudinal para as vigas de concreto armado. A segunda exigência é calcular a área de armadura mínima a partir do Mdmin, que é o momento mínimo (de projeto) a ser considerado no dimensionamento.

Dessa forma, após calcularmos o momento mínimo Mdmin, só precisamos calcular a área de aço correspondente a este momento.

A fórmula do momento mínimo para as vigas de concreto armado é:

\[M_\text{dmin} = 0,8 \cdot W_\text{0} \cdot f_\text{ctk,sup}\]
Onde:

Mdmin é o momento mínimo de projeto a ser considerado, em kN.m (ou kN.cm dependendo da necessidade);

fctk,sup é o limite superior da resistência à tração média do concreto, em kN.cm2. Em outra dica desta seção eu mostrei como o fctk,sup é calculado;

W0 é o módulo de resistência da seção transversal da viga, em m3.

Já o Módulo de Resistência da Seção (para seções retangulares), é calculado pela seguinte fórmula:

\[W_\text{0} = \frac{b \cdot h^2}{6}\]
Onde:

W0 é o módulo de resistência da seção transversal da viga, em cm3;

b é a largura da viga em centímetros;

h é a altura da viga em centímetros.

Veja agora o código Python que pede para o usuário informar o FCK do concreto e as dimensões da viga e calcula o fctk,sup, o W0 e finalmente o Mdmin solicitante para o cálculo da armadura longitudinal mínima da viga:

# vamos importar o módulo Math
import math

# função principal do programa
def main():
  # vamos pedir para o usuário informar o FCK do concreto
  fck = float(input("Informe o FCK do concreto em Mpa: "))

  # vamos ler a largura da viga
  bw = float(input("Informe a largura bw da viga em cm: "))
  
  # vamos ler a altura da viga
  h = float(input("Informe a altura h da viga em cm: "))
  
  # agora vamos calcular a resistência à tração média
  # do concreto
  fctk_m = 0.3 * math.pow(fck, 2.0 / 3.0)

  # vamos calcular o limite superior
  fctk_sup = 1.3 * fctk_m

  # vamos calcular o módulo de resistência da seção
  w0 = (bw * math.pow(h, 2) / 6.0) 

  # agora já podemos calcular o momento mínimo
  mdmin = 0.8 * w0 * (fctk_sup / 10.0)

  # e mostramos os resultados
  print("\nO fctk,sup é: {0} Mpa ({1} kN/cm2)".format(round(fctk_sup, 5),
    round(fctk_sup / 10.0, 5)))
  print("O módulo de resistência da seção W0 é: {0} cm3 ({1} m3)".format(
    round(w0, 5), round(w0 / 1000000.0, 5)))
  print("O momento mínimo Mdmin é: {0} kN.cm ({1} kN.m)".format(
    round(mdmin, 5), round(mdmin / 100.0, 5)))

if __name__ == "__main__":
  main()

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

Informe o FCK do concreto em Mpa: 30
Informe a largura bw da viga em cm: 20
Informe a altura h da viga em cm: 50

O fctk,sup é: 3.76541 Mpa (0.37654 kN/cm2)
O módulo de resistência da seção W0 é: 8333.33333 cm3 (0.00833 m3)
O momento mínimo Mdmin é: 2510.2724 kN.cm (25.10272 kN.m)


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

Como ordenar um vetor de inteiros em ordem decrescente em Java

Quantidade de visualizações: 21106 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

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