![]() |
|
|
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 |
||
|
||
|
|
||
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas usando Python - Python para EngenhariaQuantidade de visualizações: 6270 vezes |
|
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código Python completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):
# importamos a biblioteca NumPy
import math as math
def main():
# vamos ler o raio e o ângulo
raio = float(input("Informe o raio: "))
theta = float(input("Informe o theta: "))
graus = input("Theta em graus (1) ou radianos (2): ")
# o theta está em graus?
if graus == "1":
theta = theta * (math.pi / 180.0)
# fazemos a conversão para coordenadas cartesianas
x = raio * math.cos(theta)
y = raio * math.sin(theta)
# exibimos o resultado
print('As Coordenadas Cartesianas são: (x = %0.2f, y = %0.2f)' %(x, y))
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0.00, y = 1.00) |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que recebe uma String e retorna a quantidade de letras maiúsculas encontradasQuantidade de visualizações: 6418 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que recebe uma palavra ou frase e retorna a quantidade de caracteres (letras) maiúsculos. Seu método deverá possuir a seguinte assinatura:
public static int contarMaiusculas(String frase){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Digite uma palavra ou frase: Arquivo de Códigos A palavra ou frase contém 2 letras maiúsculas Veja a resolução comentada deste exercício usando Java console: Observação importante: Este código criará uma cadeia de chamadas recursivas. Cada chamada ao método contarMaiusculas() receberá uma cópia menor da palavra ou frase fornecida. Quando a última chamada recursiva do método receber uma string vazia, a cadeia começa a retornar. Note que os valores acumulados nas várias chamadas ao método vão sendo acumulados na variável quantidade.
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// solicita uma palavra ou frase ao usuário
System.out.print("Digite uma palavra ou frase: ");
// lê a palavra ou frase
String frase = entrada.nextLine();
int quantMaiusculas = contarMaiusculas(frase);
System.out.println("A palavra ou frase contém " + quantMaiusculas +
" letras maiúsculas");
}
// método recursivo que recebe uma palavra ou frase e retorna
// a quantidade de letras maiúsculas
public static int contarMaiusculas(String frase){
/* Este código criará uma cadeia de chamadas recursivas. Cada
* chamada ao método contarMaiusculas() receberá uma cópia menor
* da palavra ou frase fornecida. Quando a última chamada recursiva do
* método receber uma string vazia, a cadeia começa a retornar. Note
* que os valores acumulados nas várias chamadas ao método vão sendo
* acumulados na variável quantidade
*/
int quantidade = 0;
// o tamanho da string é maior que 0?
if(frase.length() > 0){
if(Character.isUpperCase(frase.charAt(0))){
quantidade = 1 + contarMaiusculas(frase.substring(1));
}
else{
quantidade = contarMaiusculas(frase.substring(1));
}
}
return quantidade;
}
}
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo usando Java - Como escrever em um arquivo usando as classes BufferedWriter e FileWriter do JavaQuantidade de visualizações: 2 vezes |
|
Nesta dica mostrarei como podemos usar a linguagem Java para escrever em um arquivo texto. Para isso nós vamos usar as classes BufferedWriter e FileWriter. Veja o trecho de código completo para o exemplo:
package arquivodecodigos;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Estudos{
public static void main(String args[]){
try {
BufferedWriter out = new BufferedWriter(new
FileWriter("C:\\estudos_java\\conteudo.txt"));
out.write("Esta é a primeira linha de texto\r\n");
out.write("Esta é a segunda linha de texto");
out.close();
}
catch(IOException e){
System.out.println("Houve um erro: " + e.getMessage());
}
System.out.println("Acabei de escrever no arquivo");
}
}
Ao executar este código Java nós teremos o seguinte resultado: Acabei de escrever no arquivo. Tenha cuidado. Se o arquivo já existir, o método write() da classe BufferedWriter vai sobrescrever o seu conteúdo. Por isso, é sempre uma boa idéia fazer uma verificação antes. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um laço for que pede que o usuário informe 10 valores inteiros e mostra a quantidade de valores pares informadosQuantidade de visualizações: 11231 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para solicitar que o usuário digite 10 valores inteiros. Em seguida seu programa deverá contar quantos valores pares foram informados. Dica: Use um objeto da classe Scanner para obter a entrada do usuário. Resposta/Solução: A resolução deste exercício envolve a criação de uma variável contador, do tipo int, e que deverá ser inicializada com o valor 0. Veja: int contador = 0; // guardará a quantidade de valores pares lidos
public static void main(String[] args){
// para este exercício você deverá importar a classe
// Scanner. Ela está no pacote java.util.*;
// vamos construir um objeto da classe Scanner para ler a
// entrada do usuário
Scanner entrada = new Scanner(System.in);
int valor; // guarda o valor lido
int contador = 0; // guardará a quantidade de valores pares lidos
// vamos pedir ao usuário que informe 10 valores inteiros
for(int i = 0; i < 10; i++){
System.out.print("Informe o " + (i + 1) + "º valor: ");
valor = Integer.parseInt(entrada.nextLine());
// vamos verificar se o valor lido é par
if(valor % 2 == 0){
contador++;
}
}
// vamos exibir a quantidade de números pares lidos
System.out.println("\nVocê informou " + contador + " valores pares.\n");
}
|
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Portugol - A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo PortugolQuantidade de visualizações: 1279 vezes |
|
Pergunta/Tarefa: A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo Portugol que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até o ano 2000 o desconto é 12%, e acima de 2000 o desconto é de 7%. Seu código deverá solicitar o valor do carro e o seu ano e aplicar o desconto correspondente. Além disso o sistema deverá perguntar se deseja continuar calculando descontos até que a resposta seja: "(N) Não". Informar o total de carros com ano até 2000 e o total geral a ser pago pelo cliente. Sua saída deve ser parecida com: Informe o valor do carro sem desconto: 25000 Informe o ano do carro: 2010 Desconto concedido: 1750 Valor do carro com desconto: 23250 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 30500 Informe o ano do carro: 1985 Desconto concedido: 3660 Valor do carro com desconto: 26840 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 16800 Informe o ano do carro: 1990 Desconto concedido: 2016 Valor do carro com desconto: 14784 Deseja adicionar mais carros? [S, N]: N Total de carros com ano até 2000: 2 Total geral a pagar: 64874 Veja a resolução comentada deste exercício usando Portugol Webstudio:
programa {
funcao inicio() {
// variáveis usadas na resolução do problema
real valor_carro, valor_desconto, valor_carro_desconto
real total_geral
inteiro ano
inteiro total_carros_ano_2000
caracter resposta
// vamos inicializar os valores de algumas variáveis
total_geral = 0
total_carros_ano_2000 = 0
// repete até que o usuário informe o valor "N"
faca {
// vamos ler o valor do carro sem desconto
escreva("\nInforme o valor do carro sem desconto: ")
leia(valor_carro)
// vamos ler o ano do carro
escreva("Informe o ano do carro: ")
leia(ano)
// o ano é menor ou igual a 2000
se (ano <= 2000) {
valor_desconto = valor_carro * (12.0 / 100.0)
// vamos somar mais este carro
total_carros_ano_2000 = total_carros_ano_2000 + 1
}
senao {
valor_desconto = valor_carro * (7.0 / 100.0)
}
// calculamos o valor do carro com o desconto
valor_carro_desconto = valor_carro - valor_desconto
escreva("Desconto concedido: ", valor_desconto)
escreva("\nValor do carro com desconto: ", valor_carro_desconto)
// somamos mais este valor ao total geral
total_geral = total_geral + valor_carro_desconto
// perguntamos se o usuário deseja adicionar mais carros
escreva("\nDeseja adicionar mais carros? [S, N]: ")
leia(resposta)
} enquanto((resposta != 'N') e (resposta != 'n'))
// mostramos os resultados
escreva("\nTotal de carros com ano até 2000: ", total_carros_ano_2000)
escreva("\nTotal geral a pagar: ", total_geral)
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
|
Java - Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





