Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

C# ::: Dicas & Truques ::: Data e Hora

Como usar a classe Calendar em suas aplicações C#

Quantidade de visualizações: 11826 vezes
A classe Calendar da plataforma .NET está presente no namespace System.Globalization. Esta é uma classe abstrata (não pode ser instanciada e serve somente como classe base para futuras implementações) que implementa a interface ICloneable. Veja sua posição na hierarquia de classes da plataforma .NET:

System.Object 
  System.Globalization.Calendar


Um calendário divide o tempo em unidades, tais como semanas, meses e anos. O número, comprimento e início destas divisões variam de acordo com cada calendário.

Qualquer momento no tempo pode ser representado como um conjunto de valores numéricos usando um calendário em particular. Por exemplo, um equinócio vernal ocorreu em (1999, 3, 20, 8, 46, 0, 0.0) no calendário Gregoriano (Gregorian calendar), ou seja, 20 de março de 1999 C.E às 8:46:00:0.0. Uma implementação de Calendar pode mapear cada data na faixa de um calendário específico para um conjunto similiar de valores numéricos, e DateTime pode mapear tais conjuntos de valores numéricos para uma representação textual usando informações de Calendar e DateTimeFormatInfo. A representação textual pode ser dependente de cultura (culture-sensitive) (por exemplo, "8:46 AM March 20th 1999 AD" para a cultura en-US) ou independente de cultura (culture-insensitive) (por exemplo, "1999-03-20T08:46:00" no formato ISO 8601).

Uma implementação de Calendar pode definir uma ou mais eras. A classe Calendar identifica tais eras como uma enumeração de inteiros na qual a era atual (CurrentEra) tem o valor 0.

Para compensar a diferença entre o ano do calendário e a tempo real que a terra se movimenta ao redor do sol ou o tempo real que a lua se movimenta ao redor da terra, um ano bissexto tem um número diferente de dias que um ano padrão de um calendário. Cada implementação de Calendar define anos bissextos de forma diferenciada.

Para fins de consistência, a primeira unidade de cada intervalo (por exemplo, o primeiro mês) recebe o valor 1.

O trecho de código abaixo mostra como obter o calendário padrão não dependente de cultura e então exibir o valor numérico referente ao dia do mês:

static void Main(string[] args){
  // using System.Globalization;
  
  // obtém uma instância da implementação padrão de
  // Calendar não dependente da cultura local
  Calendar c = CultureInfo.InvariantCulture.Calendar;

  // obtém a data e hora atual
  DateTime agora = DateTime.Now;

  // obtém o dia do ano
  int dia = c.GetDayOfMonth(agora);
  Console.WriteLine("O dia do mês é: {0}", dia);

  // pausa o programa
  Console.ReadKey();
}

O namespace System.Globalization inclui as seguintes implementações de Calendar: GregorianCalendar, HebrewCalendar, HijriCalendar, JapaneseCalendar, JulianCalendar, KoreanCalendar, TaiwanCalendar e ThaiBuddhistCalendar.


AngularJS ::: Angular / AngularJS + JavaScript ::: AngularJS Services (Serviços AngularJS)

Aprenda a ler dados de um servidor remoto usando o serviço $http do AngularJS

Quantidade de visualizações: 1600 vezes
O serviço $http do AngularJS pode ser usado quando precisamos ler informações vindas de um servidor remoto. Esta comunicação é feita por meio do objeto XMLHttpRequest ou via JSONP. A funcionalidade deste serviço é semelhante às requisições AJAX do jQuery.

Vamos ver um exemplo no qual enviamos dois números para uma página PHP e ela nos retorna a soma destes números como uma resposta JSON.

Primeiro veja o código PHP que gera o JSON:

<?php
  header("Cache-Control: no-cache, must-revalidate");
  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  header('Content-type: application/json');
   
  $numero1 = $_GET["numero1"];
  $numero2 = $_GET["numero2"];
  $soma = $numero1 + $numero2; 
   
  // vamos gerar o JSON com a soma
  $res = json_encode(array("soma" => $soma));
   
  // vamos retornar o JSON para a página que chamou esta
  echo $res;
?>

Salve este código como somar.php e experimente chamá-la no seu navegador fornecendo os dois valores a serem somados. Veja:

http://localhost/somar.php?numero1=37&numero2=3

Se tudo correr bem, o seguinte resultado será exibido:

{"soma":40}

Aqui eu usei PHP no servidor remoto, mas você pode usar Java, Perl, Node.js, ASP.NET, etc, desde que o retorno seja JSON. Agora vamos à aplicação AngularJS. Veja o código completo:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Cadastro de Alunos AngularJS</title>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js">
</script>

</head>
<body>

<script type="text/javascript">
  // vamos criar uma nova aplicação
  var app = angular.module('MinhaApp', []);
      
  // vamos criar o controller HttpTesteController  
  app.controller('HttpTesteController', function($scope, $http){
    // vamos fazer a conexão remota
    $http.get("http://localhost/somar.php?numero1=37&numero2=3")
      .then(function(response){
         $scope.resultado = response.data.soma;
      }
    ); 
  });
</script>
 
<div ng-app="MinhaApp" ng-controller="HttpTesteController">
  <h1>A soma dos valores é: {{resultado}}</h1>
</div>

</body>
</html>

Abra esta página no seu navegador web. Você deverá ver um resultado parecido com:

A soma dos valores é: 40

Note que usamos o método get() do serviço $http para fazer uma requisição GET para a página PHP. Em dicas dessa seção mostro como fazer requisições POST e também tratar os possíveis erros que podem ocorrer nesta operação.


C# ::: Dicas & Truques ::: Data e Hora

Como construir uma data e hora em C# usando o objeto DateTime e fornecendo o dia, mês, ano, horas, minutos e segundos da data e hora desejadas

Quantidade de visualizações: 12563 vezes
Esta dica mostra como construir uma data e hora em C# usando o seguinte construtor da estrutura DateTime:

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Este construtor pede seis valores inteiros representando o ano, mês, dia, horas, minutos e segundos da data e hora que queremos construir e retorna um objeto DateTime representando a data e hora recém-construidas (note que a hora deve ser informada no formato 0-23). Veja um exemplo:

static void Main(string[] args){
  // cria um objeto DateTime para a data 10/04/2008
  // e hora 18:32:10
  DateTime data = new DateTime(2008, 4, 10, 18, 32, 10);

  // exibe o resultado
  System.Console.WriteLine(data.ToString(
    "dd/MM/yyyy - HH:mm:ss"));

  // pausa o programa
  Console.ReadKey();
}

Tome cuidade. Este método pode lançar exceções dos tipos ArgumentOutOfRangeException e ArgumentException se os valores fornecidos estiverem fora das faixas permitidas.


Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular o Momento Fletor Mínimo e a Excentricidade Mínima de 1ª Ordem de um pilar em Python - Python para Engenharia Civil e Cálculo Estrutural

Quantidade de visualizações: 676 vezes


O cálculo e dimensionamento de pilares, sejam pilares de canto, extremidade ou intermediários, sempre seguem alguns passos cujas ordens são muito importantes, pois os dados de entrada de um passo podem vir de um ou mais passos anteriores.

Em dicas anteriores do uso da linguagem Python no cálculo de pilares eu mostrei como calcular os esforços solicitantes majorados em pilares e também como calcular o índice de esbeltez de um pilar nas direções x e y.

Nesta dica mostrarei como calcular o Momento Fletor Mínimo e a Excentricidade Mínima de 1ª Ordem de um pilar. Estes dados são muito importantes para a aplicação das fórmulas que embasam a área de aço a ser usada no pilar. Note que a Excentricidade Mínima de 1ª Ordem pode ser desprezada no caso de pilares intermediários (também chamados pilares de centro).

O Momento Fletor Mínimo é o momento mínimo que deve ser considerado, mesmo em pilares nos quais a carga está centrada, e é calculado por meio da seguinte fórmula:

\[M_\text{1d,min} = Nd \cdot (1,5 + (0,03 \cdot h) \]

Onde:

M1d,min é o momento fletor mínimo na direção x ou y em kN.cm.

Nd são os esforços solicitantes majorados em kN.

h é a dimensão do pilar na direção considerada (x ou y) em cm.

A Excentricidade Mínima de 1ª Ordem do pilar pode ser calculada por meio da fórmula:

\[e_\text{1,min} = \frac{M_\text{1d,min}}{Nd} \]

Onde:

e1,min é excentricidade mínima de 1ª ordem na direção escolhida.

Nd são os esforços solicitantes majorados em kN.

Note que, a exemplo do momento fletor mínimo, a excentricidade mínima de 1ª ordem também deve ser calculada nas direções x e y do pilar.

Vamos ao código Python agora? Veja que o código pede para o usuário informar as dimensões do pilar nas direções x e y em centímetros, a carga total que chega ao pilar em kN e mostra o momento fletor mínimo e a excentricidade mínima de 1ª ordem no pilar, tanto na direção x quanto na direção y:

# método principal
def main():
  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # vamos pedir a carga total no pilar em kN
  Nk = float(input("Informe a carga total no pilar (em kN): "))

  # vamos obter o menor lado do pilar (menor dimensão da seção transversal)
  if (hx < hy):
    b = hx
  else:
    b = hy
   
  # agora vamos calcular a área do pilar em centímetros quadrados
  area = hx * hy
 
  # a área está de acordo com a norma NBR 6118 (ABNT, 2014)
  if (area < 360):
    print("A área do pilar não pode ser inferior a 360cm2")
    return

  # vamos calcular a força normal de projeto Nd
  yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
  yf = 1.4 # regra geral para concreto armado
  Nd = yn * yf * Nk

  # e agora vamos calcular o momento fletor mínimo na direção x do pilar
  M1d_min_x = Nd * (1.5 + (0.03 * hx))

  # e agora vamos calcular o momento fletor mínimo na direção y do pilar
  M1d_min_y = Nd * (1.5 + (0.03 * hy))

  # agora vamos calcular a excentricidade mínima de 1ª ordem na direção x do pilar
  e1x_min = M1d_min_x / Nd

  # e finalmente a excentricidade mínima de 1ª ordem na direção y do pilar
  e1y_min = M1d_min_y / Nd

  # e mostramos os resultados
  print("\nO momento fletor mínimo na direção x é: {0} kN.cm".format(
    round(M1d_min_x, 2)))
  print("O momento fletor mínimo na direção y é: {0} kN.cm".format(
    round(M1d_min_y, 2)))
  print("A excentricidade mínima de 1ª ordem na direção x é: {0} cm".format(
    round(e1x_min, 2)))
  print("A excentricidade mínima de 1ª ordem na direção y é: {0} cm".format(
    round(e1y_min, 2)))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19
Informe a carga total no pilar (em kN): 841.35

O momento fletor mínimo na direção x é: 3180.3 kN.cm
O momento fletor mínimo na direção y é: 2438.23 kN.cm
A excentricidade mínima de 1ª ordem na direção x é: 2.7 cm
A excentricidade mínima de 1ª ordem na direção y é: 2.07 cm


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 Toolkit

Quantidade de visualizações: 23929 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.


jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML

Como obter valores dos atributos de um elemento HTML usando a função attr() do jQuery

Quantidade de visualizações: 16048 vezes
O exemplo abaixo mostra como obter os valores dos atributos de um elemento HTML usando a notação attr(). O retorno é uma string contendo o valor do atributo:

<script type="text/javascript">
<!--
  function obterAtributo(){
    // Este exemplo mostra como obter o valor do 
    // atributo value de uma caixa de texto com 
    // o id "nome"
	
    var valor = $('#nome').attr("value");
    window.alert(valor);
  }
//-->
</script>



PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como verificar se um arquivo existe usando a função file_exists() do PHP

Quantidade de visualizações: 13048 vezes
Em algumas situações nós precisamos verificar a existência de um arquivo ou diretório no sistema de arquivos de um determinado site. Para isso nós podemos usar a função file_exists() da linguagem PHP.

Esta função retorna um valor true se o arquivo ou diretório existir no caminho especificado, e false em caso contrário.

Veja um exemplo completo de seu uso:

<?php
// pesquisa no diretório atual
$arquivo = "testes.txt";

if(file_exists($arquivo)){
  echo "O arquivo já existe.";
}
else{
  echo "O arquivo não existe ainda.";
}
?>

Ao executar este código PHP nós teremos o seguinte resultado:

O arquivo já existe.


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como acessar os caracteres de uma string individualmente em PHP usando índices

Quantidade de visualizações: 254 vezes
Em algumas situações nós gostaríamos de acessar os caracteres individuais de uma palavra, frase ou texto em PHP. Isso pode ser feito por meio da notação de índices, ou seja, usando [].

Veja um exemplo abaixo:

<?php
  $nome = "Carlos de Jesus";
  echo "O primeiro caractere é " . $nome[0];
?>

Ao executar este código PHP nós teremos o seguinte resultado:

O primeiro caractere é C


VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de VB.NET - Como testar se um ano é bissexto em VB.NET - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

Quantidade de visualizações: 725 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 VB.NET 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.
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET console:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' vamos solicitar que o usuário informe um ano
    Console.Write("Informe o ano: ")
    Dim ano As Integer = Int32.Parse(Console.ReadLine())

    ' vamos verificar se o ano informado é bissexto
    If (((ano Mod 4 = 0) And (ano Mod 100 <> 0)) Or (ano Mod 400 = 0)) Then
      Console.WriteLine("O ano informado é bissexto.")
    Else
      Console.WriteLine("O ano informado não é bissexto.")
    End If

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub

End Module



C# ::: Dicas & Truques ::: Data e Hora

Como calcular a quantidade de dias decorridos em C# usando um objeto TimeSpan

Quantidade de visualizações: 8566 vezes
Em algumas ocasiões precisamos saber a quantidade de dias decorridos deste uma determinada data usando a linguagem C#. 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 passado e então a subtraímos da data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos obter a quantidade de dias decorridos entre
      // 10/06/2009 e a data atual
      DateTime data_anterior = new DateTime(2009, 6, 10);  // 10/06/2009
      DateTime hoje = DateTime.Now;

      // obtém a quantidade de dias decorridos
      TimeSpan dif = hoje.Subtract(data_anterior);
      int decorridos = dif.Days;

      // exibe o resultado
      System.Console.WriteLine("Dias decorridos desde 10/06/2009: " +
        decorridos);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Dias decorridos desde 10/06/2009: 4662

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 53 usuários muito felizes estudando em nosso site.