![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Manipulação de arquivos em Java - Como obter o tamanho de um arquivo em bytes usando o método length() da classe File do JavaQuantidade de visualizações: 1 vezes |
|
A classe File, do pacote java.io da linguagem Java, nos fornece o método length(), que retorna o tamanho de um arquivo em byes. O retorno é do tipo long. Veja como podemos usá-lo no código abaixo:
package arquivodecodigos;
import java.io.*;
public class Estudos{
public static void main(String[] args){
File arquivo = new File("c:\\estudos_java\\lago.jpg");
// Obtém o tamanho do arquivo em bytes
long tam = arquivo.length();
System.out.println("Tamanho do arquivo em bytes: " + tam);
}
}
Ao executar este código nós teremos o seguinte resultado: Tamanho do arquivo em bytes: 143060 |
JavaScript ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em JavaScript - Desenvolvimento de Games com JavaScriptQuantidade de visualizações: 2042 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em JavaScript, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código JavaScript que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo:
<!doctype html>
<html>
<head>
<title>Desenvolvimento de Games usando HTML5 e JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos declarar a classe Circulo
class Circulo{
constructor(xc, yc, raio){
this.xc = xc; // x do centro
this.yc = yc; // y do centro
this.raio = raio; // raio do círculo
}
}
// agora vamos declarar a classe Ponto
class Ponto{
constructor(x, y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
// vamos criar um objeto Circulo
var c = new Circulo(90, 50, 115);
// vamos criar um objeto Ponto
var p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
var dx = p.x - c.xc;
var dy = p.y - c.yc;
if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){
document.writeln("O ponto está dentro do círculo");
}
else{
document.writeln("O ponto NÃO está dentro do círculo");
}
</script>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
Como renomear arquivos e diretórios em C++ usando a função MoveFile() da API do WindowsQuantidade de visualizações: 9171 vezes |
A função MoveFile() da API do Windows pode ser usada quando precisamos renomear um arquivo ou diretório. Veja seu protótipo:BOOL WINAPI MoveFile( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName ); Note que só precisamos fornecer o nome atual e o novo nome do arquivo ou diretório que queremos renomear. Se houver algum erro ao renomear o arquivo ou diretório, a função MoveFile() retornará o valor 0 (zero). Se a operação for efetuada com sucesso, um valor diferente de 0 (zero) será retornado. É sempre uma boa idéia usar a função GetLastError() para retornar o código do erro em caso de falha. Veja um trecho de código no qual renomeamos um arquivo:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// nome atual do arquivo
CHAR nome_atual[] = "C:\\testes.txt";
// novo nome do arquivo
CHAR nome_novo[] = "C:\\novo.txt";
// vamos renomear o arquivo
if(MoveFile(nome_atual, nome_novo)){
cout << "Arquivo renomeado com sucesso." << endl;
}
else{
cout << "Erro ao renomear o arquivo: " <<
GetLastError() << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Aqui nós estamos alterando o nome do arquivo testes.txt para novo.txt. Os possíveis erros nesta operação são: a) ERROR_FILE_NOT_FOUND - Ocorre quando o arquivo fornecido como primeiro argumento para a função MoveFile() não existe. O código para este erro é 2 e a mensagem em português é "O sistema não pode encontrar o arquivo especificado (The system cannot find the file specified)". b) ERROR_ALREADY_EXISTS - Ocorre quando o arquivo fornecido como segundo argumento para a função MoveFile() já existe. O código para este erro é 183 e a mensagem em português é "Não é possível criar um arquivo já existente (Cannot create a file when that file already exists)". Veja agora um trecho de código no qual renomeamos um diretório:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// nome atual do diretório
CHAR nome_atual[] = "C:\\imagens";
// novo nome do diretório
CHAR nome_novo[] = "C:\\imagens2";
// vamos renomear o diretório
if(MoveFile(nome_atual, nome_novo)){
cout << "Diretório renomeado com sucesso." << endl;
}
else{
cout << "Erro ao renomear o diretório: " <<
GetLastError() << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
|
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Quantidade de patas dos animais de uma fazenda - O desafio da fazenda em VisuAlgQuantidade de visualizações: 705 vezes |
|
Pergunta/Tarefa: Para este exercício você foi contratado(a) para informar a quantidade total de patas dos animais de uma fazenda. O fazendeiro cria três espécies de animais: Galinhas = 2 patas Vacas = 4 patas Porcos = 4 patas O funcionário responsável pela fazenda contou os animais e forneceu a você a quantidade de animais de cada espécie (galinhas, vacas e porcos). Sua tarefa é retornar o número total de patas de todos os animais da fazenda. Sua saída deve ser parecida com: Informe a quantidade de galinhas: 8 Informe a quantidade de vacas: 3 Informe a quantidade de porcos: 11 Quantidade de animais: 22 Quantidade de patas: 72 Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Desafio da fazenda em VisuAlg"
var
// variáveis usadas na resolução do problema
quant_galinhas, quant_vacas, quant_porcos: inteiro
quant_total_animais, quant_patas_total: inteiro
inicio
// vamos ler a quantidade de cada animal
escreva("Informe a quantidade de galinhas: ")
leia(quant_galinhas)
escreva("Informe a quantidade de vacas: ")
leia(quant_vacas)
escreva("Informe a quantidade de porcos: ")
leia(quant_porcos)
// vamos calcular a quantidade de animais
quant_total_animais <- quant_galinhas + quant_vacas + quant_porcos
escreval("Quantidade de animais: ", quant_total_animais)
// vamos calcular a quantidade de patas
quant_patas_total <- quant_galinhas * 2
quant_patas_total <- quant_patas_total + (quant_vacas * 4)
quant_patas_total <- quant_patas_total + (quant_porcos * 4)
escreval("Quantidade de patas: ", quant_patas_total)
fimalgoritmo
|
C ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizadaQuantidade de visualizações: 24517 vezes |
O código abaixo mostra como você pode implementar uma função que inverte o conteúdo de uma string. Veja que o argumento para um função é um ponteiro para a string a ser invertida:
#include <stdio.h>
#include <stdlib.h>
// função que reverte uma string
void str_reverse(char* str)
{
char ch;
int i, j;
for(i = 0, j = strlen(str) - 1; i < j; ++i, --j)
{
ch = str[i];
str[i] = str[j];
str[j] = ch;
}
}
int main(int argc, char *argv[])
{
char nome[] = "Osmar J. Silva";
// original
printf("Original: %s\n", nome);
// inverte
str_reverse(nome);
printf("Invertido: %s\n", nome);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: Original: Osmar J. Silva Invertido: avliS .J ramsO Pressione qualquer tecla para continuar... |
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 |






