![]() |
|
|
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 ::: Dicas & Truques ::: Strings e Caracteres |
Como criar sua própria função substring() para obter uma substring a partir de uma string em CQuantidade de visualizações: 17586 vezes |
Em algumas situações precisamos obter uma substring a partir de uma string. A linguagem C já fornece algumas funções que tornam isso possível. No entanto, nenhuma destas funções permite especificar o índice inicial da substring. Sendo assim, o trecho de código abaixo mostra como escrever uma função substring() que permite informar a string de origem, o índice inicial e a quantidade de caracteres que serão obtidos. O retorno da função será um ponteiro para a substring obtida:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *substring(char *origem, int inicio, int quant){
char *res = origem;
int i = 0;
// posição inicial menor que 0 ou
// posição inicial muito exagerada?
if((inicio < 0) || (inicio > strlen(origem)))
inicio = 0;
// quantidade de caracteres muito exagerada?
if(quant > inicio + strlen(origem))
quant = strlen(origem) - inicio;
// obtem os caracteres desejados
for(i = 0; i <= quant - 1; i++){
res[i] = origem[inicio + i];
}
// marca o fim da string
res[i] = '\0';
return res;
}
int main(int argc, char *argv[])
{
char texto[] = "Gosto muito de C e C++";
// não podemos bagunçar a string original
char sub_temp[128];
strcpy(sub_temp, texto);
// 10 caracteres começando
// no índice 6
char *res = substring(sub_temp, 6, 10);
// exibe o resultado
puts(res);
// exibe a string original
puts(texto);
system("pause");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: muito de C Gosto muito de C e C++ |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouseQuantidade de visualizações: 32057 vezes |
|
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho. Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel. O resultado é exibido na imagem abaixo: ![]() E aqui está o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Estudos extends JFrame{
public Estudos(){
super("Eventos do Mouse e Teclado");
Container c = getContentPane();
PainelDesenho painel = new PainelDesenho();
c.add(painel, BorderLayout.CENTER);
c.add(new JLabel("Arraste o mouse para desenhar..." ),
BorderLayout.SOUTH );
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class PainelDesenho extends JPanel{
private int quantPontos = 0;
private Point pontos[] = new Point[10000];
public PainelDesenho(){
this.setBackground(Color.WHITE);
this.addMouseMotionListener(
new MouseMotionAdapter(){
public void mouseDragged(MouseEvent e){
if(quantPontos < pontos.length){
pontos[quantPontos] = e.getPoint();
quantPontos++;
repaint();
}
}
}
);
}
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
for(int i = 0 ; i < quantPontos; i++)
g.fillOval(pontos[i].x, pontos[i].y, 4, 4);
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir uma matriz de 10 int, pedir ao usuário para informar os valores dos elementos, mostrar a média dos valores informados e a quantidade de valores acima da médiaQuantidade de visualizações: 14586 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console ou GUI que declara e constrói uma matriz de 10 inteiros. Em seguida peça ao usuário para informar os 10 valores e armazene-os na matriz. Finalmente obtenha a média aritmética dos valores informados e mostre quantos valores estão acima da média. Seu programa deverá exibir a seguinte saída (no caso de uma aplicação Console): Informe o 1º valor: 4 Informe o 2º valor: 12 Informe o 3º valor: 9 Informe o 4º valor: 6 Informe o 5º valor: 4 Informe o 6º valor: 3 Informe o 7º valor: 7 Informe o 8º valor: 2 Informe o 9º valor: 3 Informe o 10º valor: 1 A média dos valores é: 5.0 Quantidade de valores acima da média: 4 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// vamos declarar e instancia um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir uma matriz de 10 ints
int valores[] = new int[10];
double media; // média dos valores
int soma = 0; // soma dos valores lidos
int quantAcimaMedia = 0; // quantidade de valores acima da média
// vamos solicitar ao usuário que informe os 10 valores inteiros
// e vamos armazená-los na matriz
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o " + (i + 1) + "º valor: ");
int valor = Integer.parseInt(entrada.nextLine());
valores[i] = valor;
// vamos adicionar este valor à soma
soma = soma + valor;
}
// vamos obter a média dos valores lidos
media = (soma / valores.length);
// agora precisamos obter a quantidade de valores acima da média
for(int i = 0; i < valores.length; i++){
if(valores[i] > media){
quantAcimaMedia++;
}
}
// vamos exibir os resultados
System.out.println("A média dos valores é: " + media);
System.out.println("Quantidade de valores acima da média: " +
quantAcimaMedia);
}
}
|
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string em um valor numérico de ponto-flutuante (com parte fracionária) em Delphi usando as funções StrToFloat(), TryStrToFloat() e StrToFloatDef()Quantidade de visualizações: 25824 vezes |
|
Em algumas situações precisamos converter strings em valores numéricos do tipo ponto-flutuante, ou seja, números que contenham uma parte fracionária. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos. Vamos começar com a função StrToFloat() da unit SysUtils. Esta função recebe uma string representando um valor de ponto-flutuante válido e retorna um valor de ponto-flutuante. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
valor1, valor2, soma: Double;
begin
// vamos receber as strings dos TEdits e converter
// seus valores para números de ponto-flutuante
// note que em Delphi, um valor de ponto-flutuante
// é informado em caixas de texto usando vírgula. Ex: 7,3
valor1 := StrToFloat(Edit1.Text);
valor2 := StrToFloat(Edit2.Text);
// vamos obter a soma dos dois valores
soma := valor1 + valor2;
// vamos exibir o resultado. Note o uso de FloatToStr() para
// converter o valor fracionário em string
ShowMessage('A soma é: ' + FloatToStr(soma));
end;
Note que, se a string sendo convertida possuir um valor de ponto-flutuante inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToFloat(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Extended, Double ou Single que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
valor: Double;
begin
// vamos tentar converter o valor da caixa de texto
// em um valor de ponto-flutuante
if TryStrToFloat(Edit1.Text, valor) then
ShowMessage('Conversão efetuada com sucesso.')
else
ShowMessage('Erro na conversão');
end;
Há ainda uma terceira possibilidade: usar a função StrToFloatDef(). Esta função funciona exatamente da mesma forma que StrToFloat(), exceto que agora, se houver um erro de conversão, um valor de ponto-flutuante padrão será retornado. Veja: procedure TForm1.Button1Click(Sender: TObject); var valor: Double; begin // vamos converter o valor da caixa de texto // em um valor de ponto-flutuante. Se a conversão não puder // ser feita o valor 10,50 será atribuído à varial valor valor := StrToFloatDef(Edit1.Text, 10.50); // vamos exibir o resultado ShowMessage(FloatToStr(valor)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como testar se um ponto está dentro de um círculo em JavaScript - Desenvolvimento de Games com JavaScript JavaScript - Validação de formulários em JavaScript - Como validar um formulário contendo usuário e senha em JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como converter uma string para letras minúsculas em JavaScript usando a função toLowerCase() do objeto String |
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 |





