![]() |
|
|
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 ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar e usar métodos estáticos em suas classes Java - Programação Orientada a Objetos em Java - Java OOPQuantidade de visualizações: 14102 vezes |
Como já vimos em outras dicas desta seção, uma classe Java possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:
package estudos;
// declaração da classe Produto
public class Produto {
private String nome;
private double preco;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
}
Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. O método main() presente em todas as aplicações Java é um bom exemplo deste tipo de método. Métodos estáticos em Java podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo: Código para Pessoa.java:
package estudos;
// classe Pessoa com duas variáveis privadas e
// um método estático
public class Pessoa {
private String nome;
private int idade;
// um método estático que permite verificar a validade
// de um número de CPF
public static boolean isCPFValido(String cpf){
// alguns cálculos aqui
return true;
}
}
Veja agora como podemos chamar o método isCPFValido() sem a necessidade da criação de uma nova instância da classe Pessoa: Código para Main.java:
package estudos;
public class Main {
public static void main(String[] args) {
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa.isCPFValido("12345")){
System.out.println("CPF Válido");
}
else{
System.out.println("CPF Inválido");
}
}
}
Note que o método estático isCPFValido() da classe Pessoa foi declarado assim: public static boolean isCPFValido(String cpf); Desta forma, podemos chamá-lo a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja: if(Pessoa.isCPFValido("12345")){} É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:
// um método estático que permite verificar a validade
// de um número de CPF
public static boolean isCPFValido(String cpf){
// alguns cálculos aqui
// vamos acessar a variável não estática nome
nome = "Osmar J. Silva";
return true;
}
vai gerar o seguinte erro de compilação: Uncompilable source code - non-static variable nome cannot be referenced from a static context. Se usarmos this.nome a mensagem de erro de compilação será: Uncompilable source code - non-static variable this cannot be referenced from a static context. Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias. |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como converter um valor decimal em binário usando a função decbin() da linguagem PHPQuantidade de visualizações: 11918 vezes |
|
A conversão de um valor decimal em binário pode ser feita em PHP usando a função decbin(). Esta função aceita um valor numérico e retorna o valor binário como uma string. Veja o resultado no trecho de código abaixo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php // valor decimal $decimal = 14; // converte para binário $binario = decbin($decimal); // exibe o resultado echo "O resultado da conversão é: " . $binario; ?> </body> </html> Ao executarmos este código PHP nós teremos o seguinte resultado: O resultado da conversão é: 1110 |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de VisuAlg - Um programa que lê três números inteiros e mostra o maiorQuantidade de visualizações: 1865 vezes |
|
Pergunta/Tarefa: Faça um algoritmo VisuAlg que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com: Informe o primeiro número: 34 Informe o segundo número: 83 Informe o terceiro número: 72 O segundo número é o maior Veja a resolução comentada deste exercício usando VisuAlg:
Algoritmo "Um programa que lê três números inteiros e mostra o maior"
Var
// variáveis usadas na resolução do problema
num1, num2, num3: inteiro
Inicio
// vamos solicitar os três números inteiros
escreva("Informe o primeiro número: ")
leia(num1)
escreva("Informe o segundo número: ")
leia(num2)
escreva("Informe o terceiro número: ")
leia(num3)
// o primeiro número é o maior?
se (num1 > num2) e (num1 > num3) entao
escreva("O primeiro número é o maior")
senao
// o segundo número é o maior?
se (num2 > num1) e (num2 > num3) entao
escreva("O segundo número é o maior")
senao
// o terceiro número é o maior?
se (num3 > num1) e (num3 > num2) entao
escreva("O terceiro número é o maior")
senao
// os números não são diferentes
escreva("Os três números não são diferentes")
fimse
fimse
fimse
Fimalgoritmo
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler dois números inteiros e informar se os dois possuem o mesmo dígito no final em JavaQuantidade de visualizações: 1071 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar dois números inteiros e informe se os dois números informados possuem o último dígito igual, ou seja, terminam com o mesmo dígito. Sua saída deve ser parecida com: Informe o primeiro número: 28 Informe o segundo número: 4318 Os dois números possuem o último dígito igual. Informe o primeiro número: 39 Informe o segundo número: 93 Os dois números não possuem o último dígito igual. Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar dois inteiros
System.out.print("Informe o primeiro número: ");
int n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int n2 = Integer.parseInt(entrada.nextLine());
// agora vamos testar se os dois números terminam com
// o mesmo último dígito
if(Math.abs(n1 % 10) == Math.abs(n2 % 10)){
System.out.println("Os dois números possuem o último dígito igual.");
}
else{
System.out.println("Os dois números não possuem o último dígito igual.");
}
}
}
|
C# ::: Dicas & Truques ::: Data e Hora |
Como usar a classe Calendar em suas aplicações C#Quantidade de visualizações: 12237 vezes |
A classe Calendar da plataforma .NET está presente no namespace System.Globalization. Esta é uma classe abstrata (não pode ser instanciada e serve somente como classe base para futuras implementações) que implementa a interface ICloneable. Veja sua posição na hierarquia de classes da plataforma .NET:System.Object System.Globalization.Calendar Um calendário divide o tempo em unidades, tais como semanas, meses e anos. O número, comprimento e início destas divisões variam de acordo com cada calendário. Qualquer momento no tempo pode ser representado como um conjunto de valores numéricos usando um calendário em particular. Por exemplo, um equinócio vernal ocorreu em (1999, 3, 20, 8, 46, 0, 0.0) no calendário Gregoriano (Gregorian calendar), ou seja, 20 de março de 1999 C.E às 8:46:00:0.0. Uma implementação de Calendar pode mapear cada data na faixa de um calendário específico para um conjunto similiar de valores numéricos, e DateTime pode mapear tais conjuntos de valores numéricos para uma representação textual usando informações de Calendar e DateTimeFormatInfo. A representação textual pode ser dependente de cultura (culture-sensitive) (por exemplo, "8:46 AM March 20th 1999 AD" para a cultura en-US) ou independente de cultura (culture-insensitive) (por exemplo, "1999-03-20T08:46:00" no formato ISO 8601). Uma implementação de Calendar pode definir uma ou mais eras. A classe Calendar identifica tais eras como uma enumeração de inteiros na qual a era atual (CurrentEra) tem o valor 0. Para compensar a diferença entre o ano do calendário e a tempo real que a terra se movimenta ao redor do sol ou o tempo real que a lua se movimenta ao redor da terra, um ano bissexto tem um número diferente de dias que um ano padrão de um calendário. Cada implementação de Calendar define anos bissextos de forma diferenciada. Para fins de consistência, a primeira unidade de cada intervalo (por exemplo, o primeiro mês) recebe o valor 1. O trecho de código abaixo mostra como obter o calendário padrão não dependente de cultura e então exibir o valor numérico referente ao dia do mês:
static void Main(string[] args){
// using System.Globalization;
// obtém uma instância da implementação padrão de
// Calendar não dependente da cultura local
Calendar c = CultureInfo.InvariantCulture.Calendar;
// obtém a data e hora atual
DateTime agora = DateTime.Now;
// obtém o dia do ano
int dia = c.GetDayOfMonth(agora);
Console.WriteLine("O dia do mês é: {0}", dia);
// pausa o programa
Console.ReadKey();
}
O namespace System.Globalization inclui as seguintes implementações de Calendar: GregorianCalendar, HebrewCalendar, HijriCalendar, JapaneseCalendar, JulianCalendar, KoreanCalendar, TaiwanCalendar e ThaiBuddhistCalendar. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





