![]() |
|
|
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 Python |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como usar ponteiros na linguagem Delphi - Aprenda a usar ponteiros em DelphiQuantidade de visualizações: 24571 vezes |
|
O Delphi, assim como C e C++ permite o uso de ponteiros, uma das ferramentas mais poderosas de programação e presente em códigos mais elaborados, tais como estruturas de dados. Para entender ponteiros, é preciso lembrarmos do conceito de variáveis. Uma variável, em determinados momentos, possui várias propriedades ou atributos, a saber, um nome, um valor e o tipo de dados que poderá ser armazenado na mesma. Uma variável possui também um endereço na memória do computador e o seu nome não é nada mais que um apelido para tal endereço. Ponteiros também possuem um nome, um valor e um tipo de dados. A diferença é que ponteiros, em vez de guardar valores tais como inteiros, strings, caracteres, etc, guardam o endereço de outras variáveis (ou o endereço de outros ponteiros, o que resulta em um ponteiro para um ponteiro). Assim, um ponteiro é uma forma indireta de se acessar o conteúdo de uma outra variável. Veja, por exemplo, as seguintes declarações de variáveis: var valor: integer; pvalor: ^integer; Aqui nós temos uma variável valor do tipo Integer e uma variável pvalor que é um ponteiro para um Integer. Veja agora como atribuir valores a estas variáveis:
procedure TForm1.Button1Click(Sender: TObject);
var
valor: integer;
pvalor: ^integer;
begin
// atribui um valor à variável valor
valor := 20;
// vamos atribuir à pvalor o endereço de valor
pvalor := @valor;
// vamos usar o ponteiro pvalor para alterar o
// valor de valor
pvalor^ := 30;
// vamos obter o novo valor da variável valor
ShowMessage('Valor de valor: ' + IntToStr(valor));
end;
Veja que usamos o operador @ para obtermos o endereço da variável valor e guardá-lo no ponteiro pvalor. Em seguida usamos o símbolo ^ para acessar o valor da variável para a qual o ponteiro está apontando. Este processo é chamado de desreferenciamento (dereferencing). Em resumo, o símbolo ^ pode ser usado de duas formas: na frente de um tipo de dados, para indicar que a variável está sendo declarada como ponteiro e após o nome de uma variável do tipo ponteiro para indicar que queremos acessar o valor da variável para a qual o ponteiro está apontando atualmente e não o valor do ponteiro, que seria simplesmente um valor inteiro representando um endereço de memória. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em CQuantidade de visualizações: 3903 vezes |
|
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C. Comece observando 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. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. 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 que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem C:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float c = 36.056; // medida da hipotenusa
float b = 30; // medida do cateto adjascente
// agora vamos calcular o comprimento da cateto oposto
float a = sqrt(pow(c, 2) - pow(b, 2));
// e mostramos o resultado
printf("A medida do cateto oposto é: %f", a);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A medida do cateto oposto é: 20.000877 Como podemos ver, o resultado retornado com o código C confere com os valores da imagem apresentada. |
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Ruby - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 1199 vezes |
|
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Ruby que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando Ruby:
# vamos ler o primeiro lado do triângulo
print "Informe o primeiro lado do triângulo: "
lado_a = Integer(gets)
# vamos ler o segundo lado do triângulo
print "Informe o segundo lado do triângulo: "
lado_b = Integer(gets)
# vamos ler o terceiro lado do triângulo
print "Informe o terceiro lado do triângulo: "
lado_c = Integer(gets)
# os lados informados formam um triângulo?
if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) \
&& (lado_c < (lado_a + lado_b)))
# é um triângulo equilátero (todos os lados iguais)?
if((lado_a == lado_b) && (lado_b == lado_c))
print "O triângulo é equilátero"
else
# é isósceles (dois lados iguais e um diferente)?
if((lado_a == lado_b) || (lado_a == lado_c) || \
(lado_c == lado_b))
print "O triângulo é isósceles"
else
# é escaleno
print "O triângulo é escaleno"
end
end
else
print "Os lados informados não formam um triângulo."
end
|
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular a altura da queda livre de um corpo dado o tempo de queda e a aceleração da gravidade usando a linguagem CQuantidade de visualizações: 2196 vezes |
|
A Queda livre é um movimento unidimensional e uniformemente acelerado. Tal movimento ocorre quando algum corpo é solto do repouso a partir de certa altura. Uma vez que a aceleração da gravidade é constante, se desconsiderarmos a ação de forças dissipativas, o tempo de descida nesse movimento será sempre igual. Na prática, o movimento de queda livre ideal é bastante próximo daquele em que um objeto é solto a uma pequena altura em relação ao chão. No entanto, rigorosamente, esse movimento só acontece quando algum objeto é solto no vácuo. De acordo com as equações do movimento de queda livre, o tempo de queda não depende da massa dos objetos, mas da aceleração da gravidade e da altura em que esse objeto é solto. A queda livre é um movimento vertical que ocorre com aceleração constante, de modo que a velocidade de queda do corpo aumenta a cada segundo em relação ao centro da Terra, de acordo com a aceleração da gravidade local. Quando soltos no vácuo, corpos de massas diferentes chegarão no mesmo tempo ao chão. O fato de uma pena não chegar ao chão no mesmo tempo em que uma bola de boliche, quando soltas na superfície da Terra, está associado ao atrito com o ar, que é quase desprezível para objetos pesados e aerodinâmicos, como a bola de boliche. A altura da queda livre de um objeto, quando temos apenas o tempo (duração da queda), pode ser obtida por meio da seguinte fórmula: \[ \text{H} = \frac{\text{g} \cdot t^2}{2} \] Onde: H ? altura em metros na qual o corpo é abandonado. g ? aceleração da gravidade (m/s2). t ? tempo da queda (em segundos). Em alguns livros de Física esta fórmula é encontrada também na forma: \[ \text{h} = \frac{1}{2} \text{g} \cdot t^2 \] Vamos ver um exemplo? Veja o seguinte enunciado: 1) Sabendo que um corpo leva 2s para chegar ao chão após ter sido abandonado a uma altura H em relação ao solo, calcule a altura em que esse corpo foi abandonado, em metros. Note que o tempo de queda é de 2 segundos. Então, como sabemos que a aceleração da gravidade terrestre é 9.80665, só precisamos jogar na fórmula. Veja o código C completo para o exemplo:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
// gravidade terrestre em m/s2
float gravidade = 9.80665;
// tempo da queda
float segundos = 2; // em segundos
// vamos calcular a altura da queda
float altura = (gravidade * pow(segundos, 2)) / 2;
// mostramos o resultado
printf("A altura da queda livre é: %f metros",
altura);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A altura da queda livre é: 19.613300 metros. |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico |
Exercício Resolvido de C# - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C#Quantidade de visualizações: 1398 vezes |
|
Pergunta/Tarefa: Escreva um programa C# para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando C#:
using System;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// vamos pedir ao usuário que informe um número inteiro
Console.Write("Informe um número inteiro: ");
int numero = Int32.Parse(Console.ReadLine());
// vamos calcular o sucessor do número informado
int sucessor = numero + 1;
// vamos calcular o antecessor do número informado
int antecessor = numero - 1;
// e agora mostramos os resultados
Console.WriteLine("O número informado foi: {0}", numero);
Console.WriteLine("O antecessor é {0}", antecessor);
Console.WriteLine("O sucessor é: {0}", sucessor);
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
|
Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi Delphi - Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





