![]() |
|
|
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 |
||
|
||
|
|
||
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de VisuAlg - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 1041 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 VisuAlg 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 VisuAlg:
algoritmo "Testar o tipo de um triângulo em VisuAlg"
var
// variáveis usadas na resolução do problema
lado_a, lado_b, lado_c: inteiro
inicio
// vamos ler o primeiro lado do triângulo
escreva("Informe o primeiro lado do triângulo: ")
leia(lado_a)
// vamos ler o segundo lado do triângulo
escreva("Informe o segundo lado do triângulo: ")
leia(lado_b)
// vamos ler o terceiro lado do triângulo
escreva("Informe o terceiro lado do triângulo: ")
leia(lado_c)
// os lados informados formam um triângulo?
se ((lado_a < (lado_b + lado_c)) e (lado_b < (lado_a + lado_c)) e
(lado_c < (lado_a + lado_b))) entao
// é um triângulo equilátero (todos os lados iguais)?
se ((lado_a = lado_b) e (lado_b = lado_c)) entao
escreval("O triângulo é equilátero")
senao
// é isósceles (dois lados iguais e um diferente)?
se ((lado_a = lado_b) ou (lado_a = lado_c) ou (lado_c = lado_b)) entao
escreval("O triângulo é isósceles")
senao
// é escaleno
escreval("O triângulo é escaleno")
fimse
fimse
senao
escreval("Os lados informados não formam um triângulo.")
fimse
fimalgoritmo
|
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string em um valor numérico de ponto-flutuante (com parte fracionária) em Delphi usando as funções StrToFloat(), TryStrToFloat() e StrToFloatDef()Quantidade de visualizações: 25652 vezes |
|
Em algumas situações precisamos converter strings em valores numéricos do tipo ponto-flutuante, ou seja, números que contenham uma parte fracionária. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos. Vamos começar com a função StrToFloat() da unit SysUtils. Esta função recebe uma string representando um valor de ponto-flutuante válido e retorna um valor de ponto-flutuante. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
valor1, valor2, soma: Double;
begin
// vamos receber as strings dos TEdits e converter
// seus valores para números de ponto-flutuante
// note que em Delphi, um valor de ponto-flutuante
// é informado em caixas de texto usando vírgula. Ex: 7,3
valor1 := StrToFloat(Edit1.Text);
valor2 := StrToFloat(Edit2.Text);
// vamos obter a soma dos dois valores
soma := valor1 + valor2;
// vamos exibir o resultado. Note o uso de FloatToStr() para
// converter o valor fracionário em string
ShowMessage('A soma é: ' + FloatToStr(soma));
end;
Note que, se a string sendo convertida possuir um valor de ponto-flutuante inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToFloat(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Extended, Double ou Single que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
valor: Double;
begin
// vamos tentar converter o valor da caixa de texto
// em um valor de ponto-flutuante
if TryStrToFloat(Edit1.Text, valor) then
ShowMessage('Conversão efetuada com sucesso.')
else
ShowMessage('Erro na conversão');
end;
Há ainda uma terceira possibilidade: usar a função StrToFloatDef(). Esta função funciona exatamente da mesma forma que StrToFloat(), exceto que agora, se houver um erro de conversão, um valor de ponto-flutuante padrão será retornado. Veja: procedure TForm1.Button1Click(Sender: TObject); var valor: Double; begin // vamos converter o valor da caixa de texto // em um valor de ponto-flutuante. Se a conversão não puder // ser feita o valor 10,50 será atribuído à varial valor valor := StrToFloatDef(Edit1.Text, 10.50); // vamos exibir o resultado ShowMessage(FloatToStr(valor)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Topografia e Geoprocessamento ::: Passos Iniciais |
Como converter graus, minutos e segundos para graus decimais em PythonQuantidade de visualizações: 1531 vezes |
|
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM. Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte: \[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \] Veja agora o código Python completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais:
# função principal do programa
def main():
# vamos pedir para o usuário informar os graus, minutos
# e segundos
graus = float(input("Informe os graus: "))
minutos = float(input("Informe os minutos: "))
segundos = float(input("Informe os segundos: "))
# agora vamos calcular os graus decimais
graus_decimais = graus + (minutos / 60.0) + \
(segundos / 3600.0)
# e agora mostramos o resultado
print("Os graus decimais são: {0}".format(graus_decimais))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe os graus: 85 Informe os minutos: 42 Informe os segundos: 13.75 Os graus decimais são: 85.70381944444445 Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo. |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em Python usando a função sin() do módulo MathQuantidade de visualizações: 2010 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 Python. Este método, que faz parte do módulo Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:
# importamos a biblioteca Math
import math as math
def main():
print("Seno de 0 = ", math.sin(0))
print("Seno de 1 = ", math.sin(1))
print("Seno de 2 = ", math.sin(2))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Seno de 0 = 0.0 Seno de 1 = 0.8414709848078965 Seno de 2 = 0.9092974268256817 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: ![]() |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Apostila Python para iniciantes - Como calcular juros compostos e montante usando PythonQuantidade de visualizações: 18451 vezes |
|
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P . (1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i) ^ n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código Python para a resolução:
# função principal do programa
def main():
principal = 2000.00
taxa = 0.03
meses = 3
montante = principal * pow((1 + taxa), meses)
juros = montante - principal
print("O total de juros a ser pago é:", juros)
print("O montante a ser pago é:", montante)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: O total de juros a ser pago é: 185.45400000000018 O montante a ser pago é: 2185.454 Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir:
# função principal do programa
def main():
principal = 2000.00
taxa = 0.03
meses = 3
anterior = 0.0
for i in range(1, meses + 1):
montante = principal * pow((1 + taxa), i)
juros = montante - principal - anterior
anterior += juros
print("Mês:", i ," - Montante:", montante, "- Juros:", juros)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Mês: 1 - Montante: 2060.0 - Juros: 60.0 Mês: 2 - Montante: 2121.7999999999997 - Juros: 61.79999999999973 Mês: 3 - Montante: 2185.454 - Juros: 63.65400000000045 |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





