![]() |
|
|
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 Ética e Legislação Profissional |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Escreva um programa Java que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor BQuantidade de visualizações: 738 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor B com seus elementos distribuídos da seguinte forma: Vetor A = [8, 5, 4, 1, 2, 3, 4, 6, 9, 7] Vetor B = [24, 10, 12, 2, 6, 6, 12, 12, 27, 14] Note que os elementos do vetor B seguem um padrão. Se o elemento do vetor A estiver em uma posição par, então o elemento do vetor B será o triplo do elemento do vetor A. Caso contrário o elemento do vetor B será o dobro do elemento do vetor A. Neste exercício a primeira posição/índice dos vetores é assumida como sendo zero. Em algumas linguagens de programação o primeiro índice é um e não zero. Sua saída deverá ser parecida com: Informe o valor do 1.o elemento: 8 Informe o valor do 2.o elemento: 5 Informe o valor do 3.o elemento: 4 Informe o valor do 4.o elemento: 1 Informe o valor do 5.o elemento: 2 Informe o valor do 6.o elemento: 3 Informe o valor do 7.o elemento: 4 Informe o valor do 8.o elemento: 6 Informe o valor do 9.o elemento: 9 Informe o valor do 10.o elemento: 7 Elementos do vetor A: 8, 5, 4, 1, 2, 3, 4, 6, 9, 7 Elementos do vetor B: 24, 10, 12, 2, 6, 6, 12, 12, 27, 14 Veja a resolução comentada deste exercício em Java:
package estudos;
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 declarar e construir dois vetores de 10 inteiros
int vetor_a[] = new int[10];
int vetor_b[] = new int[10];
// agora vamos pedir para o usuário informar os valores
// dos elementos do vetor A
for(int i = 0; i < vetor_a.length; i++){
System.out.print("Informe o valor do " + (i + 1) +
".o elemento: ");
vetor_a[i] = Integer.parseInt(entrada.nextLine());
}
// vamos construir o vetor B
for(int i = 0; i < vetor_a.length; i++){
// o índice atual é par?
if(i % 2 == 0){
vetor_b[i] = vetor_a[i] * 3;
}
else{
vetor_b[i] = vetor_a[i] * 2;
}
}
// vamos mostrar os elementos do vetor A
System.out.println("\nElementos do vetor A:\n");
for(int i = 0; i < vetor_a.length; i++){
System.out.print(vetor_a[i] + ", ");
}
// vamos mostrar os elementos do vetor B
System.out.println("\n\nElementos do vetor B:\n");
for(int i = 0; i < vetor_b.length; i++){
System.out.print(vetor_b[i] + ", ");
}
System.out.println();
}
}
|
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string C# começa com uma determinada substring usando o método StartsWith() da classe StringQuantidade de visualizações: 12303 vezes |
|
Em algumas situações nós precisamos verificar se uma palavra, texto ou frase começa com uma determinada substring. Em C# isso pode ser feito por meio da função StartsWith() da classe String. Este método retorna true se a string começar com a substring informada e false em caso contrário. Veja um código C# completo no qual testamos se uma string começa com a substring "Gosto":
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string texto = "Gosto de programar em C#";
if (texto.StartsWith("Gosto")) {
Console.WriteLine("O texto começa com \"Gosto\"");
}
else {
Console.WriteLine("O texto NÃO começa com \"Gosto\"");
}
Console.WriteLine();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: O texto começa com "Gosto" |
Java ::: Java Swing - JTable e classes relacionadas ::: JTable |
Como aplicar uma borda colorida a uma célula da JTable do Java Swing ao passar o mouseQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como podemos exibir uma borda colorida às células de uma tabela JTable do Java Swing ao passar o mouse sobre ela. Para isso nós vamos criar uma classe personalizada que herda da classe TableCellRenderer. Em seguida nós usamos o evento mouseMoved da classe MouseMotionAdapter para aplicar a borda colorida às células. Veja o código completo para o exemplo:
package estudos;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
public class Estudos extends JFrame{
int linha, coluna;
Border vermelho =
BorderFactory.createLineBorder(Color.red);
Border vazia = BorderFactory.createEmptyBorder();
public Estudos(){
super("JTable");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new
Dimension(350, 50));
class CellListener extends MouseMotionAdapter{
public void mouseMoved(MouseEvent e){
JTable tb = (JTable)e.getSource();
linha = tb.rowAtPoint(e.getPoint());
coluna = tb.columnAtPoint(e.getPoint());
tb.repaint();
}
}
class BordaCelula extends JLabel implements
TableCellRenderer{
public BordaCelula(){
setOpaque(true);
}
public Component getTableCellRendererComponent (
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column){
if(row == linha && column == coluna){
this.setBorder(vermelho);
}
else{
this.setBorder(vazia);
}
this.setText(value.toString());
return this;
}
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
tabela.addMouseMotionListener(new CellListener());
tabela.setDefaultRenderer(Object.class, new
BordaCelula());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
C ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
C para iniciantes - Como ordenar os elementos de um vetor de inteiros usando a ordenação da bolha (Bubble Sort) na linguagem CQuantidade de visualizações: 10430 vezes |
|
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos. O entendimento deste método é fácil. Se estivermos ordenandos os valores do menor para o maior, o método da bolha percorre os elementos do vetor (array), comparando e movendo o menor valor para a primeira posição do vetor, tal qual bolhas indo para a superfície. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
void bubble_sort(int matriz[], int tam){
int temp, i, j;
for(i = 0; i < tam; i++){
for(j = 0; j < tam; j++){
if(matriz[i] < matriz[j]){
temp = matriz[i];
matriz[i] = matriz[j];
matriz[j] = temp;
}
}
}
}
int main(int argc, char *argv[])
{
int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
int i, tamanho = 9;
// imprime a matriz sem a ordenação
for(i = 0; i < 9; i++){
printf("%d ", valores[i]);
}
// vamos ordenar a matriz
bubble_sort(valores, tamanho);
// imprime a matriz ordenada
puts("\n");
for(i = 0; i < 9; i++){
printf("%d ", valores[i]);
}
puts("\n");
system("pause");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: Sem ordenação: 4, 6, 2, 8, 1, 9, 3, 0, 11 Ordenados: 0, 1, 2, 3, 4, 6, 8, 9, 11 |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenhoQuantidade de visualizações: 14468 vezes |
|
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException. O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem:
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 uma linha");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// Desenha uma linha no JLabel
Graphics graphics = label.getGraphics();
graphics.drawLine(0, 0, 150, 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 |
|
Delphi - Como obter a quantidade de registros em um TClientDataSet do Delphi usando a propriedade RecordCount |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




