![]() |
|
|
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 |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como embaralhar as palavras em uma frase ou texto usando C#Quantidade de visualizações: 12763 vezes |
|
Nesta dica mostrarei como podemos usar a linguagem C# para embaralhar, ou seja, exibir as palavras de uma string em ordem aleatória. Veja o código C# completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de VB.NET, Java e C#";
// mostra a frase na ordem original
Console.WriteLine("Ordem original: " + frase);
// converte em um vetor de palavras
string[] frase2 = frase.Split(' ');
// vamos embaralhar 5 vezes
Embaralhar(ref frase2, 5);
// junta as partes da string novamente
frase = String.Join(" ", frase2);
// exibe o resultado
Console.WriteLine("Embaralhada: " + frase);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
static void Embaralhar(ref String[] array, int vezes) {
Random rand = new Random(DateTime.Now.Millisecond);
for (int i = 1; i <= vezes; i++) {
for (int x = 1; x <= array.Length; x++) {
Trocar(ref array[rand.Next(0, array.Length)],
ref array[rand.Next(0, array.Length)]);
}
}
}
static void Trocar(ref String arg1, ref String arg2) {
String strTemp = arg1;
arg1 = arg2;
arg2 = strTemp;
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Gosto de VB.NET, Java e C# Embaralhada: VB.NET, C# Java de e Gosto |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Estruturas de Dados em Java - Como obter o nó com menor valor em uma árvore binária de busca em JavaQuantidade de visualizações: 3930 vezes |
Em exemplos dessa seção nós vimos como criar árvores binárias e árvores binárias de busca em Java e como pesquisar ou fazer a sua travessia, visitando cada um dos nós. Nesta dica mostrarei como obter o nó com o menor valor em uma árvore binária. O truque aqui é descer o lado esquerdo da árvore até o último nó. Veja:
// método que permite retornar o menor nó de uma árvore
// binária de busca
public No retornarMenorElemento(){
// chama a versão recursiva do método
return retornarMenorElemento(raiz);
}
public No retornarMenorElemento(No no){
if((no == null) || (no.getEsquerdo() == null)){
return no; // ponto de parada
}
else{ // vamos continuar descendo do lado esquerdo
return retornarMenorElemento(no.getEsquerdo());
}
}
Este método faz parte da classe ArvoreBinariaBusca.java. Veja agora como chamá-lo a partir da classe principal, ou seja, a classe de teste:
package arvore_binaria;
import java.util.Scanner;
public class ArvoreBinariaTeste {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos criar um novo objeto da classe ArvoreBinariaBusca
ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
// vamos inserir 5 valores na árvore
for(int i = 0; i < 5; i++){
System.out.print("Informe um valor inteiro: ");
int valor = Integer.parseInt(entrada.nextLine());
// vamos inserir o nó e verificar o sucesso da operação
if(!arvore.inserir(valor)){
System.out.println("Não foi possível inserir." +
" Um elemento já contém este valor.");
}
}
// vamos o menor elemento na árvore binária de busca
System.out.println("\nO menor nó é: " +
arvore.retornarMenorElemento().getValor());
System.out.println("\n");
}
}
Ao executar este código teremos o seguinte resultado: Informe um valor inteiro: 5 Informe um valor inteiro: 12 Informe um valor inteiro: 87 Informe um valor inteiro: 1 Informe um valor inteiro: 3 O menor nó é: 1 |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Como criar e usar interfaces em seus programas JavaQuantidade de visualizações: 12475 vezes |
|
Muitos estudantes de Java torcem o nariz quando nós, professores e instrutores, tocamos no assunto de interfaces. Definitivamente este não é um tópico fácil de entender ao primeiro contato. Comecemos com uma analogia simples. É sabido que é cada vez maior o número de softwares sendo desenvolvidos em equipes, ou seja, o projeto do software é desmembrado e suas funcionalidades são implementadas por grupos diferentes de programadores. Quando estamos desenvolvendo software em grupos de programadores, é comum desenvolvermos partes que dependem do trabalho de um outro grupo. E, nem sempre podemos esperar que uma parte da qual dependemos fique pronta para só então progredirmos. Para isso, um contrato entre os grupos de programadores é firmado. E este contrato é o que chamamos de interface. Suponhamos que em um determinado momento meu grupo está desenvolvendo código que depende da parte de impressão, sendo desenvolvida por outro grupo. Todos se reúnem e decidimos quais funcionalidades a classe de impressão terá e quais métodos públicos serão disponibilizados. Feito isso, uma interface contendo a assinatura destes métodos é disponibilizada para todos e o desenvolvimento continua. Mais tarde, quando a classe de impressão estiver sendo desenvolvida, ela poderá implementar a interface anteriormente disponibilizada e tudo está resolvido. Sendo assim, uma interface na linguagem de programação Java é um tipo referência, similar a uma classe. A diferença é que uma interface pode conter apenas constantes e assinaturas e métodos. Não há a implementação dos corpos dos métodos. Além disso, interfaces não podem ser instanciadas usando new. Veja o que acontece quando tentamos fazer isso (lembre-se de que List é interface):
import java.util.*;
public class Estudos{
public static void main(String args[]){
// cria um objeto da interface List
List lista = new List();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:6: java.util.List is abstract;
cannot be instantiated
List lista = new List();
^
1 error
Interfaces devem ser implementadas por classes ou extendidas por outras interfaces. Agora, um detalhe interessante. Se você verificar a API do Java, verá que a interface List é implementada pelas classes AbstractList, ArrayList, LinkedList e Vector. Desta forma, o código anterior pode ser modificado para:
import java.util.*;
public class Estudos{
public static void main(String args[]){
// cria um objeto da interface List
List lista = new ArrayList();
}
}
Este código compila normalmente e fortalece nossa discussão a respeito da interface de impressão. O sistema inteiro pode fazer referências a uma interface e, para que ele funcione da forma esperada, só precisamos fornecer a classe que implementa a interface no momento de instanciar os objetos. Isso demonstra que o nome de uma interface pode ser usado em qualquer lugar no qual um tipo da classe que a implementa seja necessário. Vamos ver agora como criar uma interface chamada Pessoa. Veja:
public interface Pessoa{
public void setNome(String nome);
public String getNome();
}
Salve esta interface como Pessoa.java e a compile. Pronto! Esta interface já pode ser usada no sistema, contanto que todos do grupo tenham concordado com as assinaturas dos métodos. Agora observe uma classe Cliente que implementa esta interface:
public class Cliente implements Pessoa{
private String nome;
private int idade;
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return this.nome;
}
}
Salve este código como Cliente.java e o compile. O primeiro detalhe a observar é o uso da palavra-chave implements para mostrar que a classe implementa a interface Pessoa. Note também que a classe fornece implementação para todos os métodos da interface. Não seguir esta regra geraria o seguinte erro de compilação:
Cliente.java:1: Cliente is not abstract and
does not override abstract method getNome() in
Pessoa
public class Cliente implements Pessoa{
^
1 error
Em resumo, uma interface define um protocolo de comunicação entre dois objetos e pode conter, além das assinaturas dos métodos, constantes. Neste caso todas estas constantes serão implicitamente public, static e final. Mesmo que estes modificadores sejam omitidos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Java - Como usar a Ordenação da Bolha em Java para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 4248 vezes |
|
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Java que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 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) {
// vamos declarar e construir um vetor de 10 elementos
int valores[] = new int[10];
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir que o usuário informe os valores
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o valor para o índice " + i + ": ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// vamos mostrar o vetor informado
System.out.println("\nO array informado foi:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// vamos ordenar os elementos do vetor usando a ordenação da bolha
// laço externo de trás para frente
for(int i = valores.length - 1; i > 1; i--){
for(int j = 0; j < i; j++){ // laço interno vai no fluxo normal
if(valores[j] > valores[j + 1]){ // temos que trocá-los de lugar
int temp = valores[j];
valores[j] = valores[j + 1];
valores[j + 1] = temp;
}
}
}
// vamos exibir o vetor já ordenado
System.out.println("\n\nO array ordenado é:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
System.out.println("\n");
}
}
|
VBA ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o código ASCII associado a um caractere em VBA usando a função Asc()Quantidade de visualizações: 807 vezes |
|
Em algumas situações nós precisamos retornar o código ASCII associado a um determinado caractere. Em VBA nós podemos realizar essa tarefa usando a função Asc(), que recebe uma string representando uma letra, dígito ou símbolo e retorna o código numérico correspondente. Veja um trecho de código VBA no qual informamos a letra "A" e obtemos, como retorno, o código ASCII 65:
' Macro VBA Excel usada para converter um caractere
' em seu código ASCII
Sub RetornarCodigoASCII()
' Variáveis usadas na resolução do problema
Dim letra As String
Dim codigo As Integer
' vamos pedir para o usuário informar um caractere
letra = InputBox("Informe um caractere: ", "Código ASCII", 0)
Debug.Print "Você informou o caractere: " & letra
' agora vamos obter o código ASCII correspondente
codigo = Asc(letra)
' e mostramos o resultado
Debug.Print "O código ASCII correspondente é: " & codigo
End Sub
Ao executarmos este código VBA nós teremos o seguinte resultado: O código ASCII correspondente é: 65 |
Veja mais Dicas e truques de VBA |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





