Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter a quantidade de dias entre duas datasQuantidade de visualizações: 2 vezes |
|
Nesta dica mostrarei como podemos efetuar um cálculo em PHP que retorna o número de dias entre duas datas. Fique atento(a) à ordem que a data inicial e a data final são fornecidos para a função. Veja o código PHP completo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
function quant_dias($data1, $data2){
return round((strtotime($data2) -
strtotime($data1)) / (24 * 60 * 60), 0);
}
$inicio = date("m/d/Y"); // data atual
$fim = "04/22/2021"; // data no formato mês/dia/ano
echo "Dias entre as duas datas: " .
quant_dias($inicio, $fim);
?>
Ao executarmos este código nós teremos o seguinte resultado: Dias entre as duas datas: 31 |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de VisuAlg - Como testar se um ano é bissexto em VisuAlg - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 1233 vezes |
|
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa VisuAlg que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Como testar se um ano é bissexto em VisuAlg"
var
// variáveis usadas na resolução do problema
ano: inteiro
inicio
// vamos solicitar que o usuário informe um ano
escreva("Informe o ano: ")
leia(ano)
// vamos verificar se o ano informado é bissexto
se (((ano mod 4 = 0) e (ano mod 100 <> 0)) ou (ano mod 400 = 0)) entao
escreva("O ano informado é bissexto.")
senao
escreva("O ano informado não é bissexto.")
fimse
fimalgoritmo
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Movimento Retilíneo Uniforme (MRU) |
Exercícios Resolvidos de Física usando Java - Dois automóveis, A e B, movem-se em movimento uniforme e no mesmo sentido. Suas velocidades escalares têm módulos respectivamente iguais a...Quantidade de visualizações: 2786 vezes |
|
Pergunta/Tarefa: Dois automóveis, A e B, movem-se em movimento uniforme e no mesmo sentido. Suas velocidades escalares têm módulos respectivamente iguais a 15 m/s e 10 m/s. No instante t = 0, os automóveis encontram-se nas posições indicadas abaixo: ![]() Determine: a) o instante em que A alcança B; b) a que distância da posição inicial de A ocorre o encontro. Resposta/Solução: Este é um dos exemplos clássicos que encontramos nos livros de Física Mecânica, nos capítulos dedicados ao Movimento Retilíneo Uniforme (MRU). Em geral, tais exemplos são vistos como parte dos estudos de encontro e ultrapassagem de partículas. Por se tratar de Movimento Retilíneo Uniforme (MRU), as grandezas envolvidas nesse problema são: posição (deslocamento), velocidade e tempo. Assim, já sabemos de antemão que o veículo B está 100 metros à frente do veículo A. Podemos então começar calculando a posição atual na qual cada um dos veículos se encontra. Isso é feito por meio da Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme - MRU. Veja o código Java que nos retorna a posição inicial (em metros) dos dois veículos:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// valocidade do veículo A
double vA = 15; // em metros por segundo
// valocidade do veículo B
double vB = 10; // em metros por segundo
// posição inicial dos dois veículos
double sInicialA = 0;
double sInicialB = 100;
// tempo inicial em segundos
double tempo_inicial = 0;
// calcula a posição atual dos dois veículos
double sA = sInicialA + (vA * tempo_inicial);
double sB = sInicialB + (vB * tempo_inicial);
// mostra os resultados
System.out.println("A posição do veículo A é: " + sA + " metros");
System.out.println("A posição do veículo B é: " + sB + " metros");
}
}
Ao executar esta primeira parte do código Java nós teremos o seguinte resultado: A posição do veículo A é: 0.0 metros A posição do veículo B é: 100.0 metros Agora que já temos o código que calcula a posição de cada veículo, já podemos calcular o tempo no qual o veículo A alcança o veículo B. Para isso vamos pensar direito. Se o veículo A vai alcançar o veículo B, então já sabemos que a velocidade do veículo A é maior que a velocidade do veículo B. Sabemos também que a posição do veículo B é maior que a posição do veículo A. Só temos que aplicar a fórmula do tempo, que é a variação da posição dividida pela variação da velocidade. Veja o código Java que efetua este cálculo:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// valocidade do veículo A
double vA = 15; // em metros por segundo
// valocidade do veículo B
double vB = 10; // em metros por segundo
// posição inicial dos dois veículos
double sInicialA = 0;
double sInicialB = 100;
// tempo inicial em segundos
double tempo_inicial = 0;
// calcula a posição atual dos dois veículos
double sA = sInicialA + (vA * tempo_inicial);
double sB = sInicialB + (vB * tempo_inicial);
// calculamos o tempo no qual o veículo A alcança o veículo B
double tempo = (sB - sA) / (vA - vB);
// mostra os resultados
System.out.println("A posição do veículo A é: " + sA + " metros");
System.out.println("A posição do veículo B é: " + sB + " metros");
System.out.println("O veículo A alcança o veículo B em " + tempo +
" segundos");
}
}
Ao executar esta modificação do código Java nós teremos o seguinte resultado: A posição do veículo A é: 0.0 metros A posição do veículo B é: 100.0 metros O veículo A alcança o veículo B em 20.0 segundos O item b pede para indicarmos a que distância da posição inicial de A ocorre o encontro entre os dois veículos. Agora que já sabemos o tempo do encontro, fica muito fácil. Basta multiplicarmos a velocidade do veículo A pelo tempo do encontro. Veja:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// valocidade do veículo A
double vA = 15; // em metros por segundo
// valocidade do veículo B
double vB = 10; // em metros por segundo
// posição inicial dos dois veículos
double sInicialA = 0;
double sInicialB = 100;
// tempo inicial em segundos
double tempo_inicial = 0;
// calcula a posição atual dos dois veículos
double sA = sInicialA + (vA * tempo_inicial);
double sB = sInicialB + (vB * tempo_inicial);
// calculamos o tempo no qual o veículo A alcança o veículo B
double tempo = (sB - sA) / (vA - vB);
// a que distância da posição inicial de A ocorre o encontro
double distancia_encontro = vA * tempo;
// mostra os resultados
System.out.println("A posição do veículo A é: " + sA + " metros");
System.out.println("A posição do veículo B é: " + sB + " metros");
System.out.println("O veículo A alcança o veículo B em " + tempo +
" segundos");
System.out.println("O encontro ocorreu a " + distancia_encontro +
" metros da distância inicial do veículo A");
}
}
Agora o código Java completo nos mostra o seguinte resultado: A posição do veículo A é: 0.0 metros A posição do veículo B é: 100.0 metros O veículo A alcança o veículo B em 20.0 segundos O encontro ocorreu a 300.0 metros da distância inicial do veículo A Para demonstrar a importância de se saber calcular a Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme (MRU), experimente indicar que o veículo A saiu da posição 20 metros, e defina a posição inicial do veículo B para 120 metros, de modo que ainda conservem a distância de 100 metros entre eles. Você verá que o tempo do encontro e a distância do encontro em relação à posição inicial do veículo A continuam os mesmos. Agora experimente mais alterações nas posições iniciais, na distância e também nas velocidades dos dois veículos para entender melhor os conceitos que envolvem o Movimento Retilíneo Uniforme (MRU). |
C# ::: Dicas & Truques ::: Data e Hora |
Como calcular os dias restantes para uma data em C# usando um objeto TimeSpanQuantidade de visualizações: 9708 vezes |
Em algumas ocasiões precisamos saber a quantidade de dias restantes para uma determinada data no futuro em C# (próximo Natal, próxima Páscoa, vencimento de uma duplicata, etc). O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no futuro e então subtraímos desta a data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:
static void Main(string[] args){
// vamos obter a quantidade de dias restantes para o Natal de
// 2009
DateTime data_futura = new DateTime(2009, 12, 25); // 25/12/2009
DateTime hoje = DateTime.Now;
// obtém a quantidade de dias restantes
TimeSpan dif = data_futura.Subtract(hoje);
int restantes = dif.Days + 1; // dia de hoje na contagem
// exibe o resultado
System.Console.WriteLine("Faltam " + restantes + " dias para " +
"o Natal de 2009");
// pausa o programa
Console.ReadKey();
}
|
C# ::: Dicas & Truques ::: Gráficos |
Como desenhar texto em C# usando o método DrawString() da classe GraphicsQuantidade de visualizações: 9136 vezes |
Em algumas situações precisamos desenhar uma string (texto) no formulário ou algum outro controle. Para isso podemos usar o método DrawString() da classe Graphics. A assinatura mais comumente usada deste método é:Graphics.DrawString(String, Font, Brush, Single, Single) Note que precisamos fornecer a string a ser desenhada, a fonte a ser usada (como um objeto da classe Font), a cor e preenchimento (um objeto de alguma classe que herde de Brush) e as coordenadas x e y. Veja um trecho de código no qual desenhamos a string "Arquivo de Códigos" no formulário:
private void button1_Click(object sender, EventArgs e){
// vamos obter o Graphics do formulário
Graphics g = this.CreateGraphics();
// vamos desenhar a string "Arquivo de Códigos"
g.DrawString("Arquivo de Códigos", this.Font, new
SolidBrush(Color.Red), 40, 60);
// vamos liberar o objeto Graphics
g.Dispose();
}
Aqui a string será desenhada usando a fonte do formulário e na cor vermelha e sólida. Se quiséssemos definir a fonte, o código ficaria algo assim:
g.DrawString("Arquivo de Códigos", new Font("Verdana", 30),
new SolidBrush(Color.Red), 40, 60);
As coordenadas x e y nas quais o desenho ocorrerá podem ser informadas como um objeto da estrutura PointF. Veja:
g.DrawString("Arquivo de Códigos", new Font("Verdana", 30),
new SolidBrush(Color.Red), new PointF(80f, 120f));
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







