![]() |
|||||
|
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Java - Como efetuar cálculos de porcentagem em JavaQuantidade de visualizações: 55316 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em Java. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em Java: // Algoritmo que calcula porcentagem em Java package estudos; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema double valor, percentual, valor_final; valor = 178.00; // valor original percentual = 15.0 / 100.0; // 15% valor_final = valor + (percentual * valor); // mostra o resultado System.out.println("O valor final do produto é: " + valor_final); // O resultado será 204,70 } } Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em Java: // Algoritmo que calcula porcentagem em Java package estudos; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema double valor, percentual, valor_final; valor = 250.00; // valor original percentual = 8.0 / 100.0; // 8% valor_final = valor - (percentual * valor); // mostra o resultado System.out.println("O valor final do produto é: " + valor_final); // O resultado será 230,00 } } Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em Java: // Algoritmo que calcula porcentagem em Java package estudos; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema double perguntas, acertos; perguntas = 90.0; acertos = 72.0; // mostra a porcentagem de acertos System.out.print("Porcentagem de acertos: "); System.out.println(((acertos / perguntas) * 100) + "%"); // mostra a porcentagem de erros System.out.print("Porcentagem de erros: "); System.out.println((((perguntas - acertos) / perguntas) * 100) + "%"); // Os resultados serão 80% e 20% } } Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em Java: // Algoritmo que calcula porcentagem em Java package estudos; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema double valor_anterior, novo_valor, porcentagem_lucro; valor_anterior = 300.0; // valor anterior novo_valor = 340.0; // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100; System.out.println("A porcentagem de lucro foi de: " + porcentagem_lucro + "%"); // O resultado será 13,33 } } Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em Java: // Algoritmo que calcula porcentagem em Java package estudos; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema double valor, percentual, comissao; valor = 70.0; // valor do produto percentual = 5.0 / 100.0; // 5% // calcula a comissão comissao = percentual * valor; // mostra o resultado System.out.println("O valor repassado ao vendedor é: " + comissao); // O resultado será 3,5 } } |
AutoCAD VBA ::: Dicas & Truques ::: Comprimentos, distâncias e ângulos |
Como calcular a distância entre dois pontos no AutoCAD usando AutoCAD VBAQuantidade de visualizações: 351 vezes |
Em várias situações nós precisamos calcular e retornar a distância entre dois pontos na área de desenho do AutoCAD. Esta tarefa pode ser facilmente realizada com o uso da linguagem AutoCAD VBA. Neste exemplo nós usaremos a função ThisDrawing.Utility.GetPoint() para pedir para o usuário selecionar dois pontos na área de desenho e em seguida vamos mostrar a distância entre eles. Veja o código AutoCAD VBA completo para o exemplo: ' Esta macro AutoCAD VBA demonstra como podemos ' calcular a distância entre dois pontos na área de ' desenho do AutoCAD Sub DistanciaDoisPontos() ' vamos declarar os dois pontos geométricos Dim p As Variant Dim q As Variant ' para guardar as coordenadas temporárias Dim x As Double, y As Double, z As Double ' para guardar a distância Dim distancia As Double ' vamos pedir para o usuário informar os dois pontos p = ThisDrawing.Utility.GetPoint(, vbCrLf & _ "Indique o primeiro ponto: ") q = ThisDrawing.Utility.GetPoint(p, vbCrLf & _ "Indique o segundo ponto: ") ' agora calculamos a distância entre os dois pontos informados x = p(0) - q(0) y = p(1) - q(1) z = p(2) - q(2) distancia = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2)) ' e mostramos o resultado MsgBox "A distância entre os dois pontos é: " & distancia End Sub Ao executar este código AutoCAD VBA nós teremos o seguinte resultado: A distância entre os dois pontos é: 64.6029 |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando C++Quantidade de visualizações: 17377 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C++ para a resolução: #include <iostream> using namespace std; int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float montante = principal * pow((1 + taxa), meses); float juros = montante - principal; cout << "O total de juros a ser pago é: " << juros << "\n"; cout << "O montante a ser pago é: " << montante << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: #include <iostream> using namespace std; int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float anterior = 0.0; float montante; float juros; for(int i = 1; i <= meses; i++){ montante = principal * pow((1 + taxa), i); juros = montante - principal - anterior; anterior += juros; cout << "Mês: " << i << " - Montante: " << montante << " - Juros " << juros << "\n"; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundosQuantidade de visualizações: 11092 vezes |
Pergunta/Tarefa: Escreva um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com: Informe a duração do evento em segundos: 3712 Duração do evento: 01:01:52 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 duração em horas, minutos e segundos; int horas, minutos, segundos; int duracao_segundos; // guardará a duração em segundos // vamos solicitar a duração do evento em segundos System.out.print("Informe a duração do evento em segundos: "); // vamos ler os segundos informados duracao_segundos = Integer.parseInt(entrada.nextLine()); // vamos obter a quantidade de horas do evento horas = duracao_segundos / 3600; // vamos obter os minutos minutos = (duracao_segundos / 60) % 60; // vamos obter os segundos restantes segundos = duracao_segundos % 60; // vamos exibir a duração do evento em horas, minutos e segundos System.out.printf("Duração do evento: %02d:%02d:%02d\n\n", horas, minutos, segundos); } |
Java ::: Java Swing - JTable e classes relacionadas ::: JTable |
Como aplicar cores alternadas às linhas de uma JTable do Java SwingQuantidade de visualizações: 288 vezes |
Nesta dica eu mostrarei como aplicar o tão falado "efeito zebrinha" nas linhas de uma tabela JTable do Java Swing. A técnica é muito simples é, uma vez aprendida, possibilita a criação de códigos cada vez mais interessantes. Veja como efetuo uma chamada ao método prepareRenderer() para obter um Component representando a célula que está sendo renderizada. Se o índice da linha da célula for par e não estiver selecionada, nós efetuamos uma chamada à setBackground() da classe Component para definir a sua cor de fundo. Veja o código completo para o exemplo: package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.table.*; public class Estudos extends JFrame { public Estudos() { super("Exemplo de uma tabela com efeito zebrinha"); // colunas da tabela String[] colunas = {"Cidade", "Estado", "Habitantes"}; // conteúdo da tabela Object[][] conteudo = { {"Goiânia", "GO", "43.023.432"}, {"São Paulo", "SP", "5.343.234"}, {"Rio de Janeiro", "RJ", "6.434.212"}, {"Jussara", "GO", "87.454"}, {"Barra do Garças", "MT", "64.344"} }; // constrói a tabela final JTable tabela = new JTable(conteudo, colunas) { @Override public Component prepareRenderer(TableCellRenderer renderer, int rowIndex, int vColIndex) { Component c = super.prepareRenderer(renderer, rowIndex, vColIndex); if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex)) { c.setBackground(Color.YELLOW); } else { c.setBackground(getBackground()); } return c; } }; tabela.setPreferredScrollableViewportSize(new Dimension(350, 150)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]) { Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
Portugol ::: Dicas & Truques ::: Laços de Repetição |
Como somar os dígitos de um número em Portugol usando o laço ENQUANTO - Solução para número inteiro de qualquer tamanhoQuantidade de visualizações: 439 vezes |
Em algumas situações nós precisamos obter e retornar a soma dos dígitos de um número inteiro positivo. Em nosso site você encontra alguns exemplos de como isso pode ser feito. No entanto, ao contrário das outras dicas, aqui eu mostro como somar os dígitos de um número informado pelo usuário sem fixar o seu tamanho, ou seja, não há limites para a quantidade de dígitos. Veja o código Portugol completo para o exemplo: // Como somar os dígitos de um número em Portugol programa { funcao inicio() { inteiro numero, soma // inicia a soma como zero soma = 0 // vamos pedir um número inteiro positivo escreva("Informe um número inteiro positivo: ") // lê o número informado leia(numero) // enquanto o número for diferente de 0 enquanto (numero != 0) { // adiciona à soma o resultado da divisão do número por 10 soma = soma + (numero % 10) // agora dividimos os número por 10 (divisão inteira) e continuamos numero = inteiro(numero / 10) } // e mostramos o resultado escreva("A soma dos dígitos é: ", soma) } } Ao executar este código Portugol Web Studio nós teremos o seguinte resultado: Informe um número inteiro positivo: 1273 A soma dos dígitos é: 13 |
Java ::: Dicas & Truques ::: Data e Hora |
Como usar a classe GregorianCalendar do Java em suas aplicaçõesQuantidade de visualizações: 13673 vezes |
[Baseado na documentação Java] - A classe GregorianCalendar (do pacote java.util) é uma classe concreta derivada de Calendar que fornece o sistema de calendário padrão usado em praticamente todos os países. Veja sua posição na hierarquia de classes Java:java.lang.Object java.util.Calendar java.util.GregorianCalendar As interfaces implementadas por esta classe são Serializable, Cloneable e Comparable<Calendar>.[br][br] A classe GregorianCalendar é um calendário híbrido que suporta tanto o sistema de calendário juliano (Julian) quanto o gregoriano (Gregorian), com suporte para uma única descontinuidade, a qual corresponde por padrão à data gregoriana quando o calendário gregoriano foi instituido (15 de outubro de 1582 em alguns países, mais tarde em outros). Esta data pode ser alterada por meio de uma chamada ao método setGregorianChange(). Veja um trecho de código no qual criamos uma instância da classe GregorianCalendar usando a data e hora atual, o fuso horário (time zone) e localização (locale) padrão: import java.util.*; public class Estudos{ public static void main(String args[]){ Calendar agora = new GregorianCalendar(); System.out.println(agora.toString()); } } Observe como instanciamos um objeto da classe GregorianCalendar e o tratamos como um objeto da classe Calendar. Esta forma de referenciar um objeto da classe derivada a partir de uma interface ou superclasse é muito comum em Java. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercícios Resolvidos de C - Como testar se um número é potência de dois usando CQuantidade de visualizações: 672 vezes |
Pergunta/Tarefa: Escreva um programa C contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois Veja a resolução comentada deste exercício usando C: #include <stdio.h> #include <stdlib.h> #include <locale.h> // função que recebe um número inteiro e informe se ele é // potência de dois int is_potencia_dois(int n){ // usamos o operador AND de bits para verificar se n AND n-1 // é igual a 0 return (n > 0) && (n & (n - 1)) == 0; } int main(int argc, char *argv[]){ // variáveis usadas para int valor; setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar um valor inteiro printf("Informe um valor inteiro: "); scanf("%d", &valor); // vamos testar se o número informado é potência de dois if(is_potencia_dois(valor)){ printf("O valor %d é potência de dois", valor); } else{ printf("O valor %d não é potência de dois", valor); } printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de C - Escreva um programa C que usa o laço for para desenhar um padrão de diamante de estrelasQuantidade de visualizações: 2103 vezes |
Pergunta/Tarefa: Neste exercício para a prática da linguagem C você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar. O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante. Seu programa deve apresentar a seguinte saída: Informe a quantidade de linhas: 5 * *** ***** ******* ********* ******* ***** *** * Pressione qualquer tecla para continuar... Veja a resolução comentada deste exercício em C: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i, j; // para controlar o laço externo e interno int linhas; // quantidade de linhas int estrelas, espacos; // quantidade de estrelas e espaços // vamos pedir a quantidade de linhas printf("Informe a quantidade de linhas: "); // vamos ler a entrada do usuário scanf("%d", &linhas); estrelas = 1; // começamos com uma estrela (no topo do diamante) espacos = linhas - 1; // se linhas for igual a 5 nós começamos // com 4 espaços // repete duas vezes a quantidade de linhas informadas for(i = 1; i < linhas * 2; i++){ // vamos imprimir os espaços for(j = 1; j <= espacos; j++){ printf(" "); } // agora vamos imprimir estrelas for(j = 1; j < estrelas * 2; j++){ printf("*"); } // passamos para a próxima linha printf("\n"); if(i < linhas){ // é a parte superior do diamante espacos--; // diminui os espaços estrelas++; // e aumenta as estrelas } else{ // é a parte inferior do diamente espacos++; // aumenta os espaços estrelas--; // e diminui as estrelas } } printf("\n\n"); system("pause"); return 0; } |
Android Java ::: android.widget ::: Spinner |
Entenda e aprenda a usar a classe Spinner em suas aplicações AndroidQuantidade de visualizações: 2287 vezes |
Um objeto da classe Spinner no Android representa uma lista de itens, ou uma caixa de combinação, a partir da qual o usuário poderá escolher apenas uma opção. Em outras linguagens de programação tais como Delphi e C#, este controle é chamado de ComboBox. No Swing do Java, ele é chamado JComboBox. No HTML, nós o conhecemos como <select>. Veja a posição da classe Spinner na hieraquia de classes do Android: public class Spinner extends AbsSpinner implements DialogInterface.OnClickListener java.lang.Object android.view.View -> android.view.ViewGroup -> android.widget.AdapterView<android.widget.SpinnerAdapter> -> android.widget.AbsSpinner -> android.widget.Spinner Veja a seguir como podemos declarar um elemento Spinner no arquivo XML de layout: Spinner android:id="@+id/cidade" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_gravity="center" android:layout_margin="10dp" android:entries="@array/cidades_nomes" /> Note que o elemento Spinner que declaramos possui o id "cidade" e, a parte mais importante, o vetor "cidades_nomes" para o seu atributo entries. Este vetor foi declarado no arquivo strings.xml da seguinte forma: <string-array name="cidades_nomes"> <item>Goiânia</item> <item>Cuiabá</item> <item>São Paulo</item> <item>Rio de Janeiro</item> <item>Curitiba</item> </string-array> Pronto. Isso é tudo. Se você executar seu aplicativo agora, já verá um caixa de combinação, ou seja, um Spinner com os nomes de cinco cidades ser exibido na tela. Experimente selecionar um dos itens. Em mais dicas dessa seção você verá como obter o item selecionado, como disparar uma ação como resultado da mudança de seleção de itens, como adicionar itens ao Spinner em tempo de execução e muito mais. |
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 |
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 |