Você está aqui: VB.NET ::: Dicas & Truques ::: Matemática e Estatística |
|
Como calcular a área de um círculo usando VB.NETQuantidade de visualizações: 12494 vezes |
|
'Este programa mostra como calcular a área 'de um círculo mediante a informação do raio. Module Module1 Sub Main() Dim area, raio As Double Console.Write("Informe o raio do círculo: ") raio = CDbl(Console.ReadLine()) area = Math.PI * Math.Pow(raio, 2) Console.WriteLine("A area do círculo de raio " & _ raio & " é igual a " & area) Console.WriteLine() Console.WriteLine("Pressione uma tecla para sair...") Console.ReadKey() End Sub End Module |
|
Link para compartilhar na Internet ou com seus amigos: | |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de C - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 2049 vezes |
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa C que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando C: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]){ setlocale(LC_ALL,""); // para acentos do português int lado_a, lado_b, lado_c; // vamos ler o primeiro lado do triângulo printf("Informe o primeiro lado do triângulo: "); scanf("%d", &lado_a); // vamos ler o segundo lado do triângulo printf("Informe o segundo lado do triângulo: "); scanf("%d", &lado_b); // vamos ler o terceiro lado do triângulo printf("Informe o terceiro lado do triângulo: "); scanf("%d", &lado_c); // os lados informados formam um triângulo? if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) && (lado_c < (lado_a + lado_b))){ // é um triângulo equilátero (todos os lados iguais)? if((lado_a == lado_b) && (lado_b == lado_c)){ printf("\nO triângulo é equilátero\n"); } else{ // é isósceles (dois lados iguais e um diferente)? if((lado_a == lado_b) || (lado_a == lado_c) || (lado_c == lado_b)){ printf("\nO triângulo é isósceles\n"); } else{ // é escaleno printf("\nO triângulo é escaleno\n"); } } } else{ printf("\nOs lados informados não formam um triângulo.\n"); } printf("\n\n"); system("pause"); return 0; } |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com JavaQuantidade de visualizações: 640 vezes |
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Java, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Java que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo: package estudos; // vamos declarar a classe Circulo class Circulo{ double xc; double yc; double raio; public Circulo(double xc, double yc, double raio){ this.xc = xc; // x do centro this.yc = yc; // y do centro this.raio = raio; // raio do círculo } } // agora vamos declarar a classe Ponto class Ponto{ double x; double y; public Ponto(double x, double y){ this.x = x; // coordenada x this.y = y; // coordenada y } } // classe principal da aplicação public class Estudos{ public static void main(String[] args){ // vamos criar um objeto Circulo Circulo c = new Circulo(205, 166, 115); // vamos criar um objeto Ponto Ponto p = new Ponto(140, 90); // vamos verificar se o ponto está dentro do // círculo double dx = p.x - c.xc; double dy = p.y - c.yc; if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){ System.out.println("O ponto está dentro do círculo"); } else{ System.out.println("O ponto NÃO está dentro do círculo"); } } } Ao executar este código Java nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Java Básico - Exercícios Resolvidos de Java - Ex. 30 - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sêniorQuantidade de visualizações: 3003 vezes |
Pergunta/Tarefa: Escreva um programa Java que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras: a) De 5 a 7 anos - Infantil; b) De 8 a 10 anos - Juvenil; c) De 11 a 15 anos - Adolescente; d) De 16 a 30 anos - Adulto; e) Acima de 30 anos - Sênior. Sua saída deverá ser parecida com: Resposta/Solução: 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) { Scanner entrada = new Scanner(System.in); // vamos solicitar a idade do nadador System.out.print("Informe sua idade: "); int idade = Integer.parseInt(entrada.nextLine()); // vamos verificar a categoria do nadador if((idade >= 5) && (idade <= 7)){ System.out.println("Sua categoria é Infantil"); } else if((idade >= 8) && (idade <= 10)){ System.out.println("Sua categoria é Juvenil"); } else if((idade >= 11) && (idade <= 15)){ System.out.println("Sua categoria é Adolescente"); } else if((idade >= 16) && (idade <= 30)){ System.out.println("Sua categoria é Adulto"); } else if(idade > 30){ System.out.println("Sua categoria é Sênior"); } else{ System.out.println("Não pertence a nenhuma categoria."); } System.out.println("\n"); } } |
Java ::: Java Swing - Componentes Visuais ::: JList |
Como retornar os índices dos itens selecionados em uma JList de seleção múltipla do Java SwingQuantidade de visualizações: 7568 vezes |
Em outra dica desta seção nós vimos como obter e retornar os valores selecionados em uma JList de múltipla seleção do Java Swing. Agora veremos como retornar os índices dos valores selecionados. Para isso nós vamos usar o método getSelectedIndices(), que retorna um vetor (array) de inteiros. Note o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() da JList para indicar a forma de seleção que estamos usando no exemplo. Veja o código Java Swing completo para o exemplo: package estudos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JList lista; public Estudos() { super("A classe JList"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria a JList lista = new JList(nomes); // Define a seleção múltipla para a lista lista.setSelectionMode( ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // Um botão que permite obter os índices do itens // selecionados JButton btn = new JButton("Obter índices selecionados"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int[] indices = lista.getSelectedIndices(); String res = "Índices selecionados:\n"; for(int i = 0; i < indices.length; i++) res += indices[i] + "\n"; JOptionPane.showMessageDialog(null, res); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Lembre-se que as teclas Ctrl ou Shift devem estar pressionadas enquanto escolhemos os itens de uma JList de seleção múltipla. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Árvores Binárias e Árvores Binárias de Busca |
Exercícios Resolvidos de Java - Travessia de uma árvore binária de busca usando o percurso em-ordem (in-order, In-ordem ou ordem simétrica)Quantidade de visualizações: 1916 vezes |
Pergunta/Tarefa: O percurso em ordem (em-ordem, in-order, In-ordem ou ordem simétrica) é usado quando queremos exibir os valores dos nós da árvore binária de busca em ordem ascendente. Neste tipo de percurso nós visitamos primeiramente a sub-árvore da esquerda, então o nó atual e finalmente a sub-árvore à direita do nó atual. É importante notar que esta travessia é feita por meio de uma função recursiva. Escreva um programa Java que contenha uma árvore binária de busca cujos nós guardarão, além das referências para o filho esquerdo e o filho direito, apenas um valor inteiro. Forneça uma função inserir() que permitirá inserir os valores na árvore. Em seguida forneça uma função recursiva que permitirá fazer a travessia in-order da árvore. Sua saída deverá ser parecida com: Informe um valor inteiro: 7 Informe um valor inteiro: 3 Informe um valor inteiro: 18 Informe um valor inteiro: 4 Informe um valor inteiro: 9 Percurso em ordem: 3 4 7 9 18 Veja a resolução comentada deste exercício usando Java: Código para NoArvore.java: package estudos; public class NoArvore { int valor; // valor armazenado no nó NoArvore esquerdo; // filho esquerdo NoArvore direito; // filho direito // construtor do nó public NoArvore(int valor){ this.valor = valor; } } Código para ArvoreBinariaBusca.java: package estudos; public class ArvoreBinariaBusca { private NoArvore raiz; // referência para a raiz da árvore // método usado para inserir um novo nó na árvore // retorna true se o nó for inserido com sucesso e false // se o elemento não puder ser inserido (no caso de já // existir um elemento igual) public boolean inserir(int valor){ // a árvore ainda está vazia? if(raiz == null){ // vamos criar o primeiro nó e definí-lo como a raiz da árvore raiz = new NoArvore(valor); // cria um novo nó } else{ // localiza o nó pai NoArvore pai = null; NoArvore noAtual = raiz; // começa a busca pela raiz // enquanto o nó atual for diferente de null while(noAtual != null){ if(valor < noAtual.valor) { pai = noAtual; noAtual = noAtual.esquerdo; } else if(valor > noAtual.valor){ pai = noAtual; noAtual = noAtual.direito; } else{ return false; // um nó com este valor foi encontrado } } // cria o novo nó e o adiciona ao nó pai if(valor < pai.valor){ pai.esquerdo = new NoArvore(valor); } else{ pai.direito = new NoArvore(valor); } } return true; // retorna true para indicar que o novo nó // foi inserido } // método que permite disparar a travessia em-ordem public void emOrdem(){ emOrdem(raiz); } // sobrecarga do método emOrdem com uma parâmetro (esta é a // versão recursiva do método) private void emOrdem(NoArvore raiz){ if(raiz == null){ // condição de parada return; } // visita a sub-árvore da esquerda emOrdem(raiz.esquerdo); // visita o nó atual System.out.print(raiz.valor + " "); // visita a sub-árvore da direita emOrdem(raiz.direito); } } E aqui está o código para a classe que permite testar a árvore: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos criar um novo objeto da classe ArvoreBinariaBusca ArvoreBinariaBusca arvore = new ArvoreBinariaBusca(); // vamos inserir 5 valores na árvore for(int i = 0; i < 5; i++){ System.out.print("Informe um valor inteiro: "); int valor = Integer.parseInt(entrada.nextLine()); // vamos inserir o nó e verificar o sucesso da operação if(!arvore.inserir(valor)){ System.out.println("Erro. Um elemento já contém este valor."); } } // vamos exibir os nós da árvore usando o percurso em ordem System.out.println("\nPercurso em ordem:"); arvore.emOrdem(); System.out.println("\n"); } } |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
PHP - Manipulação de texto em PHP - Como acessar e modificar os caracteres individuais de uma string Ruby - Exercício Resolvido de Ruby - Como percorrer os elementos de um array em Ruby usando a função each |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |