![]() |
|
|
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 Hidrostática |
||
|
||
|
|
||
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
PHP para iniciantes - Como usar o laço while em PHPQuantidade de visualizações: 13668 vezes |
O laço while é usado quando queremos que um bloco de instruções seja executado ENQUANTO uma condição for verdadeira (true). Veja um trecho de código exemplificando isso:
<?
$valor = 1;
while($valor <= 10){
echo $valor . "<br>";
$valor++;
}
?>
Este trecho de código exibe os números de 1 à 10 na página. Veja agora o mesmo trecho de código, desta vez contando de 10 à 1:
<?
$valor = 10;
while($valor >= 1){
echo $valor . "<br>";
$valor--;
}
?>
Lembre-se de que a condição testada em um laço while deve resultar em um valor boolean (true ou false). O trecho de código seguinte deixa isso mais claro:
<?
$continuar = true;
$valor = 1;
while($continuar){
echo $valor . "<br>";
$valor++;
if($valor > 10)
$continuar = false; // pára o laço
}
?>
Para finalizar, lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada na primeira iteração já resultar false, o fluxo de código é transferido para a primeira instrução após o laço. |
Python ::: Estruturas de Dados ::: Lista Ligada Simples |
Como excluir um nó no final de uma lista encadeada simples em PythonQuantidade de visualizações: 1563 vezes |
|
Nesta dica mostrarei como podemos escrever um método remover_final() que remove e retorna o nó no final de uma lista encadeada simples em Python, ou seja, excluí o último nó da lista. É importante observar que o método exclui o último nó e o retorna completo, inclui o valor que está incluído nele. Se a lista estiver vazia o método retorna o valor None para indicar lista vazia. Vamos começar então com o código para a classe No da lista singularmente ligada (que salvei em um arquivo no_lista_singularmente_ligada.py):
# classe No para uma lista singularmente encadeada ou
# ligada - Singly Linked List
class No:
# construtor da classe No
def __init__(self, info, proximo):
self.info = info
self.proximo = proximo
# método que permite definir o conteúdo do nó
def set_info(self, info):
self.info = info
# método que permite obter a informação de um nó
def get_info(self):
return self.info
# método que permite definir o campo próximo deste nó
def set_proximo(self, proximo):
self.proximo = proximo
# método que permite obter o campo próximo deste nó
def get_proximo(self):
return self.proximo
# retorna True se este nó apontar para outro nó
def possui_proximo(self):
return self.proximo != None
Veja que o código para a classe Nó não possui muitas firulas. Temos apenas um campo info, que guardará o valor do nó, e um campo próximo, que aponta para o próximo nó da lista, ou null, se este for o único nó ou o último nó da lista ligada. Veja agora o código para a classe ListaLigadaSimples (lista_ligada_simples.py), com os métodos inserir_inicio(), remover_final() e exibir():
# importa a classe No
from no_lista_singularmente_ligada import No
# classe ListaLigadaSimples
class ListaLigadaSimples:
# construtor da classe
def __init__(self):
self.inicio = None # nó inicial da lista
# método que deleta um nó no final de uma lista ligada
# este método retorna o nó excluído
def remover_final(self):
# a lista está vazia?
if self.inicio == None:
return None
else:
# vamos excluir e retornar o primeiro nó da lista
removido = self.inicio
# a lista possui apenas um nó?
if self.inicio.get_proximo() == None:
# a lista agora ficará vazia
self.inicio = None
else:
# começamos apontando para o início da lista
no_atual = self.inicio
no_anterior = self.inicio
# enquanto o próximo do nó atual for diferente de nulo
while no_atual.get_proximo() != None:
# avançamos o nó anterior
no_anterior = no_atual
# saltamos para o próximo nó
no_atual = no_atual.get_proximo()
# na estamos na posição de exclusão
removido = no_atual
no_anterior.set_proximo(None)
# retorna o nó removido
return removido
# método que permite inserir um novo nó no início da lista
def inserir_inicio(self, info):
# cria um novo nó contendo a informação e que
# não aponta para nenhum outro nó
novo_no = No(info, None)
# a lista ainda está vazia?
if self.inicio == None:
# o novo nó será o início da lista
self.inicio = novo_no
else:
# o novo nó aponta para o início da lista
novo_no.set_proximo(self.inicio)
# o novo nó passa a ser o início da lista
self.inicio = novo_no
# método que permite exibir todos os nós da lista
# ligada simples (lista singularmente encadeada)
def exibir(self):
# aponta para o início da lista
no_atual = self.inicio
# enquanto o nó não for nulo
while no_atual != None:
# exibe o conteúdo do nó atual
print(no_atual.get_info())
# pula para o próximo nó
no_atual = no_atual.get_proximo()
E agora o código main() que insere alguns valores no início da nossa lista singularmente encadeada e testa o método remover_final():
# importa a classe ListaLigadaSimples
from lista_singularmente_ligada import ListaLigadaSimples
# método principal
def main():
# cria uma nova lista encadeada simples
lista = ListaLigadaSimples()
print("Insere o valor 12 no início da lista")
lista.inserir_inicio(12)
print("Conteúdo da lista: ")
lista.exibir()
print("Insere o valor 30 no início da lista")
lista.inserir_inicio(30)
print("Conteúdo da lista: ")
lista.exibir()
print("Insere o valor 27 no início da lista")
lista.inserir_inicio(27)
print("Conteúdo da lista: ")
lista.exibir()
print("Remove um nó no final da lista")
removido = lista.remover_final()
if removido == None:
print("Não foi possível remover. Lista vazia")
else:
print("Nó removido:", removido.get_info())
print("Conteúdo da lista: ")
lista.exibir()
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Insere o valor 12 no início da lista Conteúdo da lista: 12 Insere o valor 30 no início da lista Conteúdo da lista: 30 12 Insere o valor 27 no início da lista Conteúdo da lista: 27 30 12 Remove um nó no final da lista Nó removido: 12 Conteúdo da lista: 27 30 |
Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto de interseção de duas retas em Dart - Geometria Analítica e Álgebra Linear em DartQuantidade de visualizações: 2378 vezes |
|
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes. Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Dart. Mas, antes de vermos o código, dê uma olhada na seguinte imagem: ![]() Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta. Veja o código Dart completo que nos auxilia na resolução deste problema:
// Vamos importar a biblioteca dart:io
import "dart:io";
// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
double x, y;
// construtor da classe
Ponto(double x, double y){
this.x = x;
this.y = y;
}
}
void main(){
// vamos construir os quatro pontos
Ponto A = new Ponto(5, 7);
Ponto B = new Ponto(9, -4);
Ponto C = new Ponto(-8, 2);
Ponto D = new Ponto(11, 6);
// vamos obter a representação do segmento AB
double a1 = B.y - A.y;
double b1 = A.x - B.x;
double c1 = (a1 * A.x) + (b1 * A.y);
// vamos obter a representação do segmento CD
double a2 = D.y - C.y;
double b2 = C.x - D.x;
double c2 = (a2 * C.x) + (b2 * C.y);
// obtém o determinante
double determinante = (a1 * b2) - (a2 * b1);
// as duas retas são paralelas?
if(determinante == 0){
print("\nAs duas retas são paralelas.\n");
}
else{
// e construímos o ponto de intersecção
double x = ((b2 * c1) - (b1 * c2)) / determinante;
double y = ((a1 * c2) - (a2 * c1)) / determinante;
Ponto inters = new Ponto(x, y);
print("O ponto de interseção é: " +
"x = ${x.toStringAsFixed(2)}; y = ${y.toStringAsFixed(2)}");
}
}
Ao executar este código Dart nós teremos o seguinte resultado: O ponto de interseção é: x = 5,76; y = 4,90 De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercício Resolvido de Python - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitos - Apostila de Python BásicoQuantidade de visualizações: 3687 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que leia um inteiro na faixa 0-999 e mostre a soma de seus dígitos. Por exemplo, se o valor for 523, a soma de seus dígitos será 5 + 2 + 3 = 10. Lembre-se que você deverá usar apenas os operadores matemáticos e o operador de módulo (%). Seu programa deverá exibir a seguinte saída: Informe um valor de 0 até 999: 821 A soma dos dígitos é: 11 Veja a resolução comentada deste exercício usando Python console:
# função principal do programa
def main():
# vamos solicitar ao usuário que informe um valor inteiro
# na faixa 0 a 999 (incluindo)
valor = int(input("Informe um valor de 0 até 999: "))
# vamos verificar se o valor está na faixa permitida
if(valor < 0 or valor > 999):
print("Valor fora da faixa permitida")
else:
# vamos obter o terceiro dígito
terceiro = valor % 10
# obtém os digitos restantes
valor = valor // 10
# vamos obter o segundo dígito
segundo = valor % 10
# obtém os digitos restantes
valor = valor // 10
# vamos obter o primeiro dígito
primeiro = valor % 10
# obtém os digitos restantes
valor = valor // 10
# vamos obter a soma dos dígitos
soma = terceiro + segundo + primeiro
# vamos mostrar o resultado
print("A soma dos dígitos é:", soma)
if __name__== "__main__":
main()
|
CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo |
Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-imageQuantidade de visualizações: 9123 vezes |
|
Nesta dica mostrarei como usar a propriedade background-image do CSS (Cascading Style Sheet) para aplicar uma imagem de fundo às nossas páginas HTML. Note que, neste exemplo, não controlamos como e se a imagem de fundo será repetida. Em outras dicas dessa seção você aprenderá como isso pode ser feito. Veja o resultado desta dica na figura abaixo: ![]() E agora veja o código HTML completo para o exemplo, incluindo a marcação CSS:
<html>
<head>
<title>Estudando CSS</title>
<meta name="viewport" content="width=device-width,
initial-scale=1">
<style type="text/css">
body {background-image: url('fundo2.jpg')}
</style>
</head>
<body>
</body>
</html>
|
Veja mais Dicas e truques de CSS |
Dicas e truques de outras linguagens |
|
Python - Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço for |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






