Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanasQuantidade de visualizações: 6958 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias; d) A idade da pessoa em semanas. Sua saída deverá ser parecida com: Informe o ano de seu nascimento: 1985 Informe o ano atual: 2023 A idade em anos é: 38 A idade em meses é: 456 A idade em dias é: 13680 A idade em semanas é: 1976 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler o ano de nascimento
System.out.print("Informe o ano de seu nascimento: ");
int ano_nascimento = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o ano atual: ");
int ano_atual = Integer.parseInt(entrada.nextLine());
// calcula a idade em anos
int idade_anos = ano_atual - ano_nascimento;
System.out.println("A idade em anos é: " + idade_anos);
// calcula a idade em meses
int idade_meses = idade_anos * 12;
System.out.println("A idade em meses é: " + idade_meses);
// calcula a idade em dias
int idade_dias = idade_anos * 12 * 30;
System.out.println("A idade em dias é: " + idade_dias);
// calcula a idade em semanas
int idade_semanas = idade_anos * 52;
System.out.println("A idade em semanas é: " + idade_semanas);
}
}
|
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Python - Geometria Analítica e Álgebra Linear usando PythonQuantidade de visualizações: 4244 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 Python que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:
# função principal do programa
def main():
# vamos ler os valores x e y
x = float(input("Informe o valor de x: "))
y = float(input("Informe o valor de y: "))
# vamos calcular a norma do vetor
norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
# mostra o resultado
print("A norma do vetor é: %0.2f" % norma)
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.22 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. |
Python ::: Dicas & Truques ::: Data e Hora |
Como obter o nome do mês da data atual no formato curto usando os métodos today() e strftime() da classe datetime do PythonQuantidade de visualizações: 10742 vezes |
|
Nesta dica mostrarei como podemos combinar os métodos today() e strftime() da classe datetime do Python para retornar o nome do mês da data atual no formato curto, ou seja, se o mês for setembro, o valor retornado será "set". Veja o código completo para o exemplo:
from datetime import datetime
import locale
def main():
# Configurações do usuário
locale.setlocale(locale.LC_ALL, '')
# Obtém um datatime da data e hora atual
hoje = datetime.today()
# Exibe o nome do mês no formato curto
print(hoje.strftime("O mês é: %b"))
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: O mês é: mar |
C# ::: Dicas & Truques ::: Validação de Dados |
C# Windows Forms - Como validar o conteúdo de uma caixa de texto usando o evento Validating da classe ControlQuantidade de visualizações: 17976 vezes |
|
O evento Validating (disponível para todas as classes que herdam de System.Windows.Forms.Control) é muito útil quando precisamos verificar a validade dos valores inseridos nos controle Windows Forms. Neste exemplo mostrarei como usá-lo para validar o conteúdo de um TextBox. Aqui veremos como verificar se o conteúdo inserido é um valor inteiro válido. Tudo começa com a propriedade CausesValidation da classe Control. Esta propriedade nos permite definir se o controle provocará uma validação de seus dados quando o mesmo estiver prestes a perder o foco, ou seja, o usuário começara a interagir com outro controle após inserir dados no controle alvo da validação. Se o valor desta propriedade for true a validação ocorrerá. Em seguida voltamos nossa atenção para o evento Validating (também declarado originalmente na classe Control). Este evento é disparado quando a propriedade CausesValidation é true e o controle está prestes a perder o foco (o usuário está saindo para interagir com outro controle). Veja a ordem dos eventos quando estamos saindo do controle usando o teclado: a) Leave b) Validating c) Validated d) LostFocus Se estivermos saindo do controle usando o mouse (clicando em outro controle), a ordem é: a) Leave b) Validating c) Validated Veja um exemplo do uso do evento Validating de um TextBox:
private void textBox1_Validating(object sender, CancelEventArgs e){
MessageBox.Show("Meu conteúdo pode ser validado agora");
}
Experimente executar este código, coloque o foco na caixa de texto e depois "saia" para outro componente. Você verá a caixa de mensagem ser exibida. O tratador de evento Validating recebe um objeto da classe CancelEventArgs. Esta classe possui apenas uma propriedade chamada Cancel. Se o valor desta propriedade for definido como true, o evento Validating (e todos que viriam após ele) é cancelado. Isso faz com que o foco fique preso no controle até que o usuário informe o valor correto. Veja:
private void textBox1_Validating(object sender, CancelEventArgs e){
// vamos verificar se a caixa de texto contém um valor inteiro válido
try{
// vamos tentar converter o texto recebido em um valor inteiro
int valor = Int32.Parse(textBox1.Text);
MessageBox.Show("Validação ocorreu com sucesso!");
}
catch(FormatException fe){
// não conseguimos converter o texto em um valor inteiro
MessageBox.Show("Valor inválido! Tente novamente! " +
fe.Message.ToString());
// limpamos a caixa de texto
textBox1.Text = "";
// e "prendemos" o foco na caixa de texto
e.Cancel = true;
}
}
Neste trecho de código nós usamos um bloco try...catch para tentar converter o texto do TextBox em um valor inteiro. Se houver falha na conversão nós avisamos o usuário, limpamos a caixa de texto e forçamos o usuário a fazer a correção. Para finalizar, entra em cena o evento Validated. Este evento é disparado imediatamente após o evento Validating finalizar sua parte e é um bom lugar para avisarmos o usuário sobre o sucesso da validação ou remover quaisquer efeito visual que tenhamos inserido durante o processo de validação. Veja:
private void textBox1_Validating(object sender, CancelEventArgs e){
// vamos verificar se a caixa de texto contém um valor inteiro válido
try{
// vamos tentar converter o texto recebido em um valor inteiro
int valor = Int32.Parse(textBox1.Text);
}
catch(FormatException fe){
// não conseguimos converter o texto em um valor inteiro
MessageBox.Show("Valor inválido! Tente novamente! " +
fe.Message.ToString());
// limpamos a caixa de texto
textBox1.Text = "";
// e "prendemos" o foco na caixa de texto
e.Cancel = true;
}
}
private void textBox1_Validated(object sender, EventArgs e){
MessageBox.Show("Validação ocorreu com sucesso!");
}
Veja que tudo que fizemos aqui foi remover a mensagem de sucesso de validação do evento Validating para o evento Validated. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de Java - Como converter de decimal para binário usando os operadores de bits em JavaQuantidade de visualizações: 1171 vezes |
|
Este exercício faz parte da nossa lista de desafios de programação em Java. Pergunta/Tarefa: Escreva um programa Java para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em Java, comentada linha a linha:
package estudos;
import java.util.Scanner;
public class Estudos {
// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
final static int TAM_INT = Integer.BYTES * 8;
public static void main(String[] args){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// variáveis para ajudar a resolver o problema
int decimal, indice, i;
// vetor para guardar o número binário
int binario[] = new int[TAM_INT];
// vamos pedir para o usuário informar um decimal inteiro
System.out.print("Informe um número decimal: ");
decimal = Integer.parseInt(entrada.nextLine());
// ajustamos índice para o último elemento do vetor
indice = TAM_INT - 1;
// enquanto índice for maior ou igual a 0
while(indice >= 0){
// vamos guardar o bit menos significativo LSB
binario[indice] = decimal & 1;
// diminuímos o índice 100010
indice--;
// desloca bits para a direita uma posição
decimal = decimal >> 1;
}
// agora vamos exibir o número binário
System.out.print("O número binário é: ");
for(i = 0; i < TAM_INT; i++){
System.out.print(binario[i]);
}
System.out.println("\n\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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






