![]() |
|
|
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 |
||
|
||
|
|
||
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em GNU Octave usando a função sin()Quantidade de visualizações: 3141 vezes |
|
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno 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 seno. 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 seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem GNU Octave. Esta função, que já vem embutido na ferramenta, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: >> sin(0) [ENTER] ans = 0 >> sin(1) [ENTER] ans = 0.8415 >> sin(2) [ENTER] ans = 0.9093 >> Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de C++ - Como testar se um ano é bissexto em C++ - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 787 vezes |
|
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa C++ que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando C++:
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas para resolver o problema
int ano;
// vamos solicitar que o usuário informe um ano
cout << "Informe o ano: ";
cin >> ano;
// vamos verificar se o ano informado é bissexto
if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){
cout << "O ano informado é bissexto.";
}
else{
cout << "O ano informado não é bissexto.";
}
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como criar e usar métodos estáticos em PHPQuantidade de visualizações: 9776 vezes |
Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Veja a seguinte declaração de uma classe Produto:
<?php
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $this->nome;
}
public function setPreco($preco){
$this->preco = $preco;
}
public function getPreco(){
return $this->preco;
}
}
?>
Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. Métodos estáticos em PHP podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:
<?php
// classe Pessoa com duas variáveis privadas e um método
// estático
class Pessoa{
private $nome;
private $idade;
// um método estático que permite verificar a validade
// de um número de CPF
public static function isCPFValido($cpf){
// alguma rotina aqui
return true;
}
}
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa::isCPFValido("12345")){
echo "CPF Válido";
}
else{
echo "CPF inVálido";
}
?>
Observe como acessamos o método isCPFValido() sem a necessidade da criação de uma instância da classe Pessoa. Note que, se quisermos chamar um método estático a partir de uma instância na qual ele está declarado, devemos usar self em vez de $this (ainda que esta última forma não provoque nenhum efeito colateral) para deixar bem claro que o método chamado pertence à classe e não às suas instâncias. Finalmente note que um método estático não possui acesso à uma instância específica de uma classe por meio da referência $this (o que é compreensível, visto que uma chamada a um método estático não depende da existência de instâncias da classe que o declara). Ao tentarmos acessá-lo, teremos a seguinte mensagem de erro: Fatal error: Using $this when not in object context in ... |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Apostila de C para iniciantes - Como usar a função fread() da linguagem C para ler todo o conteúdo de um arquivo de uma só vezQuantidade de visualizações: 23662 vezes |
A função fread() se torna muito útil quando precisamos ler grandes blocos ou até mesmo todo o conteúdo de um arquivo. Neste caso, o conteúdo lido é guardado em um buffer para uso posterior. Veja o protótipo desta função:size_t fread(void *ptr, size_t size, size_t count, FILE *stream); Aqui ptr é um ponteiro para o buffer que receberá o conteúdo sendo lido. A capacidade deste buffer deverá ser no mínimo o valor de size multiplicado por count. O parâmetro size é o tamanho em bytes de cada elemento sendo lido. count é o número de elementos a serem lidos e stream é um ponteiro para o arquivo cujo conteúdo será lido. Se a leitura do conteúdo for feita com sucesso, a função fread() retornará a quantidade de elementos lidos com sucesso. No exemplo abaixo estamos lendo caracteres de 1 byte cada. Analise o código cuidadosamente e verá como é fácil modificá-lo para, por exemplo, ler apenas a metade do arquivo de cada vez:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// vamos abrir o arquivo para leitura no modo binário
FILE *arquivo = fopen("dados.txt", "rb");
if(arquivo != NULL){
// vamos obter o tamanho do arquivo em bytes
fseek(arquivo, 0, SEEK_END);
long tam_arquivo = ftell(arquivo);
rewind(arquivo);
// vamos alocar memória para todo o conteúdo do arquivo
char *buffer = (char*)malloc(sizeof(char) * tam_arquivo);
// a memória foi alocada com sucesso?
if(buffer != NULL){
// vamos copiar o conteúdo do arquivo para o buffer
size_t resultado = fread(buffer, 1, tam_arquivo, arquivo);
// vamos verificar se a operação foi feita com sucesso
if(resultado == tam_arquivo){
puts("O conteudo do arquivo foi lido com sucesso\n\n");
// vamos exibí-lo na tela
puts(buffer);
}
}
fclose(arquivo); // fecha o arquivo
free(buffer); // libera a memória do buffer
}
puts("\n\n");
system("PAUSE");
return 0;
}
|
C++ ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular potência em C++ usando uma função recursivaQuantidade de visualizações: 20063 vezes |
|
Nesta dica mostrarei como podemos efetuar cálculo de potência em C++ usando recursividade, ou seja, uma função que chama a si mesma repetidamente, até que o caso base (condição de parada) seja alcançado. Veja que informaremos a base e o expoente e a função nos retornará a potência da base informada. Veja o código C++ completo para o exemplo:
#include <iostream>
using namespace std;
// função recursiva que calcula a potência de
// um inteiro
int potencia(int base, int expoente){
// caso base
if(expoente == 0){
return 1;
}
// efetua mais uma chamada recursiva
else{
return base * potencia(base, expoente - 1);
}
}
// função principal do programa
int main(int argc, char *argv[]){
int base = 3;
int expoente = 4;
cout << base << " elevado a " << expoente << " = " <<
potencia(base, expoente) << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: 3 elevado a 4 = 81 |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
Python - Como gerar números aleatórios em Python usando o método random.randint() da biblioteca NumPy |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






