![]() |
|
|
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 |
||
|
||
|
|
||
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em JavaQuantidade de visualizações: 8610 vezes |
Esta dica mostra como inserir nós no final de uma lista singularmente ligada. A classe usada para representar cada nó é a seguinte (No.java):
// classe No
public class No{
public int valor;
public No proximo;
}
// fim da classe No
Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no final quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código para a lista singularmente ligada (Lista.java):
public class Lista {
No inicio, fim; // início e fim da lista
// método que permite exibir os valores de
// todos os nós da lista
public void exibir() {
// vamos obter uma referência ao início da lista
No no = inicio;
if (no != null) { // a lista não está vazia
while (no != null) { // enquanto a lista não estiver vazia
System.out.println(no.valor);
no = no.proximo; // pula para o nó seguinte
}
}
else {
System.out.println("A lista está vazia\n\n");
}
}
// método que permite inserir nós no
// final da lista.
// veja que o método recebe o valor a ser
// armazenado em cada nó
public void inserirFinal(int v) {
No novo = new No(); // cria um novo nó
novo.valor = v;
// é o nó no final, portanto não deverá apontar para nenhum
// outro nó
novo.proximo = null;
// verifica se a lista está vazia
if (inicio == null) {
// novo aponta para o novo nó
inicio = novo;
// final deve apontar para o novo nó também
fim = novo;
}
else { // não está vazia....vamos inserir o nó no final da lista
// o campo próximo do último nó aponta para o nó recém-criado
fim.proximo = novo;
// o campo fim aponta para o novo nó...o campo inicio permanece igual
fim = novo;
}
}
}
Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (Main.java):
public class Main {
public static void main(String[] args) {
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores no
// finalo da lista
lista.inserirFinal(45);
lista.inserirFinal(3);
lista.inserirFinal(98);
lista.inserirFinal(17);
// exibe os valores na lista
lista.exibir();
}
}
Ao executar o aplicativo teremos o seguinte resultado: 45 3 98 17 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escrever um algoritmo que recebe o salário-base de um funcionário, calcule e mostre o salário a receberQuantidade de visualizações: 9787 vezes |
|
Pergunta/Tarefa: Faça um programa (algoritmo) Java que recebe o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base. Sua saída deverá ser parecida com: Informe o salário base: 1450.00 Gratificação: R$ 72,50 Imposto: R$ 101,50 Salário final: R$ 1.421,00 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.text.NumberFormat;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos ler o salario base
System.out.print("Informe o salário base: ");
double salario_base = Double.parseDouble(entrada.nextLine());
// vamos calcular a gratificação
double gratificacao = salario_base * (5.0 / 100);
// vamos calcular o imposto
double imposto = salario_base * (7.0 / 100);
// e finalmente calculamos o salário final
double salario_final = salario_base + gratificacao - imposto;
// e exibimos o resultado
NumberFormat formato = NumberFormat.getCurrencyInstance();
System.out.println("Gratificação: " + formato.format(gratificacao));
System.out.println("Imposto: " + formato.format(imposto));
System.out.println("Salário final: " + formato.format(salario_final));
}
}
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Uma empresa de táxi cobra a bandeirada de R$ 5,00 e ainda o valor de R$ 1,50 para cada quilômetro rodadoQuantidade de visualizações: 932 vezes |
|
Pergunta/Tarefa: Uma empresa de táxi cobra a bandeirada de R$ 5,00 e ainda o valor de R$ 1,50 para cada quilômetro rodado. Escreva um programa em Python que pede a distância de uma corrida em quilômetros e mostre o valor a ser pago pelo cliente. Sua saída deverá ser parecida com: Distância da corrida (km): 15 O valor da corrida foi: R$ 27.50 Veja a resolução comentada deste exercício usando Python:
# Calcular o valor da corrida de um táxi em Python
# função principal do programa
def main():
# vamos solicitar a distância da corrida em quilômetros
distancia_km = int(input("Distância da corrida (km): "))
# sabemos que o valor fixo é R$ 5,00
valor_fixo = 5.0
# sabemos também que o valor por quilõmetro rodado é R$ 1,50
valor_km_rodado = 1.5
# então já podemos calcular o valor da corrida
valor_corrida = valor_fixo + (distancia_km * valor_km_rodado)
# e mostramos o resultado
print("O valor da corrida foi: R$ {0}".format(valor_corrida))
if __name__== "__main__":
main()
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Valor da diária, valor médio arrecadado com e sem promoção e o lucro ou prejuízo mensal de uma promoção em um hotelQuantidade de visualizações: 15331 vezes |
|
Pergunta/Tarefa: Escreva um programa Java para resolver o seguinte problema: Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem, escrever um algoritmo que lê a diária normal, que calcule e escreva as seguintes informações: (a) O valor da diária no período da promoção. (b) O valor médio arrecadado sem a promoção, durante um mês. (c) O valor médio arrecadado com a promoção, durante um mês. (d) O lucro ou prejuízo mensal com a promoção. Seu código Java deverá apresentar uma saída parecida com: Informe o valor da diária normal: 120 Diária no período de promoção: 26,40 Média arrecadada sem a promoção durante um mês: 8064,00 Média arrecadada com a promoção durante um mês: 3104,64 Prejuízo mensal com a promoção: 4959,36 Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos criar um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// valor da diária em período normal
double valor_diaria_normal;
// valor da diária no período de promoção
double valor_diaria_promocao;
// vamos obter o valor da diária no período normal
System.out.print("Informe o valor da diária normal: ");
valor_diaria_normal = Double.parseDouble(entrada.nextLine());
// vamos obter o valor da diária no período promocional
valor_diaria_promocao = valor_diaria_normal * (22.0 / 100.0);
// vamos calcular o valor médio arrecadado sem a promoção, durante um mês
// estamos assumindo 4 finais de semana por mês
double media_arrecado_sem_promocao = (valor_diaria_normal
* (42 * (40.0 / 100.0)) * 4);
// vamos calcular o valor médio arrecadado com a promoção, durante um mês
// estamos assumindo 4 finais de semana por mês
double media_arrecado_com_promocao = (valor_diaria_promocao
* (42 * (70.0 / 100.0)) * 4);
System.out.printf("Diária no período de promoção: %.2f\n",
valor_diaria_promocao);
System.out.printf("Média arrecadada sem a promoção durante um mês: %.2f\n",
media_arrecado_sem_promocao);
System.out.printf("Média arrecadada com a promoção durante um mês: %.2f\n",
media_arrecado_com_promocao);
// houve lucro ou prejuízo?
if (media_arrecado_sem_promocao < media_arrecado_com_promocao) {
System.out.printf("Lucro mensal com a promoção: %.2f\n",
media_arrecado_com_promocao - media_arrecado_sem_promocao);
}
else {
System.out.printf("Prejuízo mensal com a promoção: %.2f\n",
media_arrecado_sem_promocao - media_arrecado_com_promocao);
}
}
}
|
Java ::: Pacote java.awt ::: Graphics |
Como desenhar linhas no Java Swing usando o método drawLine() da classe GraphicsQuantidade de visualizações: 15949 vezes |
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar Linhas");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
Graphics graphics = label.getGraphics();
// desenha linhas no JLabel
graphics.drawLine(10, 15, 100, 10);
graphics.drawLine(20, 30, 80, 150);
graphics.drawLine(50, 50, 120, 30);
graphics.drawLine(100, 100, 310, 100);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




