![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Java ::: Dicas & Truques ::: Data e Hora |
Java para iniciantes - Como usar a classe Date em suas aplicações JavaQuantidade de visualizações: 14680 vezes |
A classe Date pertence ao pacote java.util, e, embora muitos de seus métodos estejam em desuso (Deprecated), ainda encontraremos muito código Java que usa esta classe para trabalhar com datas e horas. Veja sua posição na hierarquia de classes Java:java.lang.Object java.util.Date Esta classe implementa as interfaces Serializable, Cloneable e Comparable<Date> e suas subclasses conhecidas são Date, Time, Timestamp (todas do pacote java.sql). As informações abaixo podem ser encontradas na documentação da classe Date. A classe Date representa um momento específico no tempo, com uma precisão de milisegundos. Antes do JDK 1.1, esta classe tinha duas funções adicionais. Ela permitia a interpretação de datas como valores de ano, mês, dia, hora, minuto e segundo. Também permitia a formatação e parsing de strings de datas. Infelizmente, a API para estas funções não facilitava a internacionalização. Assim, a partir do JDK 1.1, a classe Calendar deve ser usada para converter entre campos de datas e horas e a classe DateFormat deve ser usada para formatar e fazer o parsing de strings de datas. Os métodos correspondentes a estas funções estão em desuso (Deprecated) na classe Date. Embora a classe Date tenha sido projetada para refletir a hora universal coordenada (Coordinated Universal Time - UTC), ela pode não ser capaz de fazer isso corretamente, dependendo do sistema no qual a Java Virtual Machine esteja sendo executada. A grande maioria dos sistemas operacionais modernos assume que 1 dia = 24 × 60 × 60 = 86400 segundos em todos os casos. No UTC, contudo, de dois em dois anos, aproximadamente, há um segundo extra, chamado de "leap second" (a mesma idéia do ano bissexto). O leap second é sempre adicionado como o último segundo do dia e sempre nos dias 31 de dezembro ou 30 de junho. Por exemplo, o último minuto do ano de 1995 teve 61 segundos, graças ao segundo extra que foi adicionado. A maioria dos relógios dos computadores não são precisos o suficiente para refletir a distinção do leap second. Alguns padrões de computadores são definidos em termos da hora de Greenwich (Greenwich mean time - GMT), que é o equivalente ao Universal Time (UT). GMT é o nome "civil" para o padrão, UT é o nome "científico" para o mesmo padrão. A distinção entre UTC e UT é que UTC é baseado em um relógio atômico e UT é baseado em observações astronômicas, o que para todos os propósitos práticos não traz diferença significativa. Devido à rotação da terra não ser uniforme (ela desacelera ou acelera de formas complicadas), O UT nem sempre flui uniformente. Segundos extras (Leap seconds) são inseridos conforme necessário no UTC de forma a mantê-lo dentro dos 0.9 segundos do UT1, que é uma versão do UT com algumas correções aplicadas. Há outros sistemas de datas e horas também; por exemplo, a escala de tempo pelo sistema de posicionamento global baseado em satélite (satellite-based global positioning system - GPS) é sincronizado com o UTC mas não é ajustado para os segundos extras. Em todos os métodos da classe Date que aceitam ou retornam valores de ano, mês, dia, hora, minuto e segundos, as seguintes representações são usadas:
|
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do DelphiQuantidade de visualizações: 16921 vezes |
|
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1. A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos: procedure DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word); Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo:
procedure TForm2.Button1Click(Sender: TObject);
var
dividendo, divisor: Integer;
resultado, resto: Word;
begin
// uses Math
// vamos dividir 10 por 3
dividendo := 10;
divisor := 3;
DivMod(dividendo, divisor, resultado, resto);
// vamos exibir o resultado
ShowMessage('Resultado da divisão: ' + IntToStr(resultado));
// vamos exibir o resto
ShowMessage('Resto da divisão: ' + IntToStr(resto));
end;
Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
LISP ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para EngenhariaQuantidade de visualizações: 1121 vezes |
|
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código LISP completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):
; programa LISP que converte Coordenadas Polares
; em Coordenadas Cartesianas
(let((raio)(theta)(graus)(x)(y))
; vamos ler o raio e o ângulo
(princ "Informe o raio: ")
(force-output)
(setq raio (read))
(princ "Informe o theta: ")
(force-output)
(setq theta (read))
(princ "Theta em graus (1) ou radianos (2): ")
(force-output)
(setq graus (read))
; o theta está em graus?
(if(eq graus 1)
(setq theta (* theta (/ pi 180.0)))
)
; fazemos a conversão para coordenadas cartesianas
(setq x (* raio (cos theta)))
(setq y (* raio (sin theta)))
; exibimos o resultado
(format t "As Coordenadas Cartesianas são: (x = ~F, y = ~F)"
x y)
)
Ao executar este código LISP nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0,00, y = 1,00) |
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como criar um laço while infinito em PHPQuantidade de visualizações: 10632 vezes |
Um laço while() infinito pode ser criado em PHP simplesmente fornecendo o valor true para a condição do laço. Neste caso é preciso que você forneça uma forma de parar o laço, ou o script continuará executando até atingir seu tempo tempo máximo de execução, e um erro será exibido na página. Veja um trecho de código exemplificando o uso de um laço while infinito:
<?
$valor = 5;
while(true){
echo $valor . "<br>";
$valor++;
if($valor > 10)
break; // pára o laço
}
?>
|
Nossas 20 dicas & truques de programação mais populares |
|
Delphi - Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelected C# - Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChanged |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do Python |
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 |





