![]() |
|
|
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 Aço e Madeira |
||
|
||
|
|
||
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora em JavaScript usando a função getHours() do objeto DateQuantidade de visualizações: 7943 vezes |
|
Em várias situações nós precisamos obter as horas a partir de um objeto Date do JavaScript. Para isso nós podemos efetuar uma chamada à sua função getHours(), que retorna um valor que vai de 0 até 23. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
<script type="text/javascript">
var data = new Date();
var hora = data.getHours();
document.write("O valor da hora é: " + hora);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O valor da hora é: 14 |
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em C++ usando a função mkdir()Quantidade de visualizações: 10935 vezes |
Em algumas situações nossos códigos C++ precisam criar diretórios. Isso pode ser feito com o auxílio da função mkdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:int _mkdir(const char *pathname); Veja um trecho de código C++ no qual criamos um diretório no mesmo diretório do executável.
#include <iostream>
#include <direct.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar o diretório
char diretorio[] = "estudos";
// vamos testar se houve erro na criação do diretório
if(mkdir(diretorio) == -1){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório criado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É possível usar a versão Unicode de mkdir(), ou _mkdir(). O método _wmkdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:
#include <iostream>
#include <direct.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar o diretório
wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";
// vamos testar se houve erro na criação do diretório
if(_wmkdir(diretorio) == -1){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório criado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Note que agora eu troquei o tipo char por wchar_t e usei o sinalizado L antes da atribuição da string. |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaDataQuantidade de visualizações: 5796 vezes |
|
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro). A assinatura do método getTableTypes() é: public ResultSet getTableTypes() throws SQLException Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0:
package estudosbancodados;
import java.sql.*;
public class EstudosBancoDados{
public static void main(String[] args) {
// strings de conexão
String databaseURL = "jdbc:mysql://localhost/estudos";
String usuario = "root";
String senha = "osmar1234";
String driverName = "com.mysql.jdbc.Driver";
try {
Class.forName(driverName).newInstance();
Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);
// vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
DatabaseMetaData dbmd = conn.getMetaData();
// vamos obter os tipos de tabelas suportadas por esta versão do MySQL
ResultSet tiposTabelas = dbmd.getTableTypes();
while(tiposTabelas.next()){
System.out.println(tiposTabelas.getString("TABLE_TYPE"));
}
// vamos fechar o ResultSet
tiposTabelas.close();
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch (Exception e) {
System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
}
}
}
O resultado da execução deste código foi: TABLE VIEW LOCAL TEMPORARY |
Ruby ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um diretório existe em Ruby usando a função File.exist()Quantidade de visualizações: 7189 vezes |
|
Em algumas situações nós precisamos testar a existência de um diretório na linguagem Ruby. Para isso nós podemos usar a função File.exist?(), que nos retorna um valor True se o diretório existir e False em caso contrário. Veja o código Ruby completo para o exemplo: # nome e caminho do diretório a ser testado diretorio = "C:\\estudos_ruby\\escola" if File.exist? diretorio puts "O diretório existe" else puts "O diretório não existe" end Ao executar este código Ruby nós teremos o seguinte resultado: O diretório existe |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Java - Como usar a Ordenação da Bolha em Java para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 4267 vezes |
|
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Java que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos declarar e construir um vetor de 10 elementos
int valores[] = new int[10];
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir que o usuário informe os valores
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o valor para o índice " + i + ": ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// vamos mostrar o vetor informado
System.out.println("\nO array informado foi:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// vamos ordenar os elementos do vetor usando a ordenação da bolha
// laço externo de trás para frente
for(int i = valores.length - 1; i > 1; i--){
for(int j = 0; j < i; j++){ // laço interno vai no fluxo normal
if(valores[j] > valores[j + 1]){ // temos que trocá-los de lugar
int temp = valores[j];
valores[j] = valores[j + 1];
valores[j + 1] = temp;
}
}
}
// vamos exibir o vetor já ordenado
System.out.println("\n\nO array ordenado é:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
System.out.println("\n");
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
GNU Octave - Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



