![]() |
|
|
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 Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Threads |
Como usar uma thread Java para animar o título de uma janela JFrame do Java SwingQuantidade de visualizações: 12198 vezes |
|
Nesta dica mostro como podemos usar uma thread para substituir um timer em uma aplicação Swing. Ao executar este código você verá que o texto da barra de títulos da aplicação pisca continuamente enquanto o aplicativo estiver sendo executado. Veja a listagem para o exemplo:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Uso de threads em aplicações Swing");
// vamos criar a thread que fará o título da janela
// piscar continuamente
// vamos criar duas threads
MinhaThread t1 = new MinhaThread(this);
t1.start();
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// classe que usaremos como thread
class MinhaThread extends Thread{
private JFrame janela;
private String titulo;
public MinhaThread(JFrame janela){
this.janela = janela;
this.titulo = janela.getTitle();
}
public void run(){
try{
while(true){
if(janela.getTitle().equals(""))
janela.setTitle(titulo);
else
janela.setTitle("");
Thread.sleep(300);
}
}
catch(InterruptedException ex){
// precisa fazer nada aqui
}
}
}
Um detalhe interessante é que, ao ser colocada para dormir, a thread usada no exemplo permite que as demais threads da aplicação continuem suas execuções normalmente. Isso permite que a janela seja movida, redimensionada, minimizada, etc. Lembre-se sempre de usar o método Thread.yield() caso a thread criada estiver executando alguma ação demorada. Isso evitará que a janela do programa pareça congelada. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercícios Resolvidos de C - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sêniorQuantidade de visualizações: 802 vezes |
|
Pergunta/Tarefa: Escreva um programa C que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras: a) De 5 a 7 anos - Infantil; b) De 8 a 10 anos - Juvenil; c) De 11 a 15 anos - Adolescente; d) De 16 a 30 anos - Adulto; e) Acima de 30 anos - Sênior. Sua saída deverá ser parecida com: Informe sua idade: 19 Sua categoria é Adulto Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
// variáveis usadas na resolução do problema
int idade;
// vamos solicitar a idade do nadador
printf("Informe sua idade: ");
scanf("%d", &idade);
// vamos verificar a categoria do nadador
if((idade >= 5) && (idade <= 7)) {
printf("Sua categoria é Infantil");
}
else if((idade >= 8) && (idade <= 10)) {
printf("Sua categoria é Juvenil");
}
else if((idade >= 11) && (idade <= 15)) {
printf("Sua categoria é Adolescente");
}
else if((idade >= 16) && (idade <= 30)) {
printf("Sua categoria é Adulto");
}
else if(idade > 30) {
printf("Sua categoria é Sênior");
}
else {
printf("Não pertence a nenhuma categoria.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como definir o texto de um wx.Button do wxPython em tempo de execução usando a função SetLabel()Quantidade de visualizações: 7166 vezes |
|
O texto (rótulo) de um wx.Button do wxPython pode ser definido em tempo de execução com uma chamada ao método SetLabel(). Este método recebe uma string contendo o novo texto do botão. Veja um exemplo wxPython completo:
# vamos importar a biblioteca wxPython
import wx
# a classe que representa a aplicação wxPython
class Janela(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1,
"Usando wx.Button", size=(350, 200))
# Cria um painel
panel = wx.Panel(self)
# Cria um botão e o adiciona no painel
self.btn = wx.Button(panel, label="Clique Aqui",
pos=(10, 10), size=(100, 25))
# Anexa um evento ao botão
self.Bind(wx.EVT_BUTTON, self.OnBtnClick, self.btn)
# Método que será chamado ao clicar o botão
def OnBtnClick(self, event):
# novo texto do botão
novo_texto = "Fui clicado!"
# altera o texto do botão
self.btn.SetLabel(novo_texto)
if __name__ == "__main__":
app = wx.App()
janela = Janela()
janela.Show(True)
app.MainLoop()
|
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Ruby - Escreva um programa Ruby para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1595 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: # vamos declarar e construir um vetor de 8 inteiros 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 Ruby:
# vamos declarar e construir um vetor de 8 inteiros
valores = [0, 3, 0, 5, 7, 4, 0, 9]
# vamos mostrar o vetor na ordem original
print("Vetor na ordem original:\n")
for i in (0..valores.length - 1)
printf("%d ", valores[i])
end
# 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 in (0..valores.length - 1)
# 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 = j + 1
end
end
# agora mostramos o resultado
print("\n\nVetor com os zeros deslocados para o final:\n")
for i in (0..valores.length - 1)
printf("%d ", valores[i])
end
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. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como obter o tamanho de um arquivo em PHP usando a função filesize()Quantidade de visualizações: 13360 vezes |
|
O tamanho de um arquivo pode ser obtido em PHP usando-se a função filesize(). Esta função recebe o caminho e nome do arquivo e retorna seu tamanho em bytes. Lembre-se de que um Kb contém 1024 bytes, caso você queira trabalhar com Kb em vez de bytes. Veja um exemplo de uso da função filesize():
<?php
$arquivo = "testes.txt";
echo "O tamanho do arquivo é: " .
filesize($arquivo) . " bytes";
?>
Ao executar este código PHP nós teremos o seguinte resultado: O tamanho do arquivo é: 940 bytes |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




