![]() |
|
|
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. |
||
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como usar a classe/contêiner vector da STL em seus programas C++Quantidade de visualizações: 9564 vezes |
|
O vetor, ou vector, é uma das classes contêineres mais simples da STL - Standard Template Library do C++. Um vector se comporta como um vetor, ou seja, uma matriz de uma linha e várias colunas, ou seja, seus elementos estão dispostos em posições contiguas na memória. O que diferencia um vector de um array comum é que o tamanho de um vector pode ser modificado dinamicamente. A especificação do template da classe vector é: template <class T, class Allocator = allocator<T>> class vector Aqui T é o tipo de dados sendo armazenado (já ouvir falar em genéricos, não?) e Allocator define o modelo de alocação de armazenagem. Por padrão, o template da classe allocator para o tipo T é usado, o que define o modelo de alocação de memória mais simples e independente de valores. Objetos da classe vector são úteis nas seguintes situações: a) Acessar os elementos individualmente usando seus índices (tempo constante); b) Percorrer os elementos em qualquer ordem (tempo linear); b) Adicionar ou remover elementos no final do contêiner (tempo constante amortizado). Para usarmos um vector em nossos programas C++ temos que incluir este contêiner da seguinte forma: #include <vector> Veja um trecho de código no qual criamos um vector, inserimos três inteiros e finalmente usamos um iterador para percorrer os elementos e imprimir seus valores:
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]){
// um vector vazio que conterá inteiros
vector<int> valores;
// vamos inserir três elementos
valores.push_back(54);
valores.push_back(13);
valores.push_back(87);
// vamos percorrer o vector e exibir os elementos
vector<int>::iterator it;
for(it = valores.begin(); it < valores.end(); it++){
cout << *it << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executarmos este código C++ nós teremos o seguinte resultado: 54 13 87 |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 1838 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0)));
Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1)));
Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2)));
end;
Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em JavaScript - Vetores e matrizes em JavaScriptQuantidade de visualizações: 20320 vezes |
|
Nesta dica mostrarei como podemos usar a função sort() do objeto Array da linguagem JavaScript para classificar em ordem alfabética crescente, um vetor (array) de strings, ou seja, um vetor contendo palavras, frases ou texto. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
<script type="text/javascript">
var nomes = new Array();
nomes[0] = "Fernanda";
nomes[1] = "Amanda";
nomes[2] = "Márcia";
nomes[3] = "Carolina";
document.write("Valores no vetor: " + nomes + "<br>");
document.write("Ordenando o vetor agora<br>");
nomes.sort();
document.write("Valores no vetor: " + nomes);
</script>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Valores no vetor: Fernanda,Amanda,Márcia,Carolina Ordenando o vetor agora Valores no vetor: Amanda,Carolina,Fernanda,Márcia |
Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout |
Como criar uma tela de login usando o gerenciador de layout GridBagLayout do Java SwingQuantidade de visualizações: 36659 vezes |
|
Temos que aceitar o fato de que o uso de uma IDE visual facilita muito o trabalho de criação de interfaces gráficas (GUI). Contudo, é muito bom poder escrever telas via código mesmo. E o gerenciador de layout GridBagLayout possibilita a criação de layouts realmente avançados. O trecho de código abaixo mostra como criar uma tela de login usando este gerenciador. Guarde este código. Ele poder ser útil na criação de outros formulários:
package arquivodecodigos;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
public class Estudos extends JFrame{
public Estudos(){
super("Tela de login usando GridBagLayout");
// define o layout
setLayout(new GridBagLayout());
// define uma borda para aumentar o espaço
// entre as bordas da janela e o gerenciador
// de layout
((JComponent)getContentPane()).setBorder(
new EmptyBorder(5, 8, 8, 8));
// cria o GridBagConstraints
GridBagConstraints gbc = new GridBagConstraints();
// controla o espaço entre os componentes
// e as linhas do GridBagLayout.
// aqui nós definimos 3 pixels para os
// lados de cima, esquerda, inferior e direita
gbc.insets = new Insets(3, 3, 3, 3);
// adiciona componentes à janela
// esta primeira JLabel ocupará duas células
// na primeira linha
gbc.gridy = 0; // linha
gbc.gridx = 0; // coluna
gbc.gridwidth = 2; // duas células na linha
// alinha o label à esquerda
gbc.anchor = GridBagConstraints.WEST;
JLabel infoLabel = new JLabel("Dados do Usuário:");
// vamos aumentar a fonte da JLabel
infoLabel.setFont(new Font("SansSerif",
Font.BOLD, 14));
// vamos adicionar um espaço extra na parte
// inferior da JLabel
infoLabel.setBorder(
new EmptyBorder(0, 0, 5, 0));
add(infoLabel, gbc);
gbc.gridy = 1; // linha
gbc.gridx = 0; // coluna
gbc.gridwidth = 1;
// cria a label do usuário
JLabel usuarioLabel = new JLabel("Usuário:");
add(usuarioLabel, gbc);
gbc.gridy = 1; // linha
gbc.gridx = 1; // coluna
// cria a JTextField do usuário
JTextField usuarioTxt = new JTextField(13);
add(usuarioTxt, gbc);
gbc.gridy = 2; // linha
gbc.gridx = 0; // coluna
// cria a label da senha
JLabel usuarioSenha = new JLabel("Senha:");
add(usuarioSenha, gbc);
gbc.gridy = 2; // linha
gbc.gridx = 1; // coluna
// cria a JPasswordField da senha
JPasswordField senhaTxt = new JPasswordField(13);
add(senhaTxt, gbc);
gbc.gridy = 3; // linha
gbc.gridx = 1; // coluna
gbc.gridwidth = 2; // duas células na linha
// alinha os botões à direita
gbc.anchor = GridBagConstraints.EAST;
JPanel botoesPanel = new JPanel();
botoesPanel.add(new JButton("Cancelar"));
botoesPanel.add(new JButton("OK"));
add(botoesPanel, gbc);
pack(); // ajusta o tamanho da janela ao
// dos componentes
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em português |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Programação Orientada a Objetos em Java - Como usar o modificador de acesso public da linguagem Java VB.NET - Como comparar strings em VB.NET usando o método Compare() da classe String do .NET Framework |
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 |







