Você está aqui: Java ::: Pacote java.util ::: ArrayList |
|
Java Avançado - Como ordenar uma ArrayList em ordem crescente de elementos repetidosQuantidade de visualizações: 2318 vezes |
|
Em algumas situações nós gostaríamos de ordenar uma List (uma ArrayList, por exemplo) em ordem crescente ou decrescente baseado no número de vezes que um determinado elemento se repete. Este é um exercício interessante, pois mostra como podemos combinar a interface List, a classe ArrayList, a interface Map, a classe HashMap e ainda o método sort() da classe Collections. Nosso objetivo é ordenar um vetor de inteiros contendo alguns elementos repetidos, de forma que o resultado final seja algo como: 2, 3, 4, 6, 50, 9, 9, 7, 7, 7 Veja o código completo para o exemplo. Note como pedimos para o usuário informar 10 valores inteiros e depois os ordenamos por ordem crescente de quantidade de repetições dos elementos (elementos com menos repetições vêm primeiro): package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(final String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // uma list de inteiros List<Integer> valores = new ArrayList(); // vamos pedir para o usuário informar 10 valores inteiros for(int i = 0; i < 10; i++){ System.out.print("Informe um valor inteiro: "); // vamos adicionar este valor à lista valores.add(Integer.parseInt(entrada.nextLine())); } // agora criamos um Map para contar as repetições Map<Integer, Integer> quants = new HashMap(); // e percorremos todos os elementos da segunda lista for(Integer item : valores){ Integer quant = quants.get(item); ...... Ao executarmos este código Java nós teremos o seguinte resultado: Informe um valor inteiro: 9 Informe um valor inteiro: 9 Informe um valor inteiro: 4 Informe um valor inteiro: 2 Informe um valor inteiro: 50 Informe um valor inteiro: 7 Informe um valor inteiro: 3 Informe um valor inteiro: 7 Informe um valor inteiro: 7 Informe um valor inteiro: 6 [2, 3, 4, 6, 50, 9, 9, 7, 7, 7] |
|
Link para compartilhar na Internet ou com seus amigos: | |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Python - Como efetuar cálculos de porcentagem em PythonQuantidade de visualizações: 24806 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 Python. 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 Python: # Algoritmo que calcula porcentagem em Python def main(): valor = 178.00 # valor original percentual = 15.0 / 100.0 # 15% valor_final = valor + (percentual * valor) # mostra o resultado ...... 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 Python: # Algoritmo que calcula porcentagem em Python def main(): valor = 250.00 # valor original percentual = 8.0 / 100.0 # 8% valor_final = valor - (percentual * valor) ...... 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 Python: # Algoritmo que calcula porcentagem em Python def main(): perguntas = 90.0 acertos = 72.0 # mostra a porcentagem de acertos print("Porcentagem de acertos: {0}%".format((acertos / perguntas) * 100)) ...... 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 Python: # Algoritmo que calcula porcentagem em Python def main(): 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 ...... 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 Python: # Algoritmo que calcula porcentagem em Python def main(): valor = 70.0 # valor do produto percentual = 5.0 / 100.0 # 5% # calcula a comissão comissao = percentual * valor ...... |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando CQuantidade de visualizações: 11233 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 <stdio.h> #include <stdlib.h> #include <math.h> 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); ...... Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: #include <stdio.h> #include <stdlib.h> #include <math.h> 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++){ ...... |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como obter o índice do item selecionado em uma ListBox do Delphi usando a propriedade ItemIndex da classe TListBoxQuantidade de visualizações: 14572 vezes |
Muitas vezes precisamos saber o índice do item atualmente selecionado em uma ListBox. Para isso podemos obter o valor da propriedade ItemIndex. Esta propriedade retorna um valor inteiro correspondente ao índice do item selecionado. O primeiro item da lista possui o índice 0. Se nenhum item estiver selecionado, ItemIndex retorna -1. Veja o exemplo: procedure TForm1.Button2Click(Sender: TObject); var indice: Integer; begin // vamos obter o índice do item selecionado na ListBox indice := ListBox1.ItemIndex; ...... Note que esta propriedade não se aplica às ListBoxes de seleção múltipla. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Lisp ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para EngenhariaQuantidade de visualizações: 346 vezes |
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código LISP completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y): ; programa LISP que converte Coordenadas Polares ; em Coordenadas Cartesianas (let((raio)(theta)(graus)(x)(y)) ; vamos ler o raio e o ângulo (princ "Informe o raio: ") (force-output) (setq raio (read)) (princ "Informe o theta: ") (force-output) (setq theta (read)) (princ "Theta em graus (1) ou radianos (2): ") (force-output) ...... Ao executar este código LISP nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0,00, y = 1,00) |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todas as ocorrências de uma substring em uma string Delphi usando a função ReplaceStr()Quantidade de visualizações: 15984 vezes |
Algumas vezes precisamos substituir todas as ocorrências de uma substring em uma string. Em Delphi isso pode ser feito com o auxílio da função ReplaceStr(). Esta função requer a string na qual a substituição ocorrerá, a substring a ser substituída e a nova substring. O resultado será uma nova string resultante da substituição. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'PHP? Sim, eu gosto muito de PHP'; // vamos substituir todas as ocorrências de "PHP" por "Delphi' ...... Lembre-se de que esta função diferencia maiúsculas e minúsculas. Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do Delphi |
Dicas e truques de outras linguagens |
Delphi - Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr() |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |