Python ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas)Quantidade de visualizações: 7767 vezes |
|
Este exemplo mostra como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) usando o método strftime() da classe datetime com o sinalizador "%I". Veja o código completo para a dica:
from datetime import datetime
def main():
# Obtém um datetime da data e hora atual
hoje = datetime.today()
# Exibe a hora atual como um decimal
print(hoje.strftime("A hora é: %I"))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: A hora é: 10 |
VB.NET ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em VB.NET dados dois pontos pertencentes à retaQuantidade de visualizações: 628 vezes |
|
Nesta dica de VB.NET veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: ![]() Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código VB.NET completo para esta tarefa:
Imports System
Module Program
' função principal do programa VB.NET
Sub Main(args As String())
' vamos ler as coordenadas do primeiro ponto
Console.Write("Coordenada x do primeiro ponto: ")
Dim x1 As Double = Double.Parse(Console.ReadLine())
Console.Write("Coordenada y do primeiro ponto: ")
Dim y1 As Double = Double.Parse(Console.ReadLine())
' vamos ler as coordenadas do segundo ponto
Console.Write("Coordenada x do segundo ponto: ")
Dim x2 As Double = Double.Parse(Console.ReadLine())
Console.Write("Coordenada y do segundo ponto: ")
Dim y2 As Double = Double.Parse(Console.ReadLine())
Dim sinal As String = "+"
' vamos calcular o coeficiente angular da reta
Dim m As Double = (y2 - y1) / (x2 - x1)
' vamos calcular o coeficiente linear
Dim n As Double = y1 - (m * x1)
' coeficiente linear menor que zero? O sinal será negativo
If n < 0 Then
sinal = "-"
n = n * -1
End If
' mostra a equação reduzida da reta
Console.WriteLine("Equação reduzida: y = " & m & "x" _
& " " & sinal & " " & n)
Console.WriteLine(vbCrLf & vbCrLf & "Pressione 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: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Manipulação de imagens em Java - Como carregar imagens JPG (JPEG), GIF ou PNG usando o método getImage() da classe ToolkitQuantidade de visualizações: 24198 vezes |
|
O método getImage() da classe Toolkit retorna um objeto da classe Image que obtém informações de imagem (pixels) a partir do caminho informado. Veja que este método não verifica se a imagem informada para o método existe ou se foi carregada com sucesso. Veja mais dicas nesta seção para aprender a realizar tais tarefas. O código abaixo mostra como chamar o método getImage() para carregar uma imagem ao clicar em um botão:
package arquivodecodigos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
private Image imagem = null;
public Estudos() {
super("Estudos Java");
Container c = getContentPane();
c.setLayout(new FlowLayout());
JButton btn = new JButton("Carregar Imagem");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
// imagem a ser carregada
String minhaImagem = "C:\\estudos_java\\lago.jpg";
// Obtém o Toolkit padrão
Toolkit toolkit =
Toolkit.getDefaultToolkit();
imagem = toolkit.getImage(minhaImagem);
JOptionPane.showMessageDialog(null,
"A imagem foi carregada. Agora é só manipulá-la.");
}
}
);
c.add(btn);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este código nós teremos o seguinte resultado: A imagem foi carregada. Agora é só manipulá-la. |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do DelphiQuantidade de visualizações: 18803 vezes |
A função StrToDate() da unit SysUtils é usada quando queremos converter strings em valores TDateTime. No Delphi 2009 esta função possui duas assinaturas:function StrToDate(const S: string): TDateTime; overload; function StrToDate(const S: string; const FormatSettings: TFormatSettings): TDateTime; overload; A primeira versão de StrToDate() recebe uma string contendo uma data e retorna um objeto TDateTime. Veja o seguinte trecho de código:
procedure TForm1.Button1Click(Sender: TObject);
var
data: string;
data2: TDateTime;
begin
// vamos converter a data 22/02/2005
data := '22/02/2005';
// a conversão acontece aqui. Note que, caso a conversão
// não seja possível, uma exceção do tipo EConvertError será
// disparada (lançada)
try
data2 := StrToDate(data);
ShowMessage(DateTimeToStr(data2));
except
on e: EConvertError do
ShowMessage('Não foi possível efetuar a conversão: ' +
e.Message);
end;
end;
Note que a função StrToDate() lançará uma exceção do tipo EConvertError se a string não possuir uma data válida. Os valores de strings representando datas válidas incluem mês/dia/ano, dia/mês/ano e ano/mês/dia. A ordem de dia, mês e ano é determinada pela variáve global ShortDateFormat. Se fornecermos valores apenas para o dia e o mês a função incluirá o ano atual. Não podemos esquecer a barra de separação de datas. Se seu aplicativo foi desenvolvido para rodar em outras localidades, obtenha o separador de datas por meio da variável global DateSeparator. A primeira versão da função StrToDate() não é segura em relação a threads (thread-safe) devido ao uso de informações de localização contidas em variáveis globais, ou seja, se uma thread modificar os valores de tais variáveis, código sendo executado em outras threads sofrerão as consequencias. Para evitar isso podemos usar a segunda versão de StrToDate(), que usa um objeto FormatSettings para guardar as informações de localização. Veja um exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
data: string;
data2: TDateTime;
formato: TFormatSettings;
begin
// vamos converter a data 22/02/2005
data := '22/02/2005';
// a conversão acontece aqui. Note que, caso a conversão
// não seja possível, uma exceção do tipo EConvertError será
// disparada (lançada)
try
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formato);
data2 := StrToDate(data, formato);
ShowMessage(DateTimeToStr(data2));
except
on e: EConvertError do
ShowMessage('Não foi possível efetuar a conversão: ' +
e.Message);
end;
end;
A função StrToDateDef() é similar à função StrToDate(). A diferença é que, se a string possuir uma data inválida, a função StrToDateDef() retorna uma data padrão, ou seja, não haverá nenhuma exceção atirada. Veja: procedure TForm1.Button1Click(Sender: TObject); var data: string; data2: TDateTime; begin // vamos converter a data 2s2/02/2005 (inválida) data := '2s2/02/2005'; // a conversão acontece aqui. Note que, caso a conversão // não seja possível, a data atual será retornada data2 := StrToDateDef(data, Now); ShowMessage(DateTimeToStr(data2)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Nossas 20 dicas & truques de programação mais populares |
|
C++ Builder - Como habilitar ou desabilitar um TEdit usando a função EnableWindow() da API do Windows usando C++ Builder |
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 |






