![]() |
|
|
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 |
||
|
||
|
|
||
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como usar a função GetDefaultSize() para obter o tamanho padrão dos botões wx.Button em uma determinada plataforma e um determinado tamanho de fonteQuantidade de visualizações: 6982 vezes |
|
Quando estamos escrevendo interfaces wxPython para múltiplas plataformas, é interessante usar o método GetDefaultSize() para obter as dimensões padrão dos botões. Isso permite que o próprio sistema determine o tamanho dos botões baseado no tamanho da fonte usada. Este método retorna um objeto da classe wx.Size e as dimensões podem ser obtidas com o auxílio das propriedades width (largura) e height (altura). Veja um exemplo wxPython completo:
# vamos importar a biblioteca wxPython
import wx
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):
# obtém o tamanho padrão dos botões
# nesta plataforma
dimensoes = self.btn.GetDefaultSize()
dlg = wx.MessageDialog(None, u"A largura padrão é: "
+ str(dimensoes.width) + u" pixels e a altura " +
u"padrão é: " + str(dimensoes.height) + " pixels",
"Usando wx.Button", wx.OK | wx.ICON_INFORMATION)
result = dlg.ShowModal()
dlg.Destroy()
if __name__ == "__main__":
app = wx.App()
janela = Janela()
janela.Show(True)
app.MainLoop()
|
Excel ::: Fórmulas do Excel ::: Matemática e Estatística |
Como gerar números aleatórios inteiros entre 1 e 10 no Excel usando as funções ALEATÓRIO() e INT()Quantidade de visualizações: 1261 vezes |
|
A função ALEATÓRIO() do Excel pode ser usada quando queremos gerar um número randômico, ou seja, um número aleatório entre 0 e 1. Nesse caso o número gerado é um número real aleatório que inclue o 0 mas não inclui o 1. No entanto, podemos usar um truque aritmético para gerar números aleatórios entre uma determinada faixa, por exemplo, de 1 até 10 (incluindo o 1 e o 10 na amostra). Para gerar um número randômico inteiro na faixa de 1 até 10 combinando as funções ALEATÓRIO e INT, digite o conteúdo a seguir em uma célula ou na barra de fórmulas do Excel: =INT(ALEATÓRIO()*(11-1)+1) Pressione Enter ou Tab e você terá um resultado parecido com: 7 É importante observar que, sempre que chamamos a função ALEATÓRIO(), todas as células que estão usando a fórmula serão atualizadas. Para evitar isso, com o cursor na janela de fórmulas, pressione F9. Isso fará com que a fórmula seja convertida em valor final e este valor seja atribuído à célula desejada. |
PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados) |
Como criar uma tabela no PostgreSQL usando o comando DDL CREATE TABLEQuantidade de visualizações: 7414 vezes |
|
O comando DDL CREATE TABLE do PostgreSQL é usado quando queremos criar uma nova tabela em uma determinada base de dados (e schema). Em geral criamos novas tabelas usando a ferramenta pgAdmin. No entanto, é importante conhecer e dominar este comando de forma a conseguirmos criar tabelas a partir da janela de Query do pgAdmin, do SQL Shell (psql) ou usando uma linguagem de programação. O comando DDL CREATE TABLE contém uma série de cláusulas opcionais. Muitas delas são abordadas nas dicas desta seção. Apenas o nome da tabela a ser criada é obrigatório. Veja o comando CREATE TABLE a seguir: CREATE TABLE produtos(); Este comando criará uma tabela vazia e sem nenhum campo no schema public da base de dados na qual estamos conectados no momento. É claro que uma tabela sem nenhum campo não possui nenhuma utilidade (a não ser que decidamos adicionar os campos mais tarde). Sendo assim, veja um comando CREATE TABLE que cria uma tabela chamada usuarios com os campos: id, nome, senha, data_cadastro: CREATE TABLE usuarios( id serial NOT NULL, nome varchar(20) NOT NULL, senha varchar(20) NOT NULL, data_cadastro date NOT NULL, PRIMARY KEY (id) ); Ao dispararmos o comando, o PostgreSQL nos exibirá a seguinte mensagem: NOTA: CREATE TABLE criará sequência implícita "usuarios_id_seq" para coluna serial "usuarios.id" NOTA: CREATE TABLE / PRIMARY KEY criará índice implícito "usuarios_pkey" na tabela "usuarios" Query returned successfully with no result in 121 ms. Isso é sinal de que a tabela foi criada com sucesso. Para verifirmos e exibirmos os dados da tabela recém-criada, podemos disparar o seguinte comando DML SELECT: SELECT column_name, data_type, is_nullable, character_maximum_length FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'usuarios'; Como resultado teremos: column_name data_type is_nullable character_maximum_length id integer NO nome character varying NO 20 senha character varying NO 20 data_cadastro date NO É importante termos em mente a mensagem de erro que o PostgreSQL exibirá quando tentamos criar uma tabela com um nome de uma já existente na mesma base de dados e schema: NOTA: CREATE TABLE criará sequência implícita "usuarios_id_seq1" para coluna serial "usuarios.id" ERRO: relação "usuarios" já existe ********** Error ********** ERRO: relação "usuarios" já existe SQL state: 42P07 CREATE TABLE IF NOT EXISTS usuarios( id serial NOT NULL, nome varchar(20) NOT NULL, senha varchar(20) NOT NULL, data_cadastro date NOT NULL, PRIMARY KEY (id) ); Agora o PostgreSQL trocará a mensagem de erro pela seguinte mensagem de advertência: NOTA: relação "usuarios" já existe, ignorando Query returned successfully with no result in 14 ms. |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de VisuAlg - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 1102 vezes |
|
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa VisuAlg que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Testar o tipo de um triângulo em VisuAlg"
var
// variáveis usadas na resolução do problema
lado_a, lado_b, lado_c: inteiro
inicio
// vamos ler o primeiro lado do triângulo
escreva("Informe o primeiro lado do triângulo: ")
leia(lado_a)
// vamos ler o segundo lado do triângulo
escreva("Informe o segundo lado do triângulo: ")
leia(lado_b)
// vamos ler o terceiro lado do triângulo
escreva("Informe o terceiro lado do triângulo: ")
leia(lado_c)
// os lados informados formam um triângulo?
se ((lado_a < (lado_b + lado_c)) e (lado_b < (lado_a + lado_c)) e
(lado_c < (lado_a + lado_b))) entao
// é um triângulo equilátero (todos os lados iguais)?
se ((lado_a = lado_b) e (lado_b = lado_c)) entao
escreval("O triângulo é equilátero")
senao
// é isósceles (dois lados iguais e um diferente)?
se ((lado_a = lado_b) ou (lado_a = lado_c) ou (lado_c = lado_b)) entao
escreval("O triângulo é isósceles")
senao
// é escaleno
escreval("O triângulo é escaleno")
fimse
fimse
senao
escreval("Os lados informados não formam um triângulo.")
fimse
fimalgoritmo
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporáriaQuantidade de visualizações: 10066 vezes |
|
Pergunta/Tarefa: Considere o seguinte trecho de código:
// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Ordem inicial: 6 3 90 1 54 7 12 32 9 4 Ordem invertida: 4 9 32 12 7 54 1 90 3 6 Veja a resolução comentada deste exercício usando Java console:
package estudos;
public class Estudos {
public static void main(String[] args) {
// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
// vamos mostar a ordem inicial dos elementos no vetor
System.out.print("Ordem inicial: ");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// vamos inverter a ordem dos elementos no array
int inicio = 0, fim = valores.length - 1;
while(inicio < fim){
temp = valores[inicio];
valores[inicio] = valores[fim];
valores[fim] = temp;
// incrementa e decrementa as variáveis de controle
inicio++;
fim--;
}
// vamos mostar a ordem invertida dos elementos do vetor
System.out.print("\nOrdem invertida: ");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
System.out.println();
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
C - Como escrever uma função C personalizada que copia os caracteres de uma string para outra string |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




