Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Data e Hora |
Como calcular a diferença de dias entre duas datas em PythonQuantidade de visualizações: 1676 vezes |
|
Nesta dica mostrarei como podemos usar retornar a diferença de dias entre duas datas na linguagem Python usando o objeto Date, do módulo DateTime. Note o uso do construtor date() para construir as duas datas e em seguida passamos estas duas datas para uma função personalizada numero_dias(), que retorna a quantidade de dias entre elas. Veja o código completo para o exemplo:
# vamos importar o objeto Date
from datetime import date
def main():
# vamos criar a data inicial e a data final
d1 = date(2022, 11, 10)
d2 = date(2022, 12, 23)
# vamos calcular a diferença de dias
diferenca = numero_dias(d1, d2)
# e mostramos o resultado
print("A primeira data é: {0}".format(d1))
print("A segunda data é: {0}".format(d2))
print("A diferença de dias entre as duas datas é: {0} dias".format(
diferenca))
# função que recebe duas datas e retorna a diferença
# de dias entre elas
def numero_dias(data1, data2):
return (data2 - data1).days
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: A primeira data é: 2022-11-10 A segunda data é: 2022-12-23 A diferença de dias entre as duas datas é: 43 dias |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent do Java Swing (JLabel, JButton, JPanel, etc) usando o método paintComponent()Quantidade de visualizações: 10341 vezes |
|
A classe JComponent possui um método chamado paintComponent(Graphics g) que recebe um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Para demonstrar como isso é feito, veja um trecho de código no qual desenhamos uma linha em um JLabel e o anexamos à janela do aplicativo. Observe a criação de uma classe personalizada que herda de JLabel:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
// Cria o JLabel
MinhaLabel label = new MinhaLabel();
c.add(label);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
}
}
// classe personalizada que permite desenhar
class MinhaLabel extends JLabel{
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.drawLine(0, 0, 200, 200);
}
}
|
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Ruby - Escreva um programa Ruby para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1355 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Ruby:
# vamos declarar e construir um vetor de 8 inteiros
valores = [0, 3, 0, 5, 7, 4, 0, 9]
# vamos mostrar o vetor na ordem original
print("Vetor na ordem original:\n")
for i in (0..valores.length - 1)
printf("%d ", valores[i])
end
# vamos inicializar j como 0 para que ele aponte para
# o primeiro elemento do vetor
j = 0
# agora o laço for percorre todos os elementos do vetor,
# incrementanto a variável i e deixando o j em 0
for i in (0..valores.length - 1)
# encontramos um valor que não é 0
if(valores[i] != 0)
# fazemos a troca entre os elementos nos índices
# i e j
temp = valores[i]
valores[i] = valores[j]
valores[j] = temp
# e avançamos o j para o elemento seguinte
j = j + 1
end
end
# agora mostramos o resultado
print("\n\nVetor com os zeros deslocados para o final:\n")
for i in (0..valores.length - 1)
printf("%d ", valores[i])
end
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas)Quantidade de visualizações: 532 vezes |
|
Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas) Pergunta/Tarefa: Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas). Para os demais clientes o desconto é 5% apenas. Leia o valor do produto, o nome, sexo e a idade do cliente e aplique o desconto correspondente. Sua saída deverá ser parecida com: Informe o valor do produto: 520 Informe o nome do cliente: FABRICIA DE CASTRO Informe a idade: 23 Informe o sexo: F FABRICIA DE CASTRO, você ganhou o desconto de 20% Valor a pagar: 416.0 Informe o valor do produto: 830 Informe o nome do cliente: OSMAR SLVA Informe a idade: 38 Informe o sexo: M OSMAR SLVA, você ganhou apenas o desconto de 5% Valor a pagar: 788.5 Veja a resolução deste exercício em VisuAlg:
algoritmo "Ler o valor do produto, o valor do produto, o sexo..."
var
valor: real
nome, sexo: caractere
idade: inteiro
inicio
// vamos ler o valor do produto
escreva("Informe o valor do produto: ")
leia(valor)
// agora vamos ler o nome do cliente
escreva("Informe o nome do cliente: ")
leia(nome)
// agora vamos ler a idade
escreva("Informe a idade: ")
leia(idade)
// e finalmente vamos ler o sexo do cliente
escreva("Informe o sexo: ")
leia(sexo)
// vamos verificar se o cliente faz jus ao desconto
// de 20%
se ((idade >= 18) e (idade <= 35) e (sexo = "F")) entao
valor <- valor - (valor * (20 / 100))
escreval(nome, ", você ganhou o desconto de 20%")
escreval("Valor a pagar: ", valor)
senao
valor <- valor - (valor * (5 / 100))
escreval(nome, ", você ganhou apenas o desconto de 5%")
escreval("Valor a pagar: ", valor)
fimse
fimalgoritmo
|
Python ::: Dicas & Truques ::: Lista (List) |
Como percorrer os elementos de uma lista Python usando o laço for e índicesQuantidade de visualizações: 14056 vezes |
Nesta dica eu mostro como é possível usar o laço for da linguagem Python para percorrer individual os elementos de uma list. Veja o código completo para o exemplo:
# função principal do programa
def main():
# cria uma lista de nomes
nomes = ['Carlos', 'Ricardo', 'Osmar']
# percorre a lista usando o laço for
for i in range(len(nomes)):
print("%d - %s" % ((i + 1), nomes[i]))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: 1 - Carlos 2 - Ricardo 3 - Osmar |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





