![]() |
|
|
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 ::: Ponteiros, Referências e Memória |
Como usar ponteiros em C++ - Apostila de C++ para iniciantesQuantidade de visualizações: 8558 vezes |
|
Antes de pensarmos em ponteiros, é importante nos lembrarmos de alguns aspectos referentes à variáveis. Dependendo do seu conhecimento de programação, você deve saber que variáveis possuem nomes que as identificam durante a execução do programa. Você deve saber também que uma variável armazena um valor (que pode ser fixo, no caso de uma constante, ou pode mudar durante a execução de seus códigos). O que poucos programadores se lembram é que uma variável possui um endereço, e que o nome da variável não é nada mais que um apelido para a localização deste endereço. Desta forma, um ponteiro não é nada mais que um tipo especial de variável que armazena o endereço de outra. Veja um exemplo:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// variável do tipo int
int valor = 10;
// ponteiro para uma variável do tipo int
int *p = &valor;
// exibe o valor da variável "valor", apontada
// pelo ponteiro p
cout << *p << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Neste código nós temos a declaração e definição de duas variáveis: int valor = 10; int *p = &valor; A primeira variável é uma variável do tipo int e a segunda é um ponteiro para uma variável do tipo int. Veja que devemos sempre usar "*" antes do nome de um ponteiro em sua declaração. O símbolo "&" serve para indicar que estamos acessando o endereço de uma variável e não o seu conteúdo. O resultado destas duas linhas é que agora temos um ponteiro que nos permite acessar e manipular a variável valor. Observe a linha: cout << *p << endl; Aqui nós estamos acessando o valor da variável apontada por p. Veja o uso do símbolo "*" para acessar o valor da variável. Isso é chamado de desreferenciamento de ponteiros. Pareceu complicado? Veja uma linha de código que altera indiretamente o valor da variável valor para 30: *p = 30; Ponteiros são ferramentas muito importantes na programação em C++. No entanto, é preciso ter muito cuidado ao lidar com eles. A primeira coisa a ter em mente é que um ponteiro não está apontando para nenhum lugar até que atribuimos a ele o endereço de uma outra variável. E é aí que mora o perigo. Um programa entra em colapso absoluto se tentarmos acessar um ponteiro que aponta para um local de memória que já foi liberado novamente ao sistema. No caso menos grave, estaremos tentando acessar locais de memória inválidos ou reservados a outros programas ou tarefas do sistema operacional. Isso me lembra os velhos tempos da tela azul de morte. |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em C# usando a função Sqrt() da classe MathQuantidade de visualizações: 32655 vezes |
|
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função Sqrt() da classe Math da linguagem C#. Veja o código completo:
using System;
namespace Estudos {
class Principal {
// função principal do programa C#
static void Main(string[] args) {
// vamos ler o valor
Console.Write("Informe o valor desejado: ");
double valor = Double.Parse(Console.ReadLine());
// vamos calcular a raiz quadrada
double raiz = Math.Sqrt(valor);
// e agora mostramos o resultado
Console.WriteLine("A raiz quadrada do valor informado é: " +
raiz);
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função Sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de C# - Como converter de decimal para binário usando os operadores de bits em C#Quantidade de visualizações: 1433 vezes |
|
Este desafio de programação faz parte da nossa lista de exercícios resolvidos de C#. Pergunta/Tarefa: Escreva um programa C# para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em C#, comentada linha a linha:
using System;
namespace Estudos {
class Principal {
// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
const int TAM_INT = sizeof(int) * 8;
static void Main(string[] args) {
// variáveis para ajudar a resolver o problema
int dec, indice;
// vetor para guardar o número binário
int[] binario = new int[TAM_INT];
// vamos pedir para o usuário informar um decimal inteiro
Console.Write("Informe um número decimal: ");
dec = int.Parse(Console.ReadLine());
// ajustamos índice para o último elemento do vetor
indice = TAM_INT - 1;
// enquanto índice for maior ou igual a 0
while (indice >= 0) {
// vamos guardar o bit menos significativo LSB
binario[indice] = dec & 1;
// diminuímos o índice
indice--;
// desloca bits para a direita uma posição
dec = dec >> 1;
}
// agora vamos exibir o número binário
Console.Write("O número binário é: ");
for (int i = 0; i < TAM_INT; i++) {
Console.Write(binario[i]);
}
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
|
Python ::: wxPython ::: Eventos e Tratadores de Eventos |
Como tratar o evento wx.EVT_PAINT em suas aplicações wxPython - Interfaces gráficas no PythonQuantidade de visualizações: 712 vezes |
|
Nesta dica mostrarei como podemos tratar o evento wx.PaintEvent em suas aplicações wxPython. Este evento é disparado todas as vezes que uma janela é redesenhada, ou seja, quando fazemos o redimensionamento da janela ou a maximizamos. Veja o código completo para uma aplicação wxPython na qual interceptamos o evento wx.PaintEvent para exibir a hora atual na janela, usando a função dc.DrawText(). Note o uso da função strftime() para formatar o conteúdo de um objeto datetime.
# vamos importar o framework wxPython
import wx
# mais alguns imports necessários
from datetime import datetime
import locale
# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
# o método construtor
def __init__(self, *args, **kw):
# chama o construtor da classe wx.Frame
super(JanelaPrincipal, self).__init__(*args, **kw)
# Configurações do usuário
locale.setlocale(locale.LC_ALL, '')
# chama a função que inicializa a GUI
self.InicializarGUI()
# método usado para gerenciar o evento OnPaint
def OnPaint(self, e):
# Obtém um datetime da data e hora atual
hoje = datetime.today()
# vamos obter o contexto de desenho
dc = wx.PaintDC(self)
texto = "Evento OnPaint gerado às: {0}".format(
hoje.strftime("%X"))
dc.DrawText(texto, 20, 20)
# função que inicializa a GUI do programa
def InicializarGUI(self):
self.Bind(wx.EVT_PAINT, self.OnPaint)
# definimos o tamanho da janela
self.SetSize((450, 350))
# define a cor de fundo da janela (Windows 10)
self.SetBackgroundColour(wx.WHITE)
# definimos o título da janela
self.SetTitle('O evento OnPaint')
# e centralizamos a janela
self.Centre()
# função principal do programa Python
def main():
# vamos criar a aplicação wxPython
app = wx.App()
janela_principal = JanelaPrincipal(None)
janela_principal.Show()
app.MainLoop()
if __name__ == "__main__":
main()
|
PHP ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou somar dias a uma data usando a função mktime() do PHPQuantidade de visualizações: 1 vezes |
|
Nesta dica que mostrarei como é possível usar a função mktime() do PHP para adicionar dias a uma data. O truque aqui é construir uma nova data a partir da data atual e somar a quantidade de dias que queremos ao quinto argumento fornecido para a função mktime(). Quando fazemos isso, a própria função de encarrega de montar todo o resto e nos fornecer a nova data. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudos PHP</title>
</head>
<body>
<?php
echo "Hoje é: " . date("d/m/Y") . "<br>";
$proxima_data = mktime(0, 0, 0, date("m"),
date("d") + 20, date("Y"));
echo "Daqui 20 dias será: " . date("d/m/Y",
$proxima_data);
?>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Hoje é: 10/03/2021 Daqui 20 dias será: 30/03/2021 |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




