Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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
JavaScript ::: Dicas & Truques ::: Matemática e Estatística

Como calcular raiz quadrada usando o método sqrt() do objeto Math do JavaScript

Quantidade de visualizações: 15363 vezes
Em várias situações, principalmente quando estamos desenvolvendo códigos para aplicações financeiras, nós precisamos calcular a raiz quadrada de um determinado valor numérico. Para isso nós podemos usar a função sqrt() do objeto Math da linguagem JavaScript.

Esta função recebe um valor numérico (inteiro ou real) e desenvolve também um valor numérico. Veja um exemplo de seu uso:

<!doctype html>
<html>
<head>
  <title>Estudando JavaScript</title>
</head>
 
<body>
 
<script type="text/javascript">
  var numero = 9;
  var raiz = Math.sqrt(numero);
  document.write("A raiz quadrada de " + numero + " é " +
    raiz);
</script>
 
</body>
</html>

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

A raiz quadrada de 9 é 3


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

Como somar os valores dos elementos de um vetor de inteiros em Java

Quantidade de visualizações: 27244 vezes
Nesta dica eu mostro como podemos usar um laço for para obter a soma dos valores dos elementos de um vetor (ou matriz) de inteiros em Java. Veja que aqui eu criei um método que recebe o vetor e retorna um valor int contendo a soma de todos os elementos.

Veja o código completo para o exemplo:

package arquivodecodigos;
 
public class Estudos{
  public static void main(String[] args){
    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;
     
    // obtém a soma
    int soma = soma(valores);
     
    System.out.println("A soma dos valores é: " + soma);
   
    System.exit(0);
  }
 
  public static int soma(int[] a){
    int total = 0;
    for(int i = 0; i < a.length; i++){
      total += a[i];  
    }
     
    return total;
  }
}

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

A soma dos valores é: 211


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

Exercícios Resolvidos de Java - Usando laços for aninhados para desenhar uma pirâmide de números em Java (com o usuário informando a quantidade de linhas)

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

Escreva um programa Java que solicita ao usuário um número inteiro. Este número inteiro deverá estar entre 1 e 12 e será usado como a quantidade de linhas em uma pirâmide de números. Você deverá usar laços for aninhados para controlar as linhas e montar a estrutura desejada.

Sua saída deverá ser parecida com:

Informe a quantidade de linhas: 5

              1
           2  1  2
        3  2  1  2  3
     4  3  2  1  2  3  4
  5  4  3  2  1  2  3  4  5
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) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // vamos solicitar a quantidade de linhas
    System.out.print("Informe a quantidade de linhas: ");
    int numLinhas = Integer.parseInt(entrada.nextLine());
    
    // não queremos aceitar quantidades de linhas menores que 1 
    // ou maiores que 12
    if((numLinhas < 1) || (numLinhas > 12)){
      System.out.println("O número de linhas deve estar entre 1 e 12");
      System.exit(0);
    }
    
    // este laço externo controla as linhas
    System.out.println();
    for(int linha = 1; linha <= numLinhas; linha++){
      // este laço gera os espaços antes de cada número nas 
      // linhas da pirâmide
      for (int coluna = 1; coluna <= (numLinhas - linha); coluna++){
        System.out.print("   "); // três espaços aqui
      }
      
      // aqui nós exibimos os números de cada linha do lado
      // esquerdo da pirâmide, até o centro
      for(int i = linha; i >= 1; i--){
        // o número da linha é maior ou igual a 10? se for 
        // colocamos um espaço antes do número
        if(i >= 10){
          System.out.print(" " + i);  
        }
        else{ // o número da linha é menor que 10? vamos 
          //colocar dois espaços antes do número
          System.out.print("  " + i);  
        }
      }
      
      // e finalmente exibimos os números de cada linha no 
      // lado direito da pirâmide
      for (int i = 2; i <= linha; i++){
        // o número da linha é maior ou igual a 10? se for 
        // colocamos um espaço antes do número
        if(i >= 10){
          System.out.print(" " + i);  
        }
        else{ // o número da linha é menor que 10? vamos 
          // colocar dois espaços antes do número
          System.out.print("  " + i);  
        }
      }
      
      // gera uma nova linha
      System.out.println();
    }
    
    System.out.println();
  }
}



C++ ::: STL (Standard Template Library) ::: unordered_map

Como contar as frequências de palavras em uma frase ou texto em C++ usando um unordered_map

Quantidade de visualizações: 834 vezes
Nesta dica mostrarei como podemos usar o mapa não ordenado (unordered_map) da linguagem C++ para contar as frequências das palavras individuais de uma palavra ou texto. O exemplo mostrado aqui serve como base para a criação de aplicações muito interessantes.

Veja o código C++ completo:

#include <string>
#include <iostream>
#include <unordered_map>
#include <bits/stdc++.h>

using namespace std;

// protótipo da função que exibe a frequência de palavras em uma
// frase ou texto
void exibir_frequencias(const string &frase);

int main(int argc, char *argv[]){
  // vamos declarar uma frase
  // retirei acentos e pontuações de propósito
  string frase = "Gosto de Java e Python pois quero aprender Java";
  
  // mostramos a frase
  cout << "A frase é: " << frase << endl;
  
  // chamamos a função que exibe as frequencias
  cout << "\nA frequência das palavras é:\n" << endl;
  exibir_frequencias(frase);
 
  cout << "\n\n";
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

// função que exibe a frequência de palavras em uma
// frase ou texto
void exibir_frequencias(const string &frase){
  // vamos declarar um mapa que terá como chave uma string
  // e como valor um int
  unordered_map<string, int> frequencias;
  
  // agora convertemos a frase recebido como argumento
  // em um objeto stringstream
  stringstream ss(frase);
  
  // e percorremos as palavras individualmente
  string palavra;
  while (ss >> palavra){
    // essa palavra já existe no mapa?
    if (frequencias.find(palavra) == frequencias.end()){
      // adiciona esta palavra ao mapa
      frequencias[palavra] = 1;
    }
    else{
      // já existe. Vamos incrementar esta frequência
      frequencias[palavra] = frequencias[palavra] + 1;
    }
  }
  
  // agora percorremos o mapa não ordenado, acessando
  // cada chave e mostrando a frequencia de cada palavra
  unordered_map<string, int>:: iterator p;
  for (p = frequencias.begin(); p != frequencias.end(); p++){
    cout << "(" << p->first << ", " << p->second << ")\n";
  }
}

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

A frase é: Gosto de Java e Python pois quero aprender Java

A frequência das palavras é:

(aprender, 1)
(quero, 1)
(pois, 1)
(Gosto, 1)
(Java, 2)
(e, 1)
(de, 1)
(Python, 1)


C# ::: Windows Forms ::: ComboBox

Como retornar a quantidade de itens em um ComboBox do C# Windows Forms

Quantidade de visualizações: 9499 vezes
A quantidade de elementos (ou itens) em um ComboBox do C# Windows Forms pode ser obtida por meio da propriedade Count da classe ComboBox.ObjectCollection. Podemos ter acesso a esta classe a partir da propriedade Items da classe ComboBox.

Veja um trecho de código no qual obtemos a quantidade de itens em um ComboBox chamado cidades:

private void button1_Click(object sender, EventArgs e){
  int quant = cidades.Items.Count;
  MessageBox.Show("O ComboBox contém " + quant + " itens");
}



JavaScript ::: Dicas & Truques ::: Formulários

Como enviar um formulário via código - Enviar um formulário usando JavaScript - Como disparar o método submit() do form a partir de um link - Revisado

Quantidade de visualizações: 19909 vezes
Na maioria das páginas web, o formulário é enviado quando clicamos em um botão (o botão Enviar, por exemplo). Nesta dica mostrarei como é possível enviar um formulário clicando em um link, ou seja, disparando o método submit() do formulário HTML via programação mesmo.

Veja o código completo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<form name="cadastro" action="http://www.google.com" method="get">
  <input type="text" name="nome">
</form>
 
<a href="javascript:{document.cadastro.submit();}">Enviar o Formulário</a>
 
</body>
</html>

Abra esta página no seu servidor web, clique no link e veja o resultado.


Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular os esforços solicitantes majorados em pilares usando Python - Python para Engenharia Civil

Quantidade de visualizações: 540 vezes


Quando estamos dimensionando pilares em concreto armado em geral, a primeira coisa que devemos fazer é calcular os esforços solicitantes, ou seja, as cargas que estão chegando ao pilar.

No caso dos pilares intermediários, ou seja, pilares que residem fora dos cantos e extremidades da estrutura e que, por isso, recebem a carga em seu centro geométrico, considera-se a compressão centrada. Dessa forma, chamamos de Nk o somatório de todas as cargas verticais atuantes na estrutura e podemos desprezar as excentricidades de 1ª ordem.

De acordo com a NBR 6118 (ABNT, 2014), para a situação de projeto, essa força normal Nk deve ser majorada pelos coeficientes &#947;n e &#947;f, resultando em uma força normal de projeto chamada Nd.

O coeficiente &#947;n deve majorar os esforços solicitantes finais de cálculo de acordo com a menor dimensão do pilar. A norma diz que a menor dimensão que um pilar pode ter é 19cm, mas, em alguns casos, podemos ter a menor dimensão de até 14cm, precisando, para isso, majorar os esforços solicitantes. Nos comentários do código Python eu mostro como esse cálculo é feito, de acordo com a NBR 6118 (ABNT, 2014), é claro.

O coeficiente &#947;f, na maioria dos casos, possui o valor 1,4 e entra no cálculo para converter a força normal Nk em força normal de projeto Nd.

A fórmula para o cálculo dos esforços solicitantes majorados em pilares intermediários é:

\[ Nd = \gamma n \cdot \gamma f \cdot Nk \]

Onde:

&#947;n majora os esforços de acordo com a menor dimensão do pilar de acordo com a NBR 6118 (ABNT, 2014).

&#947;f em geral possui o valor 1.4 para majorar os esforços em estruturas de concreto armado.

Nk é a força normal característica aplicada ao pilar, em kN.

Nd é a força normal de projeto, em kN.

Vamos então ao código Python, que solicitará ao usuário os valores de suas dimensões hx e hy (em centímetros) e a carga, ou seja, a força normal característica chegando no pilar em kN e vamos mostrar a força normal de projeto Nd:

# método principal
def main():
  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # vamos pedir a carga total no pilar em kN
  Nk = float(input("Informe a carga total no pilar (em kN): "))

  # vamos obter o menor lado do pilar (menor dimensão da seção transversal)
  if (hx < hy):
    b = hx
  else:
    b = hy
  
  # agora vamos calcular a área do pilar em centímetros quadrados
  area = hx * hy

  # a área está de acordo com a norma NBR 6118 (ABNT, 2014)
  if (area < 360):
    print("A área do pilar não pode ser inferior a 360cm2")
    return

  # vamos calcular a força normal de projeto Nd
  yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
  yf = 1.4 # regra geral para concreto armado
  Nd = yn * yf * Nk

  # e mostramos os resultados
  print("\nA área do pilar é: {0} cm2".format(round(area, 2)))
  print("A menor dimensão do pilar é: {0} cm".format(round(b, 2)))
  print("O valor do coeficiente yn é: {0}".format(round(yn, 2)))
  print("A força normal de projeto Nd é: {0} kN".format(round(Nd, 2)))

if __name__== "__main__":
  main()

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

Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19
Informe a carga total no pilar (em kN): 841.35

A área do pilar é: 760.0 cm2
A menor dimensão do pilar é: 19.0 cm
O valor do coeficiente yn é: 1.0
A força normal de projeto Nd é: 1177.89 kN


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

Como remover quebras de linhas de uma string - Como usar o método replaceAll() da classe String para remover quebras de linha de um texto - Revisado

Quantidade de visualizações: 34 vezes
Nesta dica eu mostro como podemos usar o método replaceAll() da classe String para remover quebras de linha de uma palavra, frase ou texto. Veja:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String original = "Programar em Java\n é mais fácil do\n que você pensa."; 
    
    // vamos exibir a String original
    System.out.println("Original: " + original);
    
    // agora vamos remover as quebras de linha
    String nova = original.replaceAll("[\\n]", "");
    
    // vamos exibir a String sem as quebras de linha
    System.out.println("Sem quebras de linha: " + nova);
    
    System.exit(0);
  }
} 

Este código exibirá o seguinte resultado:

Original: Programar em Java
é mais fácil do
que você pensa.
Sem quebras de linha: Programar em Java é mais fácil do que você pensa.

Esta dica foi revisada e atualizada para o Java 8.


Python ::: cmath Python Module (Módulo Python cmath para números complexos) ::: Números Complexos (Complex Numbers)

Como converter um número complexo na forma retangular para a forma polar usando Python

Quantidade de visualizações: 2459 vezes
Quando estamos efetuando cálculos envolvendo números complexos, é comum precisarmos converter da forma retangular para a forma polar, e vice-versa.

Um número complexo na forma retangular apresenta o seguinte formato:

7 + j5


onde 7 é a parte real e 5 é a parte imaginária. Note que usei a notação "j" em vez de "i" para a parte imaginária, uma vez que a notação "j" é a mais comum na engenharia.

O número complexo na forma polar, por sua vez, é composto pelo raio e pela fase (phase), que é o ângulo theta (ângulo da inclinação da hipotenusa em relação ao cateto adjascente).

O raio, representado por r, é o módulo do vetor cujas coordenadas são formadas pela parte real e a parte imaginária do número complexo. A parte real se encontra no eixo das abcissas (x) e a parte imaginária fica no eixo das ordenadas (y).

Veja agora o código Python completo que lê a parte real e a parte imaginária de um número complexo e o exibe na forma polar:

# vamos importar o módulo de matemática de números complexos
import cmath

# método principal
def main():
  # vamos ler a parte real e a parte imaginária do
  # número complexo
  real = float(input("Parte real do número complexo: "))
  imaginaria = float(input("Parte imaginária do número complexo: "))

  # constrói o número complexo
  z = complex(real, imaginaria)

  # mostra o valor absoluto na forma polar
  print ("Valor absoluto (raio ou módulo): ", abs(z))
  # mostra a fase do número complexto na forma polar
  print("Fase em radianos: ", cmath.phase(z))
  print("Fase em graus: ", cmath.phase(z) * (180 / cmath.pi))
  
if __name__== "__main__":
  main()

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

Parte real do número complexo: 3
Parte imaginária do número complexo: -4
Valor absoluto (raio ou módulo): 5.0
Fase em radianos: -0.9272952180016122
Fase em graus: -53.13010235415598


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Algorítmos Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static)

Quantidade de visualizações: 15669 vezes
Exercícios Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static)

Pergunta/Tarefa:

Escreva uma classe Retangulo para representar um retângulo. A classe deve conter:

a) Dois campos de dados do tipo double chamados largura e altura que especificam a largura e a altura do retângulo. Os valores padrões são 1 tanto para a largura quanto para a altura.

b) Um campo de dado do tipo String chamado cor que especifica a cor do retângulo. Para este exercício em particular, assuma que TODOS os retângulos possuirão a mesma cor. A cor padrão é branco.

c) Um construtor sem argumentos que cria um retângulo padrão.

d) Um construtor que cria um retângulo com a largura e altura especificadas.

e) Métodos get() e set() para os três campos de dados da classe.

f) Um método chamado getArea() que retorna a área do retângulo.

g) Um método chamado getPerimetro() que retorna o perímetro do retângulo.

Escreva um programa de teste que cria dois objetos da classe Retangulo. Sua saída deverá ser parecida com:



Resposta/Solução:

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

Retangulo.java

package estudos;

public class Retangulo {
  private double largura; // largura do retângulo
  private double altura; // altura do retângulo
  
  // O exercício pede que TODOS os retângulos tenham a mesma cor
  // consulte a dica http://www.arquivodecodigos.net/dicas/1158 para mais
  // detalhes sobre o modificador static
  private static String cor = "branco"; // cor do retângulo

  // construtor sem argumentos
  public Retangulo(){
    this.largura = 1;
    this.altura = 1;
  }

  // construtor que permite especificar a largura e a altura
  public Retangulo(double largura, double altura){
    this.largura = largura;
    this.altura = altura;
  }

  // obtém a altura
  public double getAltura() {
    return altura;
  }

  // define a altura
  public void setAltura(double altura){
    this.altura = altura;
  }

  // obtém a largura
  public double getLargura(){
    return largura;
  }

  // define a largura
  public void setLargura(double largura){
    this.largura = largura;
  }
  
  // obtém a cor de TODOS os retângulos
  public static String getCor(){
    return cor;
  }

  // define a cor de TODOS os retângulos
  public static void setCor(String cor){
    Retangulo.cor = cor;
  }

  // este método retorna a área do retângulo (em metros quadrados)
  public double getArea(){
    return (this.largura * this.altura);  
  }
  
  // este método retorna o perímetro do retângulo (em metros)
  public double getPerimetro(){
    return ((2 * this.largura) + (2 * this.altura));  
  }
}

Agora o teste no método main():

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar uma instância da classe Retangulo com
    // os valores padrões
    Retangulo a = new Retangulo();
    
    // agora vamos informar a largura e a altura
    Retangulo b = new Retangulo(10, 5);
    
    // os dois retângulos terão a cor verde
    Retangulo.setCor("verde");
    
    // vamos mostrar os resultados do primeiro retângulo
    System.out.println("Primeiro retângulo");
    System.out.println("Largura: " + a.getLargura());
    System.out.println("Altura: " + a.getAltura());
    System.out.println("Cor: " + Retangulo.getCor());
    System.out.println("Área: " + a.getArea() + " metros quadrados");
    System.out.println("Perímetro: " + a.getPerimetro() + " metros");
    
    // vamos mostrar os resultados do segundo retângulo
    System.out.println("\nSegundo retângulo");
    System.out.println("Largura: " + b.getLargura());
    System.out.println("Altura: " + b.getAltura());
    System.out.println("Cor: " + Retangulo.getCor());
    System.out.println("Área: " + b.getArea() + " metros quadrados");
    System.out.println("Perímetro: " + b.getPerimetro() + " metros");
  }
}


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.