![]() |
|
|
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 |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem CQuantidade de visualizações: 13760 vezes |
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 49 caracteres
// copia a primeira frase para a segunda
frase2 = frase1;
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida: incompatible types in assignment of `char[13]` to `char[50]` Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade: char *strcpy(char *destino, const char *origem); Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 50 caracteres
// copia a primeira frase para a segunda
strcpy(frase2, frase1);
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
|
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows FormsQuantidade de visualizações: 8768 vezes |
|
Em algumas situações nós precisamos verificar o estado da tecla Num Lock (que ativa ou desativa o teclado numérico), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas: 1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0; 2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0:
private void button1_Click(object sender, EventArgs e){
// vamos verificar se a tecla Num Lock está ativada
if(Control.IsKeyLocked(Keys.NumLock)){
MessageBox.Show("A tecla Num Lock está ativada");
}
else{
MessageBox.Show("A tecla Num Lock NÃO está ativada");
}
}
Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante NumLock, da enumeração Keys. A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos: a) Adicionar using System.Runtime.InteropServices; na seção de importações. b) Adicionar o código abaixo no corpo da classe, como um método:
// Função com código não gerenciado que obtém o estado de uma
// determinada tecla
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true,
CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);
c) Adicione o código abaixo no evento Click de um botão:
private void button1_Click(object sender, EventArgs e){
// vamos obter o estado da tecla Num Lock como um boolean
bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0;
// vamos verificar se a tecla Num Lock está ativada
if(NumLock){
MessageBox.Show("A tecla Num Lock está ativada");
}
else{
MessageBox.Show("A tecla Num Lock NÃO está ativada");
}
}
|
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço For do VB.NET - Apostila VB.NET para iniciantesQuantidade de visualizações: 14015 vezes |
O laço For...Next é usado quando sabemos exatamente a quantidade de vezes que o bloco de códigos deverá ser executado. Veja um exemplo no qual contamos de 1 a 10:For valor As Integer = 1 To 10 Step 1 Console.WriteLine(valor) Next Veja que o laço For...Next é composto de três partes muito importantes: a) Inicialização da variável de controle: For valor As Integer = 1 Aqui é onde definimos o valor inicial da variável de controle. No exemplo nós fizemos a declaração da variável no cabeçalho do laço, mas ela pode ser declarada externamente sem nenhum problema. b) Limite do valor da variável de controle: To 10 A palavra-chave To permite definir o valor máximo que a variável de controle pode alcançar. c) Incremento da variável de controle: Step 1 A palavra-chave Step permite definir o valor que servirá de incremento para a variável de controle. No exemplo usamos 1, mas poderia ser qualquer valor inteiro. Veja um exemplo de laço For...Next no qual exibimos os números pares de 0 a 20: For numero As Integer = 0 To 20 Step 2 Console.WriteLine(numero) Next E se quisermos contar de trás para frente? Fácil, basta fornecer um valor negativo para o incremento. Veja: For numero As Integer = 10 To 0 Step -1 Console.WriteLine(numero) Next |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em Python dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1931 vezes |
Nesta dica mostrarei como é possível usar a linguagem Python para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código Python. Veja:
# vamos importar o módulo Math
import math as math
def main():
a = 20 # medida do cateto oposto
b = 30 # medida do cateto adjascente
# agora vamos calcular o comprimento da hipotenusa
c = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
# e mostramos o resultado
print("O comprimento da hipotenusa é: %f" % c)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.055513 Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada. |
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em C++ usando a função mkdir()Quantidade de visualizações: 10938 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. |
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 |





