![]() |
|
|
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. |
||
Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em Java usando a função renameTo() da classe FileQuantidade de visualizações: 9 vezes |
|
Nesta dica eu mostro como podemos tirar proveito do método renameTo() da classe File do Java para renomear arquivos. Lembre-se de que a classe File está no pacote java.io. Além disso, não coloquei try...catch no exemplo. Faça isso caso você deseje usar este código em aplicações reais. Veja o código completo:
package arquivodecodigos;
import java.io.File;
public class Estudos{
public static void main(String[] args){
// arquivo com o nome antigo
File arquivo1 = new File("c:\\java\\Conectar.java");
// arquivo com o novo nome
File arquivo2 = new File("c:\\java\\Conectar2.java");
boolean ok = arquivo1.renameTo(arquivo2);
if(ok){
System.out.println("Arquivo renomeado com sucesso.");
}
else{
System.out.println("Nao foi possivel renomear o arquivo.");
}
}
}
Se o arquivo puder se renomeado com sucesso você verá a mensagem: Arquivo renomeado com sucesso. |
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila C++ para iniciantes - Como usar o tipo de dados short ou short int da linguagem C++Quantidade de visualizações: 14294 vezes |
O tipo de dados short (também chamado de short int) da linguagem C++ é uma variação do tipo int e geralmente possui a metade da capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, que não sejam grandes o suficiente para exigir variáveis do tipo int. Veja um trecho de código demonstrando seu uso (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// declara uma variável do tipo short
short idade = 45;
cout << "A idade é: " << idade << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Veja que a maioria dos compiladores C++ não faz distinção entre os tipos short e short int. A capacidade de armazenamento do tipo short depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos SHRT_MIN e SHRT_MAX, definidos no header climits (limits.h). Veja:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Valor mínimo: " << SHRT_MIN << "\n";
cout << "Valor máximo: " << SHRT_MAX << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este programa você terá um resultado parecido com: Valor mínimo: -32768 Valor máximo: 32767 Veja que o tipo short aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
short soma = SHRT_MAX + 2;
cout << "Resultado: " << soma << "\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Este programa exibirá o seguinte resultado: Resultado: -32767 Note que este não é o resultado esperado, visto que SHRT_MAX + 2 deveria retornar: 32767 + 2 = 32769 Porém, como o valor máximo que pode ser armazenado em um short é 32767, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo short ser armazenado em 2 bytes, o que resulta em 16 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo short:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Tamanho de um short: " << sizeof(short)
<< " bytes\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
O resultado da execução deste código será algo como: Tamanho de um short: 2 bytes |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados short da linguagem JavaQuantidade de visualizações: 12655 vezes |
O tipo de dados short pode ser usado quando queremos armazenar valores inteiros na faixa -32,768 à 32,767. Veja um exemplo:
public class Estudos{
static short valor = 30000;
public static void main(String args[]){
System.out.println("O valor da variável é: "
+ valor);
System.exit(0);
}
}
Porém, é preciso estar atento a um detalhe muito importante (testado na versão 6 do SDK). Veja o trecho de código seguinte:
public class Estudos{
public static void main(String args[]){
short a = 32;
short b = 19;
short soma = a + b;
System.out.println("O resultado é: " + soma);
System.exit(0);
}
}
À primeira vista este código está correto, visto que a soma das variáveis a e b não ultrapassam a faixa do tipo short. Porém, ao tentarmos compilar, temos a seguinte mensagem de erro:
Estudos.java:5: possible loss of precision
found : int
required: short
short soma = a + b;
^
1 error
short a = 32; short b = 19; short soma = (short)(a + b); O tipo de dados short pode ser convertido (sem a necessidade de cast) para os seguintes tipos: short -> int -> long -> float -> double Se precisarmos converter o tipo short para os tipos char e byte, teremos que lançar mão de uma coerção (cast). Veja: short a = 32; short b = 19; byte soma = (byte)(a + b); |
Java ::: Dicas & Truques ::: Data e Hora |
Como construir uma data no passado ou futuro em Java usando a classe GregorianCalendarQuantidade de visualizações: 8668 vezes |
Esta dica mostra como construir uma data no passado ou futuro na linguagem Java usando a classe GregorianCalendar, que é uma classe derivada e concreta da classe Calendar. Veja a linha na qual informamos a data a ser criada: Calendar data = new GregorianCalendar(2008, 11, 13); Aqui nós estamos usando o construtor da classe GregorianCalendar que requer três valores inteiros. O ano, o mês e o dia. O mês é informado como um valor inteiro na faixa de 0 a 11, ou seja, 0 para janeiro, 1 para fevereiro e assim por diante. Veja o exemplo:
package arquivodecodigos;
import java.util.*;
import java.text.*;
public class Estudos{
public static void main(String args[]){
// vamos construir a data "13/12/2008"
Calendar data = new GregorianCalendar(2008, 11, 13);
// vamos exibir o resultado
Format formato = new SimpleDateFormat(
"EEEE, dd 'de' MMMM 'de' yyyy");
System.out.println(formato.format(data.getTime()));
}
}
Ao executar este código Java nós teremos o seguinte resultado: Sábado, 13 de Dezembro de 2008 |
Rust ::: Fundamentos da Linguagem ::: Compilador rustc |
Como escrever um "Hello, World!" na linguagem Rust usando a ferramenta rustcQuantidade de visualizações: 1072 vezes |
|
Então você já fez a instalação do Rust, testou o seu funcionamento disparando "rustc --version" em uma janela de terminal e agora quer começar a aprender mais sobre a linguagem? Que tal começar escrevendo o famoso "Hello, World!" ("Olá, Mundo!")? Nesta dica mostrarei como essa tarefa é fácil, principalmente se optarmos pelo uso da ferramenta rustc. Lembre-se, no entanto, que rustc é usado diretamente quando estamos escrevendo aplicações simples, provas de conceito, protótipos e coisas assim. Para aplicações mais complexas, é sempre recomendado o uso do Cargo, que é um sistema de build e gerenciador de pacotes do Rust. Então vamos começar. Abra o seu editor de códigos favorito (tal como o Notepad++) e digite a seguinte listagem:
fn main() {
println!("Hello, world! Aqui é Rust na veia.");
}
Salve este arquivo como "estudos.rs" no diretório de sua preferência. Aqui eu optei por salvá-lo em um diretório chamado "C:\estudos_rust". Agora vamos compilar nosso programa Rust. Abra uma janela de terminal e navegue até o diretório que você salvou o arquivo "estudos.rs" e dispare o comando abaixo: C:\Users\Osmar>cd c:\estudos_rust c:\estudos_rust>rustc estudos.rs Se tudo correr bem, você verá a criação de um arquivo "estudos.exe". Para executá-lo pela linha de comando nós só precisamos disparar: c:\estudos_rust>estudos Hello, world! Aqui é Rust na veia. Simples, né? No entanto, se dermos duplo-clique em cima do executável gerado, ele abre e fecha automaticamente. Não seria bom exibir uma mensagem do tipo "Pressione uma tecla para fechar..."? Basta modificar seu código para a versão abaixo:
// importamos a biblioteca io
use std::io;
use std::io::Write;
fn main() {
println!("Hello, world! Aqui é Rust na veia.");
// procedimento para pausar o programa
let mut resposta = String::new();
print!("\nPressione Enter para sair...");
io::stdout().flush().unwrap();
io::stdin().read_line(&mut resposta)
.expect("Erro ao ler a entrada do usuário");
}
Sim, eu sei que agora nós adicionamos código demais para alcançar um detalhe tão simples. Mas, à medida que a linguagem Rust evolui, talvez os desenvolvedores resolvam simplificar esta parte. Compile o programa novamente e experimente abrir o executável com duplo-clique. Você verá que agora o programa fica aguardando o pressionamento da tecla Enter para fechar. |
Veja mais Dicas e truques de Rust |
Dicas e truques de outras linguagens |
|
C# - Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChanged |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



