![]() |
|
|
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 Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Java ::: Pacote java.lang ::: String |
Curso de Java - Como usar a classe String da linguagem JavaQuantidade de visualizações: 7862 vezes |
|
A classe String, presente no pacote java.lang, permite a representação de cadeias (strings) de caracteres. Todos os strings literais em Java, tais como "abc", são implementados como instâncias desta classe. Por pertencer ao pacote java.lang, não precisamos importar nenhum pacote para poder usar esta classe em nossos programas Java. Veja um exemplo de como declarar e inicializar uma variável do tipo String:
public class Main {
public static void main(String[] args) {
String nome = "Osmar J. Silva";
System.out.println(nome);
}
}
Veja a posição desta classe na hierarquia de classes da plataforma Java: java.lang.Object java.lang.String Esta classe implementa as interfaces Serializable, CharSequence e Comparable<String>. Objetos do tipo String são constantes, ou seja, seus valores não podem ser alterados depois de criados. Assim, se você tiver um código parecido com:
public class Main {
public static void main(String[] args) {
// ambas as variáveis apontam para uma mesma string
// há somente uma cópia de "Osmar J. Silva" na memória
String nome = "Osmar J. Silva";
String nome2 = "Osmar J. Silva";
// agora uma nova string é criada e a anterior é preservada
nome2 = "Marcos de Souza Gomes";
}
}
Note que o compilador, com o propósito de poupar recursos do sistema, cria apenas uma string "Osmar J. Silva" e a coloca no pool de strings. No momento que alteramos o valor da variável nome2, uma nova string "Marcos de Souza Gomes" é criada e a anterior permanece intacta. A classe String inclui métodos para examinar os caracteres individuais da sequencia, para a comparação de strings, pesquisar, extrair substrings e também criar uma cópia da string com todos os caracteres convertidos para letras maiúsculas ou minúsculas. O mapeamente das letras maiúsculas e minúsculas é feito com base na versão Unicode Standard especificada na classe Character. A linguagem Java fornece suporte especial para a concatenação de strings, usando o operador (+) e para a conversão de outros objetos em strings. A concatenação é implementada por meio da classe StringBuilder (ou StringBuffer) e seu método append(). As conversões de strings são implementadas por meio do método toString(), definido na classe Object e herdado por todas as demais classes Java. Quando não devidamente observado, passar um argumento null para o construtor ou método da classe String fará com que uma exceção do tipo NullPointerException seja atirado. A classe String representa uma string no formato UTF-16, no qual caracteres suplementares são representados por pares prepostos. Valores de índice referem-se às unidades de código de caracteres. Assim, caracteres suplementares usam duas posições em uma String. |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um diretório existe em C# usando a propriedade Exists da classe DirectoryInfoQuantidade de visualizações: 2 vezes |
|
Em algumas situações nós precisamos verificar se um diretório existe em C#, talvez para ler ou gravar dados neste arquivo. Isso pode ser feito por meio da propriedade Exists da classe DirectoryInfo. Esta propriedade retorna um valor true se o diretório existir e false em caso contrário. Veja o código completo para o exemplo:
using System;
using System.IO;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// vamos criar uma nova instância da classe DirectoryInfo
DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens");
// vamos testar se o diretório existe
if (dir.Exists) {
Console.Write("Diretório existe");
}
else {
Console.Write("Diretório não existe");
}
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: O diretório existe. |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como converter de octal para decimal usando o método parseInt() da classe Integer da linguagem JavaQuantidade de visualizações: 10602 vezes |
|
Nesta dica eu mostrarei como podemos tirar proveito do método parseInt() da classe Integer do Java para converter um valor octal para decimal. Para isso nós só precisamos fornecer o valor 8 como segundo argumento para esta função. Veja o código completo:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
String octal = "10";
// efetua a conversão de octal para
// decimal
int decimal = Integer.parseInt(octal, 8);
// exibe o resultado
System.out.println("O octal " + octal + " em decimal é " +
decimal);
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: O octal 10 em decimal é 8 |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como usar o método format() da classe NumberFormat do Java para formatar um valor float ou double de acordo com as configurações regionais - RevisadoQuantidade de visualizações: 11753 vezes |
|
Nesta dica mostrarei como usar o método format() da classe NumberFormat da linguagem Java. Esta classe está no pacote java.text e é usada para a formatação e análise de valores numéricos. Note como usei o método getInstance() sem argumentos. Isso nos permite retornar uma instância de NumberFormat de acordo com as configurações regionais da máquina na qual o código está sendo executado. Veja o código completo:
package arquivodecodigos;
import java.text.NumberFormat;
public class Estudos{
public static void main(String[] args){
// vamos double a ser formatado
double valor = 1234567.89;
// vamos obter uma instância de acordo com as configurações
// regionais
NumberFormat nf = NumberFormat.getInstance();
// e agora usamos o método format() para formatar
String numFormatado = nf.format(valor);
// exibimos o valor original
System.out.println("Sem formatação: " + valor);
// com formatação
System.out.println("Com formatação: " + numFormatado);
}
}
Ao executar este código nós teremos o seguinte resultado: Sem formatação: 1234567.89 Com formatação: 1.234.567,89 Esta dica foi revisada e testada no Java 8. |
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando o operador new do C++Quantidade de visualizações: 12693 vezes |
|
Em algumas situações precisamos alocar memória dinamicamente. Em C++ isso é feito com o auxílio do operador new. Este operador permite alocar uma determinada quantidade de bytes, alinhados de forma a representar o objeto para o qual queremos reservar memória. Veja um exemplo de código no qual alocamos memória dinâmica para uma variável do tipo int:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// aloca memória para um objeto do tipo int
int *ponteiro = new int;
// vamos definir o valor para o objeto recém-alocado
*ponteiro = 20;
// vamos exibir seu valor
cout << *ponteiro << endl;
// vamos liberar a memória
delete ponteiro;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Note que aqui a memória foi alocada e guardada em um ponteiro. Veja também o uso do operador delete para liberar a memória alocada. Isso evita os vazamentos de memória tão frequentes em aplicações que lidam com a memória dinâmica. É claro que este não é o exemplo mais prático. Qual a vantagem de se alocar memória para um int? Declarar uma variável teria sido mais eficiente. A alocação de memória dinâmica é mais útil quando estamos lidando com objetos mais complexos que os tipos básicos. Alguns exemplos envolvem a criação de objetos de classes, matrizes, estruturas de dados, etc. Veja um exemplo no qual temos uma declaração de uma classe chamada Cliente e em seguida alocamos memória para uma instância desta classe:
#include <iostream>
#include <string>
using namespace std;
// declaração da classe Cliente
class Cliente{
public:
Cliente();
string obterNome();
void definirNome(string);
private:
string nome;
};
// implementação dos métodos da classe
Cliente::Cliente(){} // construtor vazio
// obtém o nome do cliente
string Cliente::obterNome(){
return this->nome;
}
// define o nome do cliente
void Cliente::definirNome(string nome){
this->nome = nome;
}
int main(int argc, char *argv[]){
// aloca memória para um objeto da classe Cliente
Cliente *c = new Cliente();
// vamos definir o nome do cliente
c->definirNome("Osmar J. Silva");
// vamos exibir o nome do cliente
cout << c->obterNome() << endl;
// vamos liberar a memória usada
delete c;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Nome do cliente: Osmar J. Silva |
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 |



