![]() |
|
|
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. |
||
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Escreva um programa C para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1246 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros:
// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
int i; // para o controle do laço
int j; // variável auxiliar
int temp; // variável temporária
setlocale(LC_ALL,""); // para acentos do português
// vamos mostrar o vetor na ordem original
printf("Vetor na ordem original:\n");
for(i = 0; i < 8; i++){
printf("%d ", valores[i]);
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for(i = 0; i < 8; i++){
// encontramos um valor que não é 0
if(valores[i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
temp = valores[i];
valores[i] = valores[j];
valores[j] = temp;
// e avançamos o j para o elemento seguinte
j++;
}
}
// agora mostramos o resultado
printf("\n\nVetor com os zeros deslocados para o final:\n");
for(i = 0; i < 8; i++){
printf("%d ", valores[i]);
}
printf("\n\n");
system("pause");
return 0;
}
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
Java ::: Java Swing - JTable e classes relacionadas ::: JTable |
Como aplicar cores alternadas às linhas de uma JTable do Java SwingQuantidade de visualizações: 4 vezes |
|
Nesta dica eu mostrarei como aplicar o tão falado "efeito zebrinha" nas linhas de uma tabela JTable do Java Swing. A técnica é muito simples é, uma vez aprendida, possibilita a criação de códigos cada vez mais interessantes. Veja como efetuo uma chamada ao método prepareRenderer() para obter um Component representando a célula que está sendo renderizada. Se o índice da linha da célula for par e não estiver selecionada, nós efetuamos uma chamada à setBackground() da classe Component para definir a sua cor de fundo. Veja o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
public class Estudos extends JFrame {
public Estudos() {
super("Exemplo de uma tabela com efeito zebrinha");
// 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) {
@Override
public Component prepareRenderer(TableCellRenderer renderer,
int rowIndex, int vColIndex) {
Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex)) {
c.setBackground(Color.YELLOW);
}
else {
c.setBackground(getBackground());
}
return c;
}
};
tabela.setPreferredScrollableViewportSize(new Dimension(350, 150));
Container c = getContentPane();
c.setLayout(new FlowLayout());
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);
}
}
Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em Java dados dois pontos pertencentes à retaQuantidade de visualizações: 1843 vezes |
|
Nesta dica de Java veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: ![]() Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código Java completo para esta tarefa:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
// vamos usar a classe Scanner para ler os dados
Scanner entrada = new Scanner(System.in);
// vamos ler as coordenadas do primeiro ponto
System.out.print("Coordenada x do primeiro ponto: ");
double x1 = Double.parseDouble(entrada.nextLine());
System.out.print("Coordenada y do primeiro ponto: ");
double y1 = Double.parseDouble(entrada.nextLine());
// vamos ler as coordenadas do segundo ponto
System.out.print("Coordenada x do segundo ponto: ");
double x2 = Double.parseDouble(entrada.nextLine());
System.out.print("Coordenada y do segundo ponto: ");
double y2 = Double.parseDouble(entrada.nextLine());
String sinal = "+";
// vamos calcular o coeficiente angular da reta
double m = (y2 - y1) / (x2 - x1);
// vamos calcular o coeficiente linear
double n = y1 - (m * x1);
// coeficiente linear menor que zero? O sinal será negativo
if (n < 0){
sinal = "-";
n = n * -1;
}
// mostra a equação reduzida da reta
System.out.println("Equação reduzida: y = " + m + "x"
+ " " + sinal + " " + n);
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador final em classes, variáveis e métodos Java - Programação Orientada a Objetos em JavaQuantidade de visualizações: 14201 vezes |
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:
public class Estudos{
static final int VALOR = 45;
public static void main(String args[]){
// vamos tentar alterar o valor da
// constante
VALOR = 10;
}
}
Ao tentarmos compilar este programa teremos a seguinte mensagem de erro:
Estudos.java:7: cannot assign a value to
final variable VALOR
VALOR = 10;
^
1 error
Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final. Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja:
// superclasse
final class Pessoa{
public String nome;
}
// subclasse
class Aluno extends Pessoa{
public String matricula;
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:7: cannot inherit from
final Pessoa
class Aluno extends Pessoa{
^
1 error
Um método marcado como final não pode ser sobrescrito. Veja um exemplo:
// superclasse
class Pessoa{
protected String nome;
public final String getNome(){
return this.nome;
}
}
// subclasse
class Aluno extends Pessoa{
// estamos sobrescrevendo o método
// herdado da superclasse
public final String getNome(){
return "Aluno: " + this.nome;
}
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:14: getNome() in Aluno cannot
override getNome() in Pessoa; overriden method is final
public final String getNome(){
^
1 error
Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos. |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do Delphi JavaScript - JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






