![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java - Como usar o tipo de dados double da linguagem JavaQuantidade de visualizações: 22160 vezes |
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:public class Estudos{ public static void main(String args[]){ double valor = 54.5; System.out.println("O valor da variável é: " + valor); System.exit(0); } } É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem. Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja: double valor = 54.5; int valor2 = (int)(valor); É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast. Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal. |
CSS ::: Dicas & Truques ::: Barras de Navegação, Menus e Dropdowns |
Como criar uma barra de navegação horizontal com menu dropdown em HTML e CSS - Menu suspenso usando CSSQuantidade de visualizações: 958 vezes |
Nesta dica mostrarei como podemos usar uma combinação de várias propriedades CSS para criar um menu suspenso, ou seja, uma barra de navegação contendo links normais e também links que, ao passar o mouse, exibe uma lista de sub-menus. O código apresentado neste exemplo é muito útil para estudantes de HTML e CSS, pois apresenta várias propriedades interessantes para melhorar o visual e a usabilidade de suas páginas web. Entre as propriedades CSS usadas na criação deste menu suspenso nós podemos citar overflow, margin, padding, list-style-type, background-color, display, float, text-align, text-decoration, position, min-width e z-index. Note que coloquei o mínimo de código para fazer a barra de menus funcional. Fique à vontade para acrescentar as formatações que você achar interessante. Veja a página HTML e CSS para o exemplo: <!doctype html> <html> <head> <title>Estudos CSS</title> <style> /* estiliza o elemento <ul> */ ul{ background-color: #e0e0e0; margin: 0; padding: 0; overflow: hidden; list-style-type: none; } /* aplica estilo aos elementos <li> */ li{ float: left; } /* aplica estilo aos links e <li> do sub-menu */ li a, .dropdown_linguagens{ display: inline-block; text-align: center; padding: 10px 15px; text-decoration: none; } /* define o display do <li> de linguagens */ li.linguagens{ display: inline-block; } /* aplica estilo ao menu de linguagens */ .menus_linguagens{ display: none; position: absolute; background-color: #eceff1; min-width: 160px; z-index: 1; } /* aplica estilo aos links do sub-menu */ .menus_linguagens a { padding: 10px 15px; text-decoration: none; display: block; text-align: left; } /* exibe o sub-menu ao passar o mouse */ .linguagens:hover .menus_linguagens{ display: block; } /* aplica uma cor diferente aos menus ao passar o mouse */ .menus_linguagens a:hover{ background-color: #cfd8dc; } </style> </head> <body> <h1>Exemplo de Barra de Navegação com Menu Dropdown</h1> <ul> <li><a href="index.php">Inicial</a></li> <li class="linguagens"> <a href="javascript:void(0)" class="dropdown_linguagens"> Linguagens</a> <div class="menus_linguagens"> <a href="java.php">Java</a> <a href="python.php">Python</a> <a href="ruby.php">Ruby</a> <a href="delphi.php">Delphi</a> </div> </li> </ul> </body> </html> |
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 índiceQuantidade de visualizações: 7075 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 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 } Informe o índice: 6 O número de Fibonacci no índice informado é: 8 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); } } } |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Uma empresa de táxi cobra a bandeirada de R$ 5,00 e ainda o valor de R$ 1,50 para cada quilômetro rodadoQuantidade de visualizações: 625 vezes |
Pergunta/Tarefa: Uma empresa de táxi cobra a bandeirada de R$ 5,00 e ainda o valor de R$ 1,50 para cada quilômetro rodado. Escreva um programa em Python que pede a distância de uma corrida em quilômetros e mostre o valor a ser pago pelo cliente. Sua saída deverá ser parecida com: Distância da corrida (km): 15 O valor da corrida foi: R$ 27.50 Veja a resolução comentada deste exercício usando Python: # Calcular o valor da corrida de um táxi em Python # função principal do programa def main(): # vamos solicitar a distância da corrida em quilômetros distancia_km = int(input("Distância da corrida (km): ")) # sabemos que o valor fixo é R$ 5,00 valor_fixo = 5.0 # sabemos também que o valor por quilõmetro rodado é R$ 1,50 valor_km_rodado = 1.5 # então já podemos calcular o valor da corrida valor_corrida = valor_fixo + (distancia_km * valor_km_rodado) # e mostramos o resultado print("O valor da corrida foi: R$ {0}".format(valor_corrida)) if __name__== "__main__": main() |
C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em C++ dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 2308 vezes |
Nesta dica mostrarei como é possível usar a linguagem C++ 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): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código C++. Veja: #include <iostream> #include <math.h> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ float a = 20; // medida do cateto oposto float b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da hipotenusa float c = sqrt(pow(a, 2) + pow(b, 2)); // e mostramos o resultado cout << "O comprimento da hipotenusa é: " << c << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.0555 Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o tamanho de uma string em C# usando a propriedade LengthQuantidade de visualizações: 500 vezes |
Nesta dica mostrarei como podemos usar a propriedade Length da classe String da linguagem C# para obter o tamanho, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Veja um exemplo de seu uso: using System; namespace Estudos { class Program { static void Main(string[] args) { string nome = "Marcos"; int tam = nome.Length; Console.WriteLine("Esta string contém {0} caracteres", tam); } } } Ao executarmos este código C# nós teremos o seguinte resultado: Esta string contém 6 caracteres |
Java ::: Coleções (Collections) ::: ArrayList |
Como rotacionar os elementos de uma ArrayList do Java para frente ou para trás usando o método rotate()Quantidade de visualizações: 11369 vezes |
Nesta dica mostrarei como podemos usar o método rotate() da classe Collections da linguagem Java para rotacionar os elementos de uma ArrayList. Veja sua assinatura:void rotate(List<?> list, int distance) Este método faz com que um elemento na posição i seja movido para a posição (distance + i) % list.size(). Se você quiser inverter a ordem da rotação, forneça um valor negativo para o argumento distance. Veja o código completo para o exemplo: package estudos; import java.util.ArrayList; import java.util.Collections; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); // exibe os elementos da ArrayList System.out.println("Antes da rotação:\n"); for(int i = 0; i < nomes.size(); i++) System.out.println(nomes.get(i)); // Vamos rotacionar os elementos uma posição Collections.rotate(nomes, 1); // exibe os elementos da ArrayList System.out.println("\nDepois da rotação:\n"); for(int i = 0; i < nomes.size(); i++) System.out.println(nomes.get(i)); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Antes da rotação: Carlos Maria Fernanda Osmar Depois da rotação: Osmar Carlos Maria Fernanda |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de dimensões de uma matriz em C# usando a propriedade RankQuantidade de visualizações: 8286 vezes |
A propriedade Rank de um array do C# pode ser usada para obtermos a quantidade de dimensões de uma matriz (unidimensional, bidimensional, tridimensional, etc). Esta propriedade retorna um inteiro contendo a quantidade de dimensões. Veja o código para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { // cria uma matriz de duas dimensões: quatro linhas // e duas colunas int[,] matriz = new int[4, 2]; // obtém a quantidade de dimensões int dimen = matriz.Rank; Console.WriteLine("Este array possui " + dimen + " dimensões."); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Este array possui 2 dimensões. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que solicita ao usuário que informe sua idade em anos, meses e dias e mostre sua idade em diasQuantidade de visualizações: 14142 vezes |
Pergunta/Tarefa: Escreva um programa Java que solicite ao usuário que informe sua idade em anos, meses e dias, ou seja, sua idade atual em anos e a quantidade de meses e dias decorridos desde seu aniversário. Seu programa deverá exibir uma saída parecida com: Informe sua idade em anos, meses e dias Anos: 25 Meses: 2 Dias: 12 Idade expressa em dias: 9197 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner): public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // variáveis que vão guardar a idade em anos, meses e dias; int anos, meses, dias; int idade_dias; // guardará a idade em dias System.out.println("Informe sua idade em anos, meses e dias"); // obtém os anos System.out.print("Anos: "); anos = Integer.parseInt(entrada.nextLine()); // obtém os meses System.out.print("Meses: "); meses = Integer.parseInt(entrada.nextLine()); // obtém os dias System.out.print("Dias: "); dias = Integer.parseInt(entrada.nextLine()); // vamos calcular a idade em dias idade_dias = (anos * 365) + (meses * 30) + dias; // vamos exibir o resultado System.out.println("Idade expressa em dias: " + idade_dias); } |
Java ::: Pacote java.lang ::: Character |
Como usar o método isDigit() da classe Character da linguagem Java para verificar se um caractere é um dígito de 0 a 9Quantidade de visualizações: 9662 vezes |
Em algumas situações, principalmente quando estamos validando dados informados pelo usuário, pode ser necessário verificar se um determinado caractere é um dígito de 0 a 9. Isso pode ser feito por meio do método isDigit() da classe Character. Este método estático recebe um caractere como argumento e retorna true se o caractere for um dígito e false em caso contrário. Veja um exemplo no qual lemos um caractere informado pelo usuário e informamos se o mesmo é um dígito ou não: import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { // vamos pedir ao usuário para informar um caractere qualquer char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0); // vamos testar se o caractere informado é um dígito if(Character.isDigit(caractere)){ JOptionPane.showMessageDialog(null, "O caractere informado é um dígito"); } else{ JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito"); } } } Uma outra forma de verificar se um determinado caractere é um dígito é testar se o retorno de uma chamada ao método estático getType() da classe Character é a constante DECIMAL_DIGIT_NUMBER, também definida na classe Character. Veja uma modificação do exemplo anterior: import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { // vamos pedir ao usuário para informar um caractere qualquer char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0); // vamos testar se o caractere informado é um dígito if(Character.getType(caractere) == Character.DECIMAL_DIGIT_NUMBER){ JOptionPane.showMessageDialog(null, "O caractere informado é um dígito"); } else{ JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito"); } } } Finalmente, veja como ler uma string e verificar se ela contém apenas dígitos de 0 a 9: import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { // vamos pedir ao usuário para informar uma string String str = JOptionPane.showInputDialog("Informe uma string:"); // vamos verificar se a string contém apenas dígitos de 0 a 9 boolean soDigitos = true; // percorre todos os caracteres da string for(int i = 0; i < str.length(); i++){ if(!Character.isDigit(str.charAt(i))){ soDigitos = false; break; } } if(soDigitos){ JOptionPane.showMessageDialog(null, "A string contém apenas dígitos"); } else{ JOptionPane.showMessageDialog(null, "A string não contém somente dígitos"); } } } |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScript MySQL - Como formatar campos DATE, TIME, DATETIME e TIMESTAMP usando a função DATE_FORMAT() do MySQL PHP - Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHP |
Você também poderá gostar das dicas e truques de programação abaixo |
GNU Octave - GNU Octave para Álgebra Linear - Como calcular o determinante de uma matriz usando a função det() do GNU Octave wxWidgets - Como baixar, compilar a biblioteca e criar um projeto C++ wxWidgets usando o Visual Studio 2017 |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |