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
Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em Java

Quantidade de visualizações: 10330 vezes
Esta dica mostra como inserir nós no início de uma lista singularmente ligada. 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 um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no início 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. Vamos ao código para a lista singularmente ligada (Lista.java):

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

  // método 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");
  }
 
  // método que permite inserir nós no
  // início da lista.
  // veja que o método recebe o valor a ser
  // armazenado em cada nó
  public void inserirInicio(int v){
    No novo;

    // 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 início
      // vamos criar um novo nó agora
      novo = new No();
      // atribui o valor do nó
      novo.valor = v;
      // define o inicio da lista como campo proximo
      // do novo nó
      novo.proximo = inicio;
      // o novo nó é o início da lista agora
      inicio = novo;
    }
  }
}

Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (TesteLista.java):

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

    // vamos inserir quatro valores no
    // início da lista
    lista.inserirInicio(45);
    lista.inserirInicio(3);
    lista.inserirInicio(98);
    lista.inserirInicio(17);

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

    System.exit(0);   
  }  
}



Excel ::: Fórmulas do Excel ::: Matemática e Estatística

Como gerar números aleatórios no Excel usando a função ALEATÓRIO() - Excel para Matemática e Estatística

Quantidade de visualizações: 251 vezes
A função ALEATÓRIO() do Excel pode ser usada quando queremos gerar um número randômico, ou seja, um número aleatório entre 0 e 1. Nesse caso o número gerado é um número real aleatório que inclui o 0 mas não inclui o 1.

Para gerar um número randômico usando a função ALEATÓRIO, digite o conteúdo a seguir em uma célula ou na barra de fórmulas do Excel:

=ALEATÓRIO()

Pressione Enter ou Tab e você terá um resultado parecido com:

0,10075557

Note que a função ALEATÓRIO retorna um número aleatório real maior que ou igual a 0 e menor que 1 distribuído uniformemente. Um novo número aleatório real é retornado sempre que a planilha é calculada.


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

Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array

Quantidade de visualizações: 5030 vezes
Em várias ocasições temos códigos JavaScript envolvendo arrays (vetores, matrizes) e gostaríamos de eliminar os valores duplicados, ou seja, retornar um novo vetor sem elementos repetidos. Para isso podemos usar os métodos filter() e indexOf().

Como pode ser visto em dicas nesta mesma seção, o método filter() é usado para retornar apenas os elementos do vetor que se encaixem em uma determinada condição. O método indexOf(), por sua vez, retorna o índice da primeira ocorrência do elemento no vetor. Assim, a combinação desses dois métodos é perfeita para esta situação, ainda que você consiga fazer de outras formas.

Veja o trecho de código a seguir:

<script type="text/javascript">
  function removerDuplicados(valor, indice, vetor){
    // o índice desse elemento é o primeiro encontrado
    // no vetor?
    if(indice == vetor.indexOf(valor)){
      return true;
    }

    return false;
  }  

  var valores = new Array(6, 6, 1, 7, 3, 7, 1, 7, 4, 3, 5);
  // vamos obter um vetor sem repetições
  var novoVetor = valores.filter(removerDuplicados);
  // vamos mostrar o resultado
  window.alert(novoVetor);
</script>

Execute este código e veja que apenas os valores únicos serão retornados. Note agora como o mesmo código pode ser escrito de forma mais reduzida:

<script type="text/javascript">
  var valores = new Array(8, 8, 1, 7, 3, 7, 1, 7, 8, 3, 5);
  // vamos obter um vetor sem repetições
  var novoVetor = valores.filter(function(val, ind, vet){
    return vet.indexOf(val) == ind;
  });
  // vamos mostrar o resultado
  window.alert(novoVetor);
</script>



JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle

JavaScript para leigos - Como usar o laço while da linguagem JavaScript

Quantidade de visualizações: 7298 vezes
O laço while (também chamado de loop ou laço enquanto) da linguagem JavaScript é usado quando queremos repetir uma instrução ou um grupo de instruções ENQUANTO uma condição for satisfeita. Veja sua sintáxe:

while(condição){
  // uma instrução ou grupo de instruções
}

A condição pode ser qualquer expressão que resulte em um valor boolean (true ou false). Note também que o teste condicional é feito antes de cada iteração (repetição) do laço. Isso faz com que este laço, dependendo da condição inicial, possa nunca ser executado.

Veja um trecho de código no qual usamos o laço while para contar de 0 até 10:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var i = 0;
  while(i <= 10){
    document.write(i + "<br>");
    i++;
  }  
</script>

</body>
</html>

Ao executarmos este código teremos o seguinte resultado:

0
1
2
3
4
5
6
7
8
9
10

Veja que declaramos uma variável de controle i e a inicializamos com o valor 0. Na entrada do laço nós verificamos se seu valor é menor ou igual a 10. Como esta condição é satisfeita, o laço é executado pela primeira vez. No corpo do laço nós exibimos o valor da variável de controle e a incrementamos em 1. Agora o ciclo se repete. A condição é testada novamente. Se esta for satisfeita, o código entra no corpo do laço novamente e assim por diante.

Veja agora como modificar o laço while anterior para exibir os números de 10 até 0:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var i = 10;
  while(i >= 0){
    document.write(i + "<br>");
    i--;
  }  
</script>

</body>
</html>

Agora o resultado do código será:

10
9
8
7
6
5
4
3
2
1
0

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de Java - Como testar se um ano é bissexto em Java - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

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

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016.

Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400.

Escreva um programa Java que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o ano: 2024
O ano informado é bissexto.
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) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar que o usuário informe um ano
    System.out.print("Informe o ano: ");
    int ano = Integer.parseInt(entrada.nextLine());
    
    // vamos verificar se o ano informado é bissexto
    if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){
      System.out.println("O ano informado é bissexto.");  
    }
    else{
      System.out.println("O ano informado não é bissexto.");  
    }
    
    System.out.println("\n");
  }
}



C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico

Exercício Resolvido de C - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescente

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

Escreva um programa C que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida".

Sua saída deverá ser parecida com:

Primeiro número: 4
Segundo número: 8
Terceiro número: 11
Ordem Crescente
Resposta/Solução:

Veja a resolução comentada deste exercício em C:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do exercício
  int a, b, c;
	
  setlocale(LC_ALL,""); // para acentos do português
  
  // vamos pedir para o usuário informar três números
  printf("Primeiro número: ");
  scanf("%d", &a);
  printf("Segundo número: ");
  scanf("%d", &b);
  printf("Terceiro número: ");
  scanf("%d", &c);
    
  // os números estão em ordem crescente?
  if (a < b && b < c){
    printf("Ordem Crescente");
  }
  // os números estão em ordem decrescente?
  else if (a > b && b > c){
    printf("Ordem Decrescente");
  }
  // sem ordem definida
  else{
    printf("Sem ordem definida");
  } 
	
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como usar o método createTempFile() da classe File da linguagem Java para criar um arquivo temporário, escrever nele e excluí-lo ao fechar o programa - Revisado

Quantidade de visualizações: 160 vezes
Nesta dica mostrarei como é possível usar o método createTempFile() da classe File, do pacote java.io, para criar um arquivo temporário em Java. No exemplo vamos criar o arquivo, vamos escrever nele e depois excluí-lo ao fecharmos o programa.

Veja o código completo:

package arquivodecodigos;

import java.io.*;
 
public class Estudos{
  public static void main(String[] args){
    // local de criação do arquivo
    String local = "C:\\estudos_java";
      
    // vamos tentar criar o arquivo então
    try{
      File arquivo = File.createTempFile("teste", ".txt", new File(local));
     
      // vamos excluir o arquivo ao fechar a aplicação
      arquivo.deleteOnExit();
         
      // escreve no arquivo temporário
      BufferedWriter out = new BufferedWriter(new FileWriter(arquivo));
      out.write("Arquivo de Códigos");
      out.close();
         
      // trecho de código para fazer com o programa espere
      // uma tecla antes de fechar
      // Este procedimento é para que vc veja que o arquivo
      // temporario realmente foi criado no diretório indicado
      InputStreamReader ent = new InputStreamReader(System.in);
      BufferedReader cons = new BufferedReader(ent);
      System.out.println("Verifique se o arquivo foi criado com sucesso.");
      System.out.print("Digite alguma coisa e pressione Enter para sair: ");
      String tecla = cons.readLine();
    }
    catch(IOException e){
      System.out.println("Houve um erro: " + e.getMessage()); 
    }
  }
}

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

Verifique se o arquivo foi criado com sucesso.
Digite alguma coisa e pressione Enter para sair: b

Antes de digitar alguma coisa e pressionar Enter, olhe no diretório "C:\\estudos_java" (o seu vai ser diferente, é claro) e você verá um arquivo com um nome parecido com:

teste2606085315507863387.txt

Quando você pressionar Enter, o programa terminará e o arquivo será excluído automaticamente.

Esta dica foi revisada e testada no Java 8.


JavaScript ::: JavaScript para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a distância entre dois pontos no plano em JavaScript - JavaScript para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 5113 vezes
Como calcular a Distância Euclidiana entre dois pontos usando JavaScript

Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em JavaScript, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço).

Comece analisando a imagem abaixo:



Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y).

Veja a fórmula:

\[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\]

Agora, jogando os valores dos dois pontos da fórmula nós teremos:

\[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\]

Que resulta em 6,32 (aproximadamente).

E agora veja o código JavaScript completo que define as coordenadas dos dois pontos e mostra a distância entre eles:

<html>
<head>
  <title>Estudos JavaScript</title>
</head>
 
<body>
 
<script type="text/javascript">
  // função que permite calcular a distância
  // entre dois pontos no plano (R2)
  function distancia2d(x1, y1, x2, y2){
    var a = x2 - x1;
    var b = y2 - y1;
    var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
    return c;
  }
 
  // vamos definir os dados do primeiro ponto
  var x1 = 3;
  var y1 = 6;
    
  // vamos ler os dados do segundo ponto
  var x2 = 9;
  var y2 = 4;
    
  // vamos obter a distância entre eles
  var distancia = distancia2d(x1, y1, x2, y2);
  document.writeln("Distância entre os dois pontos: " +
    distancia);
</script>
 
</body>
</html>

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

Distância entre os dois pontos: 6.324555320336759


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

Como obter o valor de PI em Java usando a constante Math.PI

Quantidade de visualizações: 21499 vezes
A constante PI, ou simplesmente PI, é o valor da razão entre a circunferência de qualquer círculo e seu diâmetro. Veja a figura abaixo para melhor entendimento:



Em Java, o PI pode ser obtido por meio do uso da constante PI da classe Math. Seu valor é algo como: 3,14159...

Veja o trecho de código abaixo:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // obtém e exibe o valor da constante PI
    System.out.println("O valor de PI é: " + Math.PI);

    System.exit(0);
  }
}

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

O valor de PI é: 3.141592653589793


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica

Exercícios Resolvidos de Java - Como aplicar a Fórmula da Vazão pelo Método Racional em Java - De acordo com o método racional, a vazão máxima a ser considerada

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

Neste exercício de Java nós veremos como aplicar a Fórmula da Vazão pelo Método Racional para resolver uma questão de Hidrologia que caiu no concurso para Analista na Área de Engenharia Sanitária do MPE-MS em 2013.

1) De acordo com o método racional, a vazão máxima a ser considerada no projeto de um bueiro para uma chuva de intensidade igual a 2 mm/h, com duração igual ou superior ao tempo de concentração da bacia de contribuição que possui área igual a 18 km2 e coeficiente de escoamento superficial igual a 0,7 será, em m3/s, igual a

A) 5,4.

B) 7,0.

C) 11,5.

D) 14,0.

E) 25,2.

Sua saída deve ser parecida com:

Intensidade da chuva em mm/h: 2
Área da bacia em quilômetros quadrados: 18
Coeficiente de escoamento: 0.7
A vazão máxima é: 7.0
Resposta/Solução:

O primeiro passo para resolver esta questão é relembrando a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio).

Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo.

Eis a fórmula:

\[Q = \frac{C \cdot I \cdot A}{360} \]

Onde:

Q = vazão de pico (m3/s);

C = coeficiente de escoamento superficial que varia de 0 a 1.

I = intensidade média da chuva (mm/h);

A = área da bacia (ha), onde 1 ha = 10.000m2

Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora, mas a área da bacia está em quilômetros quadrados, o que exigirá uma conversão para hectares. No código Java eu mostro essa parte comentada.

Então, hora de vermos a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler a precipitação ou intensidade da chuva em mm/h
    System.out.print("Intensidade da chuva em mm/h: ");
    double intensidade = Double.parseDouble(entrada.nextLine());
    
    // vamos ler a área da bacia em quilômetros quadrados
    System.out.print("Área da bacia em quilômetros quadrados: ");
    double area_bacia = Double.parseDouble(entrada.nextLine());
    
    // vamos ler o coeficiente de escoamento
    System.out.print("Coeficiente de escoamento: ");
    double coeficiente = Double.parseDouble(entrada.nextLine());
    
    // agora vamos transformar quilômetros quadrados em
    // hectares
    area_bacia = area_bacia * 100;
    
    // e vamos calcular a vazão de pico em metros cúbicos
    double vazao = ((coeficiente * intensidade * area_bacia) / 360.0);
    
    // e mostramos o resultado
    System.out.println("A vazão máxima é: " + vazao);
  }
}


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