![]() |
|
|
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 Python |
||
|
||
|
|
||
Python ::: PyQt GUI Toolkit ::: QPushButton |
Como criar um botão em Python PyQt usando a classe QPushButtonQuantidade de visualizações: 1458 vezes |
Os botões QPushButton são os controles mais básicos e comuns em aplicações GUI PyQt. Eles são criados a partir da classe QPushButton. Veja a sua posição na hierarquia de classes dos PyQt:
QObject, QPaintDevice
QWidget
QAbstractButton
QPushButton
QCommandLinkButton
Veja um trecho de código no qual criamos um botão QPushButton e o colocamos em uma janela QWidget:
# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
# método que mostrará a janela principal
def mostrar_janela_principal():
# cria uma instância da classe QApplication
app = QApplication(sys.argv)
# criamos a janela principal
janela = QWidget()
# definimos o título da janela
janela.setWindowTitle("Cadastro de Clientes")
# definimos as coordenadas e as dimensões da janela
janela.setGeometry(100, 100, 500, 300)
# vamos criar um botão QPushButton
botao = QPushButton("Cadastrar", janela)
# definimos a localização do botão
botao.move(10, 10)
# tornamos a janela visível
janela.show()
# e executamos a aplicação
sys.exit(app.exec())
if __name__== "__main__":
mostrar_janela_principal()
Ao executar este código Python PyQt nós teremos o seguinte resultado: ![]() |
JavaScript ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em JavaScript dados dois pontos no plano cartesianoQuantidade de visualizações: 2110 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem JavaScript que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// x e y do primeiro ponto
var x1 = 3;
var y1 = 6;
// x e y do segundo ponto
var x2 = 9;
var y2 = 10;
var m = (y2 - y1) / (x2 - x1);
// mostramos o resultado
document.writeln("O coeficiente angular é: " + m);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O coeficiente angular é: 0.6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// x e y do primeiro ponto
var x1 = 3;
var y1 = 6;
// x e y do segundo ponto
var x2 = 9;
var y2 = 10;
// vamos obter o comprimento do cateto oposto
var cateto_oposto = y2 - y1;
// e agora o cateto adjascente
var cateto_adjascente = x2 - x1;
// vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
// (em radianos, não se esqueça)
var tetha = Math.atan2(cateto_oposto, cateto_adjascente);
// e finalmente usamos a tangente desse ângulo para calcular
// o coeficiente angular
var tangente = Math.tan(tetha);
// mostramos o resultado
document.writeln("O coeficiente angular é: " + tangente);
</script>
</body>
</html>
Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como criar a janela principal de uma aplicação Python PyQt usando a classe QMainWindowQuantidade de visualizações: 1763 vezes |
|
Em geral toda aplicação GUI, ou seja, uma aplicação de interface visual, rodando no Window, Linux, MAC, etc, possui uma janela principal. No PyQt tal janela é criada como uma instância da classe QMainWindow. Veja a posição desta classe na hierarquia de classes do PyQt:
QObject, QPaintDevice
QWidget
QMainWindow
Uma janela QMainWindow possui o seu próprio layout, no qual podemos adicionar uma barra de ferramentas QToolBar, um QDockWidget (que serve para controles que "grudam" em lados diferentes da tela), uma barra de menus QMenuBar e uma barra de status QStatusBar. O layout oferecido pela classe QMainWindow possui uma área central que pode ser ocupada por qualquer tipo de controle visual. É nessa área central que podemos colocar outros tipos de gerenciadores de layouts, que servirão como containers para os componentes visuais da aplicação. Veja uma aplicação PyQt completa na qual temos uma janela principal QMainWindow e um botão QPushButton. Observe como tiramos proveito da programação orientada em Python para criar uma classe JanelaPrincipal que herda de QMainWindow:
# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
# vamos criar uma classe que herda de QMainWindow
class JanelaPrincipal(QMainWindow):
# construtor da classe
def __init__(self):
super().__init__()
# definimos o título da janela
self.setWindowTitle("Cadastro de Produtos")
# vamos criar um botão QPushButton
botao = QPushButton("Novo Produto")
# definimos este botão como o controle central
# da janela principal
self.setCentralWidget(botao)
if __name__== "__main__":
# cria a aplicação
app = QApplication(sys.argv)
# cria a janela principal e a coloca visível
janela_principal = JanelaPrincipal()
janela_principal.show()
# executa a aplicação
app.exec()
|
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo uma linha de cada vez usando a função fgets() da linguagem CQuantidade de visualizações: 29264 vezes |
A função fgets(), disponível no header cstdio ou stdio.h, é usada para ler caracteres de um arquivo e armazená-los em um vetor de caracteres. Esta função recebe três argumentos. Veja:char *fgets(char *buffer, int num, FILE *file); No exemplo abaixo usamos um laço while() para ler o conteúdo até que o final de arquivo EOF seja encontrado. Desta forma, como sabemos que cada linha no arquivo termina com um marcador de fim de linha, fica fácil ler cada linha. É claro que se a linha sendo lida for maior que o tamanho do buffer, o efeito não será conseguido. Observe ainda que cada linha lida contém o caractere de fim de linha anexado a ela:
#include <stdio.h>
#include <stdlib.h>
const int TAM_BUFFER = 255; // quantidade de caracteres
// a serem lidos no buffer de cada vez
int main(int argc, char *argv[])
{
FILE *arquivo = fopen("c:\\testes.txt", "r");
char buffer[TAM_BUFFER];
// testa se o arquivo foi aberto com sucesso
if(arquivo != NULL){
// vamos usar um laço para ler o conteúdo do arquivo
// e armazenar no buffer
while(fgets(buffer, TAM_BUFFER, arquivo)){
printf("%s\n", buffer);
}
fclose(arquivo); // libera o ponteiro para o arquivo
}
else{
printf("Nao foi possivel abrir o arquivo.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe ArrayQuantidade de visualizações: 7834 vezes |
|
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
' cria um array de inteiros
Dim valores() As Integer = {1, 2, 3, 4, 5}
' exibe os valores do primeiro array
For Each valor As Integer In valores
Console.WriteLine(valor)
Next
' cria um segundo array e copia os elementos
' do primeiro para o segundo
Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20}
valores.CopyTo(valores2, 0)
Console.WriteLine()
' exibe os valores do segundo array
For Each valor As Integer In valores2
Console.WriteLine(valor)
Next
Console.WriteLine("\nPressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: 1 2 3 4 5 1 2 3 4 5 15 20 |
Desafios, Exercícios e Algoritmos Resolvidos de VB.NET |
Veja mais Dicas e truques de VB.NET |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






