PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando PHPQuantidade de visualizações: 14910 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 PHP para a resolução: <? $principal = 2000.00; $taxa = 0.03; // 3% $meses = 3; $montante = $principal * pow((1 + $taxa), $meses); $juros = $montante - $principal; echo "O total de juros a ser pago é: " . $juros . "<br>"; echo "O montante a ser pago é: " . $montante; ?> Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: <? $principal = 2000.00; $taxa = 0.03; // 3% $meses = 3; $anterior = 0.0; for($i = 1; $i <= $meses; $i++){ $montante = $principal * pow((1 + $taxa), $i); $juros = $montante - $principal - $anterior; $anterior += $juros; echo "Mês: " . $i . " - Montante: " . $montante . " - Juros: " . $juros . "<br>"; } ?> |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string contém uma determinada substring em JavaScript usando a função includes()Quantidade de visualizações: 2724 vezes |
O método includes() da linguagem JavaScript foi adicionado ao objeto String na revisão ECMAScript 2015, ou ES6, também chamado de ECMAScript 6. Este método é chamado diretamente em uma variável do tipo string e retorna true se a palavra, frase ou texto possuir uma substring específica e false em caso contrário. Veja um exemplo no qual verificamos se uma frase contém a palavra "JavaScript": <!doctype html> <html> <head> <title>JavaScript 6</title> </head> <body> <script type="text/javascript"> var frase = "Gosto muito de HTML, PHP e JavaScript"; if(frase.includes("JavaScript")){ document.writeln("A frase contém a palavra JavaScript"); } else{ document.writeln("A frase não contém a palavra JavaScript"); } </script> </body> </html> Ao executarmos este código JavaScript nós teremos o seguinte resultado: A frase contém a palavra JavaScript É importante ter em mente que a função includes() diferencia letras maiúsculas de letras minúsculas. |
Java ::: Dicas & Truques ::: Data e Hora |
Como validar uma data em Java usando a classe GregorianCalendarQuantidade de visualizações: 13178 vezes |
Esta dica mostra a você como validar uma data em Java usando a classe GregorianCalendar. Veja que estamos usando o método set() para atribuir valores aos campos ano, mês e dia. Contudo, o valor para o dia está incorreto. Desta forma, ao chamarmos o método getTime() uma exceção do tipo IllegalArgumentException será lançada. Veja o código: import java.util.*; public class Estudos{ public static void main(String args[]){ try{ GregorianCalendar data = new GregorianCalendar(); data.setLenient(false); data.set(GregorianCalendar.YEAR, 2008); // ano data.set(GregorianCalendar.MONTH, 11); // mês // dia inválido data.set(GregorianCalendar.DATE, 32); // a validação da data ocorre aqui Date temp = data.getTime(); } catch(Exception e){ System.out.println("Data inválida."); e.printStackTrace(); } } } Ao executarmos este código teremos o seguinte resultado: Data inválida. java.lang.IllegalArgumentException: DAY_OF_MONTH at java.util.GregorianCalendar.computeTime(Unknown Source) at java.util.Calendar.updateTime(Unknown Source) at java.util.Calendar.getTimeInMillis(Unknown Source) at java.util.Calendar.getTime(Unknown Source) at Estudos.main(Estudos.java:14) |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em C# usando a função Sqrt() da classe MathQuantidade de visualizações: 29686 vezes |
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função Sqrt() da classe Math da linguagem C#. Veja o código completo: using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // vamos ler o valor Console.Write("Informe o valor desejado: "); double valor = Double.Parse(Console.ReadLine()); // vamos calcular a raiz quadrada double raiz = Math.Sqrt(valor); // e agora mostramos o resultado Console.WriteLine("A raiz quadrada do valor informado é: " + raiz); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função Sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string é maior, menor ou igual a outra em C# usando o método Compare()Quantidade de visualizações: 248 vezes |
Em algumas situações nós precisamos fazer a comparação de duas palavras, frase ou texto e verificar se as duas strings são iguais ou se uma é maior ou menor que a outra. Para isso nós podemos usar a função Compare() da classe String da linguagem C#. Este método retorna maior que 0 se a primeira string for maior que a segunda, menor que 0 se a primeira string for menor que a segunda e 0 se as duas strings forem iguais. Veja um código C# completo demonstrando o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { string palavra1 = "aacd"; string palavra2 = "abcd"; if (String.Compare(palavra1, palavra2) > 0) { Console.WriteLine("Palavra1 é maior que palavra2"); } else if (String.Compare(palavra1, palavra2) < 0) { Console.WriteLine("Palavra1 é menor que palavra2"); } else { Console.WriteLine("Palavra1 é igual a palavra2"); } Console.WriteLine("Pressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executarmos este código C# nós teremos o seguinte resultado: Palavra1 é menor que palavra2 |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em PHP usando as funções strtoupper() e mb_strtoupper()Quantidade de visualizações: 121 vezes |
As funções strtoupper() e mb_strtoupper() do PHP nos ajuda quando precisamos transformar uma string inteira para letras maiúsculas. Veja o seguinte exemplo:<?php // uma frase contendo letras minúsculas $frase = "PHP? Eu gosto de PHP"; echo "A frase é: " . $frase . "\n"; // agora vamos transformá-la em letras // maiúsculas $frase = strtoupper($frase); echo "A frase em letras maiúsculas é: " . $frase; ?> Ao executar este código PHP nós teremos o seguinte resultado: A frase é: PHP? Eu gosto de PHP A frase em letras maiúsculas é: PHP? EU GOSTO DE PHP A função mb_strtoupper(), por sua vez, é usada quando a palavra, frase ou texto contém acentuações. Nas versões mais recentes do PHP, a função strtoupper() sozinha não consegue converter caracteres minúsculas com acentos para caracteres maiúsculas acentuados. Por isso, a função mb_strtoupper() é usada. Veja: <?php // uma frase contendo letras minúsculas $frase = "Java? Não gosto muito de Java não"; echo "A frase é: " . $frase . "\n"; // agora vamos transformá-la em letras // maiúsculas $frase1 = strtoupper($frase); echo "Usando strtoupper(): " . $frase1; $frase2 = mb_strtoupper($frase, 'UTF-8'); echo "\nUsando mb_strtoupper(): " . $frase2; ?> Ao executar este código PHP nós teremos o seguinte resultado: A frase é: Java? Não gosto muito de Java não Usando strtoupper(): JAVA? NãO GOSTO MUITO DE JAVA NãO Usando mb_strtoupper(): JAVA? NÃO GOSTO MUITO DE JAVA NÃO Veja que usei o valor "UTF-8" como segundo argumento para a função mb_strtoupper(). Se necessário você pode fornecer o valor "ISO-8859-1" também. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como resolver o problema da Torre de Hanói recursivamenteQuantidade de visualizações: 2352 vezes |
Pergunta/Tarefa: Torre de Hanói, ou The Towers of Hanoi, é um "quebra-cabeça" que consiste em uma base contendo três pinos, em um dos quais são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca fique em cima de outro menor em nenhuma situação. O número de discos pode variar sendo que o mais simples contém apenas três. A solução da Torre de Hanói (The Towers of Hanoi) pode ser feita recursivamente da seguinte forma: O caso base (parada da recursão) é quando n = 1. Se n = 1 nós podemos simplesmente mover o disco de A para B, sem precisar passar pelo pino C. Quando n > 1 nós podemos dividir o problema original em três sub-problemas e resolvê-los sequencialmente. 1) Mova os primeiros n - 1 discos de A para C com a ajuda do pino B; 2) Mova o disco n de A para B; 3) Mova n - 1 discos do pino C para o pino B com a ajuda do pino A. Além de resolver o problema, seu programa deverá informar quantas chamadas recursivas foram feitas. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: package arquivodecodigos; import java.util.Scanner; public class Estudos { static int quantChamadasRecursivas = 0; // registra as chamadas recursivas public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de discos a serem usados na simulação System.out.print("Informe a quantidade de discos: "); int discos = Integer.parseInt(entrada.nextLine()); // resolve o problema recusivamente System.out.println("\nOs movimentos para resolver o problema foram:\n"); moverDiscos(discos, 'A', 'B', 'C'); System.out.println("\nForam feitas " + quantChamadasRecursivas + " chamadas recursivas"); System.out.println(); } // método recursivo que resolve o problema da Torre de Hanói public static void moverDiscos(int n, char daTorre, char paraTorre, char torreAux) { quantChamadasRecursivas++; // registra mais uma chamada recursiva if(n == 1){ // condição de parada System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + paraTorre); } else{ // faz mais uma chamada recursiva moverDiscos(n - 1, daTorre, torreAux, paraTorre); System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + paraTorre); moverDiscos(n - 1, torreAux, paraTorre, daTorre); } } } |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como obter parte de uma string usando a função substr() da linguagem PHPQuantidade de visualizações: 133 vezes |
Nesta dica eu mostrarei como podemos usar a função substr() do PHP para obter uma substring a partir de uma string, ou seja, parte de uma palavra, frase ou texto. Esta técnica é muito útil em aplicações PHP que efetuam manipulação de texto. A função substr() possui três parâmetros: substr(string, início, comprimento) Veja um código completo demonstrando seu uso: <html> <head> <title>Estudos PHP</title> </head> <body> <?php $frase = "Gosto muito de programar em PHP."; // vamos obter uma parte dessa frase. $parte = substr($frase, 6, 5); // mostra o resultado echo $frase . "<br>"; echo "Parte obtida: " . $parte; ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Gosto muito de programar em PHP. Parte obtida: muito |
Rust ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string é um valor numérico em Rust usando a função is_numeric()Quantidade de visualizações: 607 vezes |
Nesta dica mostrarei como podemos verificar se uma string possui um valor numérico válido, ou seja, é composta apenas pelos dígitos de 0 a 9. Note que criei uma função validar_string_numerica() que recebe a string e retorna um valor bool, indicando se a string é um valor númerico válido ou não. Note também o uso do método is_numeric() do tipo char para testar os caracteres individuais da string. Veja o código Rust completo para o exemplo: // função principal do programa Rust fn main() { // vamos declarar uma string let numero = "3a2221"; // vamos testar se a string é numérica if validar_string_numerica(numero.to_string()){ println!("A string {} é numérica", numero); } else{ println!("A string {} não é numérica", numero); } } // função quer permite verificar se uma string // possui um valor numérico válido fn validar_string_numerica(str: String) -> bool { // vamos varrer os caracteres da string for c in str.chars() { // o caractere atual não é numérico? if !c.is_numeric() { return false; } } // se chegou até aqui, a string é numérica return true; } |
AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como criar uma linha no AutoCAD usando Autocad VBA e a função AddLine() do objeto ModelSpaceQuantidade de visualizações: 679 vezes |
A função AddLine() do AutoCAD VBA nos permite desenhar uma linha mediante o fornecimento de um ponto inicial e um ponto final. Esta função é chamada a partir do objeto ModelSpace, que, por sua vez, está contido no objeto ThisDrawing. A função AddLine() recebe dois valores do tipo Variant, ou seja, um vetor de três elementos do tipo double, e retorna um objeto Line. Veja um código AutoCAD VBA completo no qual informamos as coordenadas x, y e z dos pontos inicial e final e desenhamos uma linha entre eles: ' Procedimento que permite desenhar uma linha entre dois pontos Sub DesenharLinhaDoisPontos() ' vamos declarar o objeto Line Dim linha As AcadLine ' o ponto inicial Dim pontoInicial(0 To 2) As Double ' o ponto final Dim pontoFinal(0 To 2) As Double ' vamos definir as coordenadas dos dois pontos. Uma boa idéia ' seria pedir para o usuário informar os pontos. Em outras dicas ' do site essa idéia é explorada pontoInicial(0) = 0: pontoInicial(1) = 0: pontoInicial(2) = 0 pontoFinal(0) = 350: pontoFinal(1) = 500: pontoFinal(2) = 0 ' e agora desenhamos a linha Set linha = ThisDrawing.ModelSpace.AddLine(pontoInicial, pontoFinal) ' e damos uma Zoom All na área de desenho ZoomAll End Sub Ao executar este código AutoCAD VBA nós teremos uma linha saindo do ponto x=0,y=0,z=0 e indo até o ponto x=350,y=500,z=0. |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() Java - Estruturas de Dados em Java - Como obter o nó com menor valor em uma árvore binária de busca em Java |
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 |