![]() |
|
|
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 |
||
|
||
|
|
||
C# ::: Windows Forms ::: ComboBox |
Como retornar a quantidade de itens em um ComboBox do C# Windows FormsQuantidade de visualizações: 9971 vezes |
|
A quantidade de elementos (ou itens) em um ComboBox do C# Windows Forms pode ser obtida por meio da propriedade Count da classe ComboBox.ObjectCollection. Podemos ter acesso a esta classe a partir da propriedade Items da classe ComboBox. Veja um trecho de código no qual obtemos a quantidade de itens em um ComboBox chamado cidades:
private void button1_Click(object sender, EventArgs e){
int quant = cidades.Items.Count;
MessageBox.Show("O ComboBox contém " + quant + " itens");
}
|
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em C - Como remover um nó no final de uma lista ligada simples em C - Listas encadeadas em CQuantidade de visualizações: 2451 vezes |
Nesta dica mostraremos como é possível excluir o nó no fim (o último nó) de uma lista encadeada simples (singly linked list) em C. Veja a função:
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
struct No *n; // nó que será removido
// nó que antecede o nó a ser removido. Isso
// faz sentido, já que ele será o último nó
// agora
struct No *anterior;
n = inicio; // aponta para o início da lista
// varremos os nós da lista e paramos um nó antes do
// nó a ser excluído
while(n->proximo != NULL){
anterior = n; // anterior assume o lugar de n
n = n->proximo; // e n assume o seu próximo
}
// anterior passa a ser o último nó agora
anterior->proximo = NULL;
// mostra o nó removido
printf("\nNo removido: %d\n", n->valor);
free(n); // libera o nó que antes era o último
return inicio;
}
Note que a função recebe um ponteiro para o início da lista e retorna também um ponteiro para o início da lista. Tenha o cuidado de verificar se a lista não está vazia antes de tentar fazer a exclusão. No exemplo eu fiz isso na função main(). Veja a listagem completa abaixo:
#include <stdio.h>
#include <stdlib.h>
// estrutura Nó
struct No{
int valor;
struct No *proximo;
};
// fim da estrutura Nó
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
if(n != NULL){
do{
printf("%d\n", n->valor);
n = n->proximo;
}while(n != NULL);
}
else
printf("A lista esta vazia\n\n");
}
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
struct No *n; // nó que será removido
// nó que antecede o nó a ser removido. Isso
// faz sentido, já que ele será o último nó
// agora
struct No *anterior;
n = inicio; // aponta para o início da lista
// varremos os nós da lista e paramos um nó antes do
// nó a ser excluído
while(n->proximo != NULL){
anterior = n; // anterior assume o lugar de n
n = n->proximo; // e n assume o seu próximo
}
// anterior passa a ser o último nó agora
anterior->proximo = NULL;
// mostra o nó removido
printf("\nNo removido: %d\n", n->valor);
free(n); // libera o nó que antes era o último
return inicio;
}
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
// reserva memória para o novo nó
struct No *novo = (struct No*)malloc(sizeof(struct No));
novo->valor = v;
// verifica se a lista está vazia
if(n == NULL){
// é o primeiro nó...não deve apontar para
// lugar nenhum
novo->proximo = NULL;
return novo; // vamos retornar o novo nó como sendo o início da lista
}
else{ // não está vazia....vamos inserir o nó no final
// o primeiro passo é chegarmos ao final da lista
struct No *temp = n; // vamos obter uma referência ao primeiro nó
// vamos varrer a lista até chegarmos ao último nó
while(temp->proximo != NULL){
temp = temp->proximo;
}
// na saída do laço temp aponta para o último nó da lista
// novo será o último nó da lista...o campo próximo dele deve
// apontar para NULL
novo->proximo = NULL;
// vamos fazer o último nó apontar para o nó recém-criado
temp->proximo = novo;
return n; // vamos retornar o início da lista intacto
}
}
int main(int argc, char *argv[])
{
// declara a lista
struct No *inicio = NULL;
// vamos inserir quatro valores no final
// da lista
inicio = inserir_final(inicio, 45);
inicio = inserir_final(inicio, 3);
inicio = inserir_final(inicio, 98);
inicio = inserir_final(inicio, 47);
// vamos exibir o resultado
printf("Valores presentes na lista ligada antes da remocao:\n");
exibir(inicio);
// vamos remover o nó no fim da lista
if(inicio != NULL){
inicio = remover_final(inicio);
}
// vamos exibir o resultado
printf("\nValores presentes na lista ligada apos a remocao:\n");
exibir(inicio);
system("pause");
return 0;
}
Ao executar esse código você terá o seguinte resultado: Valores presentes na lista ligada antes da remocao: 45 3 98 47 No removido: 47 Valores presentes na lista ligada apos a remocao: 45 3 98 Pressione qualquer tecla para continuar. . . |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Algorítmos Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static)Quantidade de visualizações: 16725 vezes |
|
Exercícios Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static) Pergunta/Tarefa: Escreva uma classe Retangulo para representar um retângulo. A classe deve conter: a) Dois campos de dados do tipo double chamados largura e altura que especificam a largura e a altura do retângulo. Os valores padrões são 1 tanto para a largura quanto para a altura. b) Um campo de dado do tipo String chamado cor que especifica a cor do retângulo. Para este exercício em particular, assuma que TODOS os retângulos possuirão a mesma cor. A cor padrão é branco. c) Um construtor sem argumentos que cria um retângulo padrão. d) Um construtor que cria um retângulo com a largura e altura especificadas. e) Métodos get() e set() para os três campos de dados da classe. f) Um método chamado getArea() que retorna a área do retângulo. g) Um método chamado getPerimetro() que retorna o perímetro do retângulo. Escreva um programa de teste que cria dois objetos da classe Retangulo. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Retangulo.java
package estudos;
public class Retangulo {
private double largura; // largura do retângulo
private double altura; // altura do retângulo
// O exercício pede que TODOS os retângulos tenham a mesma cor
// consulte a dica http://www.arquivodecodigos.net/dicas/1158 para mais
// detalhes sobre o modificador static
private static String cor = "branco"; // cor do retângulo
// construtor sem argumentos
public Retangulo(){
this.largura = 1;
this.altura = 1;
}
// construtor que permite especificar a largura e a altura
public Retangulo(double largura, double altura){
this.largura = largura;
this.altura = altura;
}
// obtém a altura
public double getAltura() {
return altura;
}
// define a altura
public void setAltura(double altura){
this.altura = altura;
}
// obtém a largura
public double getLargura(){
return largura;
}
// define a largura
public void setLargura(double largura){
this.largura = largura;
}
// obtém a cor de TODOS os retângulos
public static String getCor(){
return cor;
}
// define a cor de TODOS os retângulos
public static void setCor(String cor){
Retangulo.cor = cor;
}
// este método retorna a área do retângulo (em metros quadrados)
public double getArea(){
return (this.largura * this.altura);
}
// este método retorna o perímetro do retângulo (em metros)
public double getPerimetro(){
return ((2 * this.largura) + (2 * this.altura));
}
}
Agora o teste no método main():
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar uma instância da classe Retangulo com
// os valores padrões
Retangulo a = new Retangulo();
// agora vamos informar a largura e a altura
Retangulo b = new Retangulo(10, 5);
// os dois retângulos terão a cor verde
Retangulo.setCor("verde");
// vamos mostrar os resultados do primeiro retângulo
System.out.println("Primeiro retângulo");
System.out.println("Largura: " + a.getLargura());
System.out.println("Altura: " + a.getAltura());
System.out.println("Cor: " + Retangulo.getCor());
System.out.println("Área: " + a.getArea() + " metros quadrados");
System.out.println("Perímetro: " + a.getPerimetro() + " metros");
// vamos mostrar os resultados do segundo retângulo
System.out.println("\nSegundo retângulo");
System.out.println("Largura: " + b.getLargura());
System.out.println("Altura: " + b.getAltura());
System.out.println("Cor: " + Retangulo.getCor());
System.out.println("Área: " + b.getArea() + " metros quadrados");
System.out.println("Perímetro: " + b.getPerimetro() + " metros");
}
}
|
C# ::: Windows Forms ::: TextBox |
Como definir a cor de fundo de uma caixa de texto TextBox do C# Windows Forms via códigoQuantidade de visualizações: 9658 vezes |
|
Nesta dica mostrarei como podemos usar a propriedade BackColor da classe Control do C# Windows Forms para definir a cor de fundo de uma caixa de texto TextBox. Note que criei uma TextBox com o nome textBox1 e estou chamando o código a partir do evento Click de um botão Button. Veja o trecho de código para o exemplo:
private void button1_Click(object sender, EventArgs e){
textBox1.BackColor = Color.YellowGreen;
}
|
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar classes abstratas em Java - Programação Orientada a Objetos - Java POOQuantidade de visualizações: 22562 vezes |
Classes abstratas (abstract classes) não diferem muito das classes que normalmente criamos, ou seja, elas também podem possuir propriedades e métodos. Porém, não é possível criar instâncias de uma classe abstrata usando o operador new. Veja:
abstract class Pessoa{
public String nome;
public int idade;
}
public class Estudos{
public static void main(String args[]){
// cria um objeto da classe Pessoa
Pessoa p = new Pessoa();
}
}
Ao tentarmos compilar este exemplo teremos a seguinte mensagem:
Estudos.java:9: Pessoa is abstract; cannot be
instantiated
Pessoa p = new Pessoa();
^
1 error
Classes abstratas geralmente contém métodos abstratos (ainda que métodos não abstratos sejam também permitidos). Um método abstrato é um método que possui apenas a assinatura. Não há implementação. Esta implementação deverá ser fornecida pela subclasse ou classe derivada. Uma classe que contém métodos abstratos deverá, obrigatoriamente, ser declarada abstrata. Veja um exemplo de um método abstrato:
public abstract class Pessoa{
public abstract String getNome();
}
Se a classe não fosse declarada com o modificador abstract, teríamos a seguinte mensagem de erro de compilação:
Pessoa.java:1: Pessoa is not abstract and does
not override abstract method getNome() in
Pessoa
public class Pessoa{
^
1 error
Classes abstratas são um dos tópicos mais complicados da linguagem Java e uma dor de cabeça enorme para aqueles que estão estudando para a certificação Java. Mostramos abaixo algumas dicas resultantes de nossas pesquisas sobre o assunto. 1)Uma classe não abstrata não pode conter métodos abstratos. Se uma classe concreta (não abstrata) herda de uma classe abstrata e não implementa todos os métodos abstratos, a classe derivada deve ser declarada abstract. Além disso, métodos abstratos não podem ser marcados como static. Insistir nisso pode gerar a seguinte mensagem de erro de compilação:
Pessoa.java:2: illegal combination of
modifiers: abstract and static
public static abstract String getNome();
^
2) Embora uma classe abstrata não possa ser instanciada usando o operador new, ela pode conter construtores. Tais construtores serão invocados nos construtores das classes derivadas. 3) Uma subclasse pode ser abstrata até mesmo se sua superclasse for concreta. E isso é fácil de notar, uma vez que todas as classes Java herdam de Object, que é concreta. 4) Uma classe derivada pode sobrescrever um método de sua superclasse e declará-lo abstract. Isso faz sentido quando a classe derivada for abstract e quiser tornar o método herdado inválido. 5) Embora uma classe abstrata não possa ser instanciada usando o operador new, ela pode ser usada como um tipo de dados. Esta técnica é útil quando parte do time de desenvolvedores precisa adiantar códigos que dependem de classes que ainda não foram implementadas (e, portanto, herdarão das classes abstratas usadas como tipos de dados) por outra parte do mesmo time. |
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 |





