VB.NET ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em VB.NETQuantidade de visualizações: 1456 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código VB.NET completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: Imports System Module Program Sub Main(args As String()) Dim primo As Boolean = True ' Vamos assumir que o número é primo ' vamos solicitar um número inteiro positivo Console.Write("Informe um número inteiro positivo: ") Dim numero As Integer = Integer.Parse(Console.ReadLine()) ' o número é negativo? If numero < 0 Then Console.WriteLine("Número inválido.") ' é 0 ou 1? ElseIf ((numero = 0) Or (numero = 1)) Then Console.WriteLine("Número válido, mas não é primo.") ' passou até aqui. Vamos testar se o número é primo Else For i As Integer = 2 To (numero / 2) Step 1 ' se passar no teste, não é primo If (numero Mod i = 0) Then primo = False ' recebe False Exit For End If Next If (primo) Then Console.WriteLine("O número informado é primo") Else Console.WriteLine("O número informado não é primo") End If End If Console.WriteLine("\nPressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em C++ usando a função sin()Quantidade de visualizações: 3371 vezes |
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem C++. Esta função, disponível no header math.h, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: #include <iostream> #include <math.h> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ cout << "Seno de 0 = " << sin(0) << "\n"; cout << "Seno de 0 = " << sin(1) << "\n"; cout << "Seno de 0 = " << sin(2) << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Seno de 0 = 0 Seno de 0 = 0.841471 Seno de 0 = 0.909297 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma substring está contida em uma string usando a função strpos() do PHPQuantidade de visualizações: 3472 vezes |
Em algumas situações precisamos verificar se uma palavra (substring) está contida em uma frase (string). Isso pode ser feito com o auxílio da função strpos(). Veja um exemplo:<?php $frase = "Gosto muito de PHP e Java"; $palavra = "Java"; // vamos verificar se a palavra Java está contida na frase if(strpos($frase, $palavra) !== false){ echo "A palavra está contida na string"; } else{ echo "A palavra não está contida na string"; } ?> Ao executarmos este código nós teremos o seguinte resultado: A palavra está contida na string Note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos(). |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como comparar strings em Java usando o método equals() da classe StringQuantidade de visualizações: 316 vezes |
Em várias ocasiões nós precisamos efetuar a comparação de textos, frases ou palavras em Java. Para isso nós podemos usar o método equals() da classe String. Esta função recebe as duas strings a serem testadas e retorna true se as duas strings forem iguais e false em caso contrário. Veja um exemplo de seu uso: // Este exemplo mostra como comparar duas strings // em Java usando o método equals() package arquivodecodigos; public class Estudos{ public static void main(String[] args) { // vamos declarar duas strings String s1 = "Gosto de Java"; String s2 = "Gosto de java"; // e agora vamos verificar se as duas são iguais if(s1.equals(s2)){ System.out.println("As duas strings são iguais"); } else{ System.out.println("As duas strings são diferentes"); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: As duas strings são diferentes. É importante ter em mente que o método equals() diferencia maiúsculas de minúsculas. |
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como testar múltiplas condições usando a construção if...elseif...else da linguagem PHPQuantidade de visualizações: 9673 vezes |
A construção if...else (se...do contrário) pode ser extendida com o uso de elseif para testar múltiplas condições. Desta forma, você pode ter quantos blocos elseif (ou então se) você desejar. Veja o trecho de código a seguir:<?php $valor = 20; if($valor == 15){ echo "O valor é igual à 15"; } elseif($valor > 15){ echo "O valor é maior que 15"; } else{ echo "O valor é menor que 15"; } ?> Ao executar este código nós teremos o seguinte resultado: O valor é maior que 15 |
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: 9563 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"); } } } |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter um valor inteiro em um caractere usando a função Chr() do DelphiQuantidade de visualizações: 14371 vezes |
Em algumas situações precisamos converter um valor inteiro em um caractere, ou seja, uma letra, símbolo, dígito, etc. Para isso podemos usar a função Chr() do Delphi. Esta função recebe um valor inteiro e retorna seu caractere correspondente de acordo com a tabela ASCII. Vamos ver um exemplo? Eis um trecho de código que declara uma variável do tipo Integer e depois a converte para um caractere: procedure TForm3.Button2Click(Sender: TObject); var valor: Integer; letra: Char; begin // vamos atribuir à variável valor o número 70 valor := 70; // vamos converter este valor para um caractere // o resultado será a letra F letra := Chr(valor); // vamos mostrar o resultado ShowMessage(letra); end; Ao executar este código teremos o valor 70 convertido para a letra "F". Note que também é possível converter um valor inteiro em um caractere usando uma conversão forçada (cast) para o tipo Char. Veja: procedure TForm3.Button2Click(Sender: TObject); var valor: Integer; letra: Char; begin // vamos atribuir à variável valor o número 70 valor := 70; // vamos converter este valor para um caractere // o resultado será a letra F letra := Char(valor); // vamos mostrar o resultado ShowMessage(letra); end; Neste segundo trecho de código nós conseguimos o mesmo resultado do código anterior, mas, sem usar a função Chr(). |
C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C - Geometria Analítica e Álgebra Linear usando CQuantidade de visualizações: 4380 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código C que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ float x, y, norma; // vamos ler os valores x e y printf("Informe o valor de x: "); scanf("%f", &x); printf("Informe o valor de y: "); scanf("%f", &y); // vamos calcular a norma do vetor norma = sqrt(pow(x, 2) + pow(y, 2)); // mostra o resultado printf("A norma do vetor é: %f", norma); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando C++Quantidade de visualizações: 17365 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; } |
C# ::: Namespace System.Drawing ::: Image |
Gráficos C# Windows Forms - Como usar a classe Image em suas aplicações C#Quantidade de visualizações: 6505 vezes |
A classe Image, do namespace System.Drawing (no assemply System.Drawing.dll) é uma classe abstrata de base que fornece funcionalidades para as classes derivadas Bitmap e Metafile (que são classes concretas e sealed, ou seja, não podem ter suas funcionalidades herdadas por outras classes). Por ser uma classe abstrata, não podemos criar novas instâncias de Image (usando new()). Em vez disso nós a usamos apenas para chamar seus métodos estáticos ou como referência para as classes derivadas. Veja um trecho de código no qual carregamos um bitmap e o exibimos em um PictureBox: private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Veja que declaramos uma Image e a usamos como referência a um Bitmap. É claro que podemos perfeitamente trocar a linha: Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); por: Bitmap imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); O código compila normalmente, mas aí perdemos todo o poder que o polimorfismo nos entrega. Sempre que possível, devemos programar em cima das interfaces, superclasses e classes abstratas. Além dos métodos estáticos, a classe Image fornece várias propriedades. Veja uma modificação do exemplo anterior no qual obtemos a largura e a altura da imagem que foi carregada: private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; // vamos exibir a largura e altura da imagem MessageBox.Show("A imagem carregada possui a largura de " + imagem.Width + " pixels e altura de " + imagem.Height + " pixels."); } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Depois de carregada a imagem você verá uma mensagem parecida com: A imagem carregada possui a largura de 80 pixels e altura de 50 pixels. |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como remover elementos duplicados de um array em JavaScript usando um Set e o método Array.from() GNU Octave - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU Octave |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elas JavaScript - Cookies em JavaScript - Como registrar a quantidade de vezes que o usuário visitou a sua página HTML Delphi - Como carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la no formulário usando Delphi |
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 |