Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
POO - Programação Orientada a Objetos - Uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura - Exercícios Resolvidos de JavaQuantidade de visualizações: 5631 vezes |
Pergunta/Tarefa: Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. A data de nascimento pode ser informada como uma String (no formato 05/10/1982, por exemplo) e, no cálculo da idade, considere apenas o ano da data de nascimento informada. Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Código para a classe Pessoa.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Calendar; public class Pessoa { private String nome; private String dataNascimento; private double altura; // método que imprime todos os dados da pessoa public void imprimirDados(){ System.out.println("Nome: " + nome + "\nData de Nascimento: " + dataNascimento + "\nAltura: " + altura); } // método que calcula a idade da pessoa public void calcularIdade(){ // vamos obter o ano da data de hoje Calendar calendario = Calendar.getInstance(); int anoDataAtual = calendario.get(Calendar.YEAR); // agora vamos obter o ano de nascimento da pessoa String partesDataNascimento[] = dataNascimento.split("/"); int anoNascimento = Integer.parseInt(partesDataNascimento[2]); // agora mostramos a idade da pessoa int anos = anoDataAtual - anoNascimento; System.out.println("A pessoa tem " + anos + " anos."); } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getDataNascimento() { return dataNascimento; } public void setDataNascimento(String dataNascimento) { this.dataNascimento = dataNascimento; } public double getAltura() { return altura; } public void setAltura(double altura) { this.altura = altura; } } Código para a classe Principal.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Principal { public static void main(String[] args) { // vamos criar uma nova pessoa Pessoa p = new Pessoa(); p.setNome("Amanda Teixeira"); p.setDataNascimento("12/05/1982"); p.setAltura(1.64); // vamos mostrar os dados da pessoa p.imprimirDados(); // vamos mostrar a idade da pessoa p.calcularIdade(); } } |
Link para compartilhar na Internet ou com seus amigos: |
Lisp ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço loop para contar de 1 até 10 em LispQuantidade de visualizações: 491 vezes |
A estrutura de repetição loop da linguagem Common Lisp é o laço mais simples fornecido pela linguagem. Este laço nos permite repetir uma ou mais instruções de código repetidamente, até que o comando return seja encontrado, o que faz com que o laço seja interrompido. Veja no trecho de código abaixo como podemos usar o laço loop da Common Lisp para contar e exibir os valores de 1 até 10: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ( ; vamos declarar a variável que vamos usar let (numero) ; vamos inicializar a variável com o valor 1 (setq numero 1) ; agora iniciamos o laço (loop ; escrevemos o valor da variável (write numero) ; aumentamos o valor da variável em 1 (setq numero (+ numero 1)) ; provocamos uma quebra de linha (terpri) ; e fazemos o teste da continuidade (when (> numero 10) (return)) ) ) Ao executarmos este código Common Lisp nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Veja que usamos a macro when para testar o ponto de parada do laço. Note ainda o uso da função terpri da Common Lisp para provocar uma quebra de linha na saída do programa. |
R ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em R dados dois pontos no plano cartesianoQuantidade de visualizações: 1041 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem R que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # x e y do primeiro ponto x1 <- readline("Coordenada x do primeiro ponto: ") y1 <- readline("Coordenada y do primeiro ponto: ") x1 <- as.numeric(x1) y1 <- as.numeric(y1) # x e y do segundo ponto x2 <- readline("Coordenada x do segundo ponto: ") y2 <- readline("Coordenada y do segundo ponto: ") x2 <- as.numeric(x2) y2 <- as.numeric(y2) # agora vamos calcular o coeficiente angular m <- (y2 - y1) / (x2 - x1) # mostramos o resultado paste("O coeficiente angular é:", m) Ao executar este código em linguagem R nós teremos o seguinte resultado: [1] "O coeficiente angular é: 0.666666666666667" Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # x e y do primeiro ponto x1 <- readline("Coordenada x do primeiro ponto: ") y1 <- readline("Coordenada y do primeiro ponto: ") x1 <- as.numeric(x1) y1 <- as.numeric(y1) # x e y do segundo ponto x2 <- readline("Coordenada x do segundo ponto: ") y2 <- readline("Coordenada y do segundo ponto: ") x2 <- as.numeric(x2) y2 <- as.numeric(y2) # vamos obter o comprimento do cateto oposto cateto_oposto <- y2 - y1 # e agora o cateto adjascente cateto_adjascente <- x2 - x1 # vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa # (em radianos, não se esqueça) tetha <- atan2(cateto_oposto, cateto_adjascente) # e finalmente usamos a tangente desse ângulo para calcular # o coeficiente angular tangente <- tan(tetha) # mostramos o resultado paste("O coeficiente angular é:", tangente) Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Portugol ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em PortugolQuantidade de visualizações: 1828 vezes |
Como resolver uma equação do 2º grau usando Portugol Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando um algoritmo escrito na ferramenta Portugol Studio, uma das preferidas para o aprendizado de algoritmos e lógica de programação. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso algoritmo Portugol vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código Portugol (escrevi e testei no Portugol Webstudio). Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // "Como resolver uma equação do 2º grau usando Portugol programa { // inclui a biblioteca Matematica inclua biblioteca Matematica --> mat // função principal do programa funcao inicio() { // variáveis usadas na resolução do problema // os coeficientes real a, b, c // as duas raizes, a imaginaria e o discriminante real raiz1, raiz2, imaginaria, discriminante // vamos pedir para o usuário informar os valores dos coeficientes escreva("Valor do coeficiente a: ") leia(a) escreva("Valor do coeficiente b: ") leia(b) escreva("Valor do coeficiente c: ") leia(c) // vamos calcular o discriminante discriminante = (b * b) - (4 * a * c) // a equação possui duas soluções reais? se (discriminante > 0) { raiz1 = ((b * -1) + mat.raiz(discriminante, 2.0)) / (2 * a) raiz2 = ((b * -1) - mat.raiz(discriminante, 2.0)) / (2 * a) escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2) } // a equação possui uma única solução real? senao se (discriminante == 0){ raiz1 = (b * -1) / (2 * a) raiz2 = (b * -1) / (2 * a) escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2) } // a equação não possui solução real? senao{ raiz1 = (b * -1) / (2 * a) raiz2 = (b * -1) / (2 * a) imaginaria = mat.raiz((discriminante * -1), 2.0) / (2 * a) escreva("Existem duas raízes complexas: ") escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria) } } } Ao executar este código Portugol nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1.0 e x2 = -3.0 |
C# ::: Windows Forms ::: CheckBox |
Como marcar ou desmarcar uma CheckBox do C# Windows Forms via códigoQuantidade de visualizações: 14185 vezes |
É possível marcar ou desmarcar uma CheckBox do C# Windows Forms via código. Para isso só precisamos manipular sua propriedade Checked. Se quisermos que a CheckBox seja marcada, basta fornecermos o valor true para esta propriedade. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos marcar a CheckBox checkBox1.Checked = true; } Se quisermos desmarcar, basta fornecermos o valor false. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos desmarcar a CheckBox checkBox1.Checked = false; } |
R ::: Dicas de Estudo e Anotações ::: Variáveis e Constantes |
Como usar a função class() da linguagem R para verificar o tipo de dados de uma variávelQuantidade de visualizações: 865 vezes |
Na linguagem R nós não precisamos informar o tipo de dados de uma variável no momento de sua declaração e, consequentemente, atribuição de seu valor inicial. No entanto, a linguagem permite que as variáveis, no decorrer da execução do programa, assumam outros tipos de dados. Dessa forma, em várias situações nós podemos precisar verificar qual o tipo de dados armazenado em um variável em um determinado momento, talvez, com o propósito de não assumir riscos durante um cálculo envolvendo inteiros e decimais. A função class() da linguagem R recebe o nome de uma variável e nos informa o seu tipo de dados. Veja um exemplo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- > x <- 10 [ENTER] > class(x) [ENTER] [1] "numeric" > x <- "Java" [ENTER] > class(x) [ENTER] [1] "character" > x <- TRUE [ENTER] > class(x) [ENTER] [1] "logical" > x <- 5L [ENTER] > class(x) [ENTER] [1] "integer" > Execute estas linhas na janela de comandos do R ou em um script e veja como a variável x assumiu, no decorrer da execução, os tipos numeric, character, logical e integer. |
Veja mais Dicas e truques de R |
Dicas e truques de outras linguagens |
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 |