![]() |
|
|
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 |
||
|
||
|
|
||
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: 9352 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>
|
QGIS ::: PyQGIS API ::: Shapefiles, Camadas Vetoriais, Dados Vetoriais |
Como exibir todos os atributos das feições de uma camada vetorial no QGIS usando getFeatures() e attributes() da PyQGIS APIQuantidade de visualizações: 6570 vezes |
|
Nesta dica mostrarei como podemos acessar todos os atributos das feições (features) de uma camada vetorial no QGIS usando getFeatures() e attributes() do objeto QgsVectorLayer da PyQGIS API. Depois de carregar o shapefile contendo todos os municípios do Estado de Goiás, usei a getFeatures() para retornar um iterador QgsFeatureIterator que nos permite acessar as features individuais da camada. Então, de posse das feições individuais, nós usamos a função attributes() para retornar o QgsFeature correspondente e exibir seu conteúdo. Veja o código PyQGIS completo para o exemplo:
# vamos criar um novo objeto QgsVectorLayer com o local do nosso shapefile
camada = QgsVectorLayer("C:\\GO\\GO_Municipios_2022.shp",
"Municípios Estado de Goiás", "ogr")
# vamos testar se a camada é válida
if not camada.isValid():
print("Não foi possível carregar a camada %s" % camada.name())
else:
# vamos adicionar a camada à relação de camadas
QgsProject.instance().addMapLayer(camada)
# vamos obter as feições
feicoes = camada.getFeatures()
# agora percorremos as feições e obtemos os seus
# atributos, todos de uma só vez ou individual,
# como mostro em outras dicas
for f in feicoes:
# vamos obter os atributos desta feição
atributos = f.attributes()
# e mostramos o resultado
print(atributos)
Ao rodar esse código PyQGIS no QGIS nós teremos o seguinte resultado: ['5200050', 'Abadia de Goiás', 'GO', 143.357] ['5200100', 'Abadiânia', 'GO', 1044.555] ['5200134', 'Acreúna', 'GO', 1566.742] ['5200159', 'Adelândia', 'GO', 115.385] ['5200175', 'Água Fria de Goiás', 'GO', 2023.636] ['5200209', 'Água Limpa', 'GO', 458.836] ['5200258', 'Águas Lindas de Goiás', 'GO', 191.817] ['5200308', 'Alexânia', 'GO', 846.876] ['5200506', 'Aloândia', 'GO', 102.094] ['5200555', 'Alto Horizonte', 'GO', 500.342] ['5200605', 'Alto Paraíso de Goiás', 'GO', 2594.998] ['5200803', 'Alvorada do Norte', 'GO', 1268.347] ['5200829', 'Amaralina', 'GO', 1343.742] ['5200852', 'Americano do Brasil', 'GO', 133.834] ['5200902', 'Amorinópolis', 'GO', 406.93] ['5201108', 'Anápolis', 'GO', 935.672] ['5201207', 'Anhanguera', 'GO', 55.569] ['5201306', 'Anicuns', 'GO', 976.038] ['5201405', 'Aparecida de Goiânia', 'GO', 279.954] ['5201454', 'Aparecida do Rio Doce', 'GO', 603.254] ['5201504', 'Aporé', 'GO', 2899.237] ['5201603', 'Araçu', 'GO', 149.776] ['5201702', 'Aragarças', 'GO', 661.677] ['5201801', 'Aragoiânia', 'GO', 218.125] ['5202155', 'Araguapaz', 'GO', 2188.1] ['5202353', 'Arenópolis', 'GO', 1075.535] ['5202502', 'Aruanã', 'GO', 3054.773] ['5202601', 'Aurilândia', 'GO', 565.514] ['5202809', 'Avelinópolis', 'GO', 170.228] ['5203104', 'Baliza', 'GO', 1780.173] ['5203203', 'Barro Alto', 'GO', 1080.268] ['5203302', 'Bela Vista de Goiás', 'GO', 1274.034] ['5203401', 'Bom Jardim de Goiás', 'GO', 1901.137] ['5203500', 'Bom Jesus de Goiás', 'GO', 1405.605] ['5203559', 'Bonfinópolis', 'GO', 121.915] ['5203575', 'Bonópolis', 'GO', 1635.319] ['5203609', 'Brazabrantes', 'GO', 125.326] ['5203807', 'Britânia', 'GO', 1458.459] ['5203906', 'Buriti Alegre', 'GO', 901.932] ['5203939', 'Buriti de Goiás', 'GO', 202.576] ['5203962', 'Buritinópolis', 'GO', 246.075] ['5204003', 'Cabeceiras', 'GO', 1126.434] ['5204102', 'Cachoeira Alta', 'GO', 1657.226] ['5204201', 'Cachoeira de Goiás', 'GO', 424.49] ['5204250', 'Cachoeira Dourada', 'GO', 528.281] ['5204300', 'Caçu', 'GO', 2254.34] ['5204409', 'Caiapônia', 'GO', 8627.961] ['5204508', 'Caldas Novas', 'GO', 1608.523] ['5204557', 'Caldazinha', 'GO', 251.72] ['5204607', 'Campestre de Goiás', 'GO', 272.734] ['5204656', 'Campinaçu', 'GO', 1978.386] ['5204706', 'Campinorte', 'GO', 1064.541] ['5204805', 'Campo Alegre de Goiás', 'GO', 2450.111] ['5204854', 'Campo Limpo de Goiás', 'GO', 156.113] ['5204904', 'Campos Belos', 'GO', 735.126] ['5204953', 'Campos Verdes', 'GO', 443.125] ['5205000', 'Carmo do Rio Verde', 'GO', 419.821] ['5205059', 'Castelândia', 'GO', 299.228] ['5205109', 'Catalão', 'GO', 3826.37] ['5205208', 'Caturaí', 'GO', 205.065] ['5205307', 'Cavalcante', 'GO', 6948.78] ['5205406', 'Ceres', 'GO', 213.07] ['5205455', 'Cezarina', 'GO', 417.08] ['5205471', 'Chapadão do Céu', 'GO', 2184.076] ['5205497', 'Cidade Ocidental', 'GO', 389.984] ['5205513', 'Cocalzinho de Goiás', 'GO', 1785.339] ['5205521', 'Colinas do Sul', 'GO', 1707.519] ['5205703', 'Córrego do Ouro', 'GO', 458.077] ['5205802', 'Corumbá de Goiás', 'GO', 1064.833] ['5205901', 'Corumbaíba', 'GO', 1864.277] ['5206206', 'Cristalina', 'GO', 6153.921] ['5206305', 'Cristianópolis', 'GO', 221.624] ['5206404', 'Crixás', 'GO', 4673.039] ['5206503', 'Cromínia', 'GO', 364.918] ['5206602', 'Cumari', 'GO', 568.365] ['5206701', 'Damianópolis', 'GO', 417.625] ['5206800', 'Damolândia', 'GO', 86.057] ['5206909', 'Davinópolis', 'GO', 482.857] ['5207105', 'Diorama', 'GO', 685.382] ['5207253', 'Doverlândia', 'GO', 3227.558] ['5207352', 'Edealina', 'GO', 598.218] ['5207402', 'Edéia', 'GO', 1469.099] ['5207501', 'Estrela do Norte', 'GO', 301.139] ['5207535', 'Faina', 'GO', 1949.685] ['5207600', 'Fazenda Nova', 'GO', 1279.107] ['5207808', 'Firminópolis', 'GO', 422.34] ['5207907', 'Flores de Goiás', 'GO', 3695.106] ['5208004', 'Formosa', 'GO', 5804.292] ['5208103', 'Formoso', 'GO', 843.42] ['5208152', 'Gameleira de Goiás', 'GO', 588.328] ['5208301', 'Divinópolis de Goiás', 'GO', 828.874] ['5208400', 'Goianápolis', 'GO', 166.642] ['5208509', 'Goiandira', 'GO', 569.917] ['5208608', 'Goianésia', 'GO', 1547.319] ['5208707', 'Goiânia', 'GO', 729.296] ['5208806', 'Goianira', 'GO', 213.772] ['5208905', 'Goiás', 'GO', 3108.423] ['5209101', 'Goiatuba', 'GO', 2479.591] ['5209150', 'Gouvelândia', 'GO', 827.373] ['5209200', 'Guapó', 'GO', 514.178] ['5209291', 'Guaraíta', 'GO', 205.533] ['5209408', 'Guarani de Goiás', 'GO', 1221.054] ['5209457', 'Guarinos', 'GO', 593.188] ['5209606', 'Heitoraí', 'GO', 228.615] ['5209705', 'Hidrolândia', 'GO', 952.122] ['5209804', 'Hidrolina', 'GO', 583.756] ['5209903', 'Iaciara', 'GO', 1547.183] ['5209937', 'Inaciolândia', 'GO', 689.201] ['5209952', 'Indiara', 'GO', 955.419] ['5210000', 'Inhumas', 'GO', 614.887] ['5210109', 'Ipameri', 'GO', 4382.863] ['5210158', 'Ipiranga de Goiás', 'GO', 244.209] ['5210208', 'Iporá', 'GO', 1027.249] ['5210307', 'Israelândia', 'GO', 579.19] ['5210406', 'Itaberaí', 'GO', 1461.916] ['5210562', 'Itaguari', 'GO', 142.652] ['5210604', 'Itaguaru', 'GO', 241.029] ['5210802', 'Itajá', 'GO', 2082.736] ['5210901', 'Itapaci', 'GO', 952.998] ['5211008', 'Itapirapuã', 'GO', 2047.874] ['5211206', 'Itapuranga', 'GO', 1281.404] ['5211305', 'Itarumã', 'GO', 3437.367] ['5211404', 'Itauçu', 'GO', 383.066] ['5211503', 'Itumbiara', 'GO', 2447.014] ['5211602', 'Ivolândia', 'GO', 1260.841] ['5211701', 'Jandaia', 'GO', 863.087] ['5211800', 'Jaraguá', 'GO', 1848.947] ['5211909', 'Jataí', 'GO', 7178.792] ['5212006', 'Jaupaci', 'GO', 528.783] ['5212055', 'Jesúpolis', 'GO', 115.211] ['5212105', 'Joviânia', 'GO', 446.258] ['5212204', 'Jussara', 'GO', 4092.34] ['5212253', 'Lagoa Santa', 'GO', 463.289] ['5212303', 'Leopoldo de Bulhões', 'GO', 476.137] ['5212501', 'Luziânia', 'GO', 3962.107] ['5212600', 'Mairipotaba', 'GO', 468.029] ['5212709', 'Mambaí', 'GO', 858.27] ['5212808', 'Mara Rosa', 'GO', 1695.463] ['5212907', 'Marzagão', 'GO', 225.518] ['5212956', 'Matrinchã', 'GO', 1150.503] ['5213004', 'Maurilândia', 'GO', 389.959] ['5213053', 'Mimoso de Goiás', 'GO', 1380.701] ['5213087', 'Minaçu', 'GO', 2854.137] ['5213103', 'Mineiros', 'GO', 9042.844] ['5213400', 'Moiporá', 'GO', 452.314] ['5213509', 'Monte Alegre de Goiás', 'GO', 3119.86] ['5213707', 'Montes Claros de Goiás', 'GO', 2900.397] ['5213756', 'Montividiu', 'GO', 1869.581] ['5213772', 'Montividiu do Norte', 'GO', 1337.232] ['5213806', 'Morrinhos', 'GO', 2846.299] ['5213855', 'Morro Agudo de Goiás', 'GO', 282.333] ['5213905', 'Mossâmedes', 'GO', 684.882] ['5214002', 'Mozarlândia', 'GO', 1738.516] ['5214051', 'Mundo Novo', 'GO', 2141.534] ['5214101', 'Mutunópolis', 'GO', 955.069] ['5214408', 'Nazário', 'GO', 281.147] ['5214507', 'Nerópolis', 'GO', 204.713] ['5214606', 'Niquelândia', 'GO', 9846.293] ['5214705', 'Nova América', 'GO', 209.432] ['5214804', 'Nova Aurora', 'GO', 307.335] ['5214838', 'Nova Crixás', 'GO', 7308.681] ['5214861', 'Nova Glória', 'GO', 411.753] ['5214879', 'Nova Iguaçu de Goiás', 'GO', 625.625] ['5214903', 'Nova Roma', 'GO', 2136.725] ['5215009', 'Nova Veneza', 'GO', 122.354] ['5215207', 'Novo Brasil', 'GO', 649.349] ['5215231', 'Novo Gama', 'GO', 192.285] ['5215256', 'Novo Planalto', 'GO', 1254.491] ['5215306', 'Orizona', 'GO', 1971.265] ['5215405', 'Ouro Verde de Goiás', 'GO', 208.804] ['5215504', 'Ouvidor', 'GO', 411.318] ['5215603', 'Padre Bernardo', 'GO', 3142.615] ['5215652', 'Palestina de Goiás', 'GO', 1318.047] ['5215702', 'Palmeiras de Goiás', 'GO', 1537.196] ['5215801', 'Palmelo', 'GO', 59.809] ['5215900', 'Palminópolis', 'GO', 393.326] ['5216007', 'Panamá', 'GO', 432.204] ['5216304', 'Paranaiguara', 'GO', 1153.415] ['5216403', 'Paraúna', 'GO', 3786.578] ['5216452', 'Perolândia', 'GO', 1033.657] ['5216809', 'Petrolina de Goiás', 'GO', 530.49] ['5216908', 'Pilar de Goiás', 'GO', 906.048] ['5217104', 'Piracanjuba', 'GO', 2374.232] ['5217203', 'Piranhas', 'GO', 2045.088] ['5217302', 'Pirenópolis', 'GO', 2200.369] ['5217401', 'Pires do Rio', 'GO', 1077.641] ['5217609', 'Planaltina', 'GO', 2558.924] ['5217708', 'Pontalina', 'GO', 1434.289] ['5218003', 'Porangatu', 'GO', 4825.287] ['5218052', 'Porteirão', 'GO', 606.262] ['5218102', 'Portelândia', 'GO', 553.411] ['5218300', 'Posse', 'GO', 2076.99] ['5218391', 'Professor Jamil', 'GO', 356.292] ['5218508', 'Quirinópolis', 'GO', 3786.026] ['5218607', 'Rialma', 'GO', 268.291] ['5218706', 'Rianápolis', 'GO', 157.379] ['5218789', 'Rio Quente', 'GO', 244.655] ['5218805', 'Rio Verde', 'GO', 8374.255] ['5218904', 'Rubiataba', 'GO', 750.659] ['5219001', 'Sanclerlândia', 'GO', 509.402] ['5219100', 'Santa Bárbara de Goiás', 'GO', 140.957] ['5219209', 'Santa Cruz de Goiás', 'GO', 1109.007] ['5219258', 'Santa Fé de Goiás', 'GO', 1164.186] ['5219308', 'Santa Helena de Goiás', 'GO', 1142.337] ['5219357', 'Santa Isabel', 'GO', 812.756] ['5219407', 'Santa Rita do Araguaia', 'GO', 1357.197] ['5219456', 'Santa Rita do Novo Destino', 'GO', 970.448] ['5219506', 'Santa Rosa de Goiás', 'GO', 166.44] ['5219605', 'Santa Tereza de Goiás', 'GO', 789.544] ['5219704', 'Santa Terezinha de Goiás', 'GO', 1206.6] ['5219712', 'Santo Antônio da Barra', 'GO', 450.336] ['5219738', 'Santo Antônio de Goiás', 'GO', 135.022] ['5219753', 'Santo Antônio do Descoberto', 'GO', 943.948] ['5219803', 'São Domingos', 'GO', 3335.999] ['5219902', 'São Francisco de Goiás', 'GO', 416.535] ['5220009', "São João d'Aliança", 'GO', 3334.455] ['5220058', 'São João da Paraúna', 'GO', 286.979] ['5220108', 'São Luís de Montes Belos', 'GO', 829.62] ['5220157', 'São Luiz do Norte', 'GO', 583.832] ['5220207', 'São Miguel do Araguaia', 'GO', 6150.179] ['5220264', 'São Miguel do Passa Quatro', 'GO', 537.347] ['5220280', 'São Patrício', 'GO', 172.763] ['5220405', 'São Simão', 'GO', 415.015] ['5220454', 'Senador Canedo', 'GO', 247.005] ['5220504', 'Serranópolis', 'GO', 5521.774] ['5220603', 'Silvânia', 'GO', 2349.924] ['5220686', 'Simolândia', 'GO', 346.811] ['5220702', "Sítio d'Abadia", 'GO', 1611.851] ['5221007', 'Taquaral de Goiás', 'GO', 205.665] ['5221080', 'Teresina de Goiás', 'GO', 784.793] ['5221197', 'Terezópolis de Goiás', 'GO', 107.407] ['5221304', 'Três Ranchos', 'GO', 284.034] ['5221403', 'Trindade', 'GO', 712.69] ['5221452', 'Trombas', 'GO', 802.905] ['5221502', 'Turvânia', 'GO', 482.317] ['5221551', 'Turvelândia', 'GO', 935.659] ['5221577', 'Uirapuru', 'GO', 1154.305] ['5221601', 'Uruaçu', 'GO', 2142.484] ['5221700', 'Uruana', 'GO', 522.904] ['5221809', 'Urutaí', 'GO', 623.821] ['5221858', 'Valparaíso de Goiás', 'GO', 61.488] ['5221908', 'Varjão', 'GO', 517.402] ['5222005', 'Vianópolis', 'GO', 954.115] ['5222054', 'Vicentinópolis', 'GO', 733.794] ['5222203', 'Vila Boa', 'GO', 1052.593] ['5222302', 'Vila Propício', 'GO', 2181.593] Note que mostrei todos os atributos das 246 feições (features) do meu shapefile. E cada feição representa um dos municípios do Estado de Goiás. Veja que os atributos são o código do município, seu nome, a sigla do estado e sua área (em metros quadrados). Deixei a listagem completa para facilitar alguém que queira fazer trabalhos relacionados a isso. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Como calcular o restante de um salário após o pagamento de duas contas com jurosQuantidade de visualizações: 1400 vezes |
|
Pergunta/Tarefa: Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia. Sua saída deverá ser parecida com: Informe o salário: 1350 Valor da primeira conta: 140 Valor da segunda conta: 300 Total das contas sem juros: 440.0 Total dos juros: 8.8 Total das contas com juros: 448.8 Sobra do salário: 901.2 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
double salario, conta1, conta2, total_contas;
double total_juros, total_contas_com_juros;
double total_contas_sem_juros, sobra_salario;
// vamos pedir que o usuário informe o valor do salário e das duas contas
printf("Informe o salário: ");
scanf("%lf", &salario);
printf("Valor da primeira conta: ");
scanf("%lf", &conta1);
printf("Valor da segunda conta: ");
scanf("%lf", &conta2);
// total a ser pago nas duas contas sem os juros
total_contas = conta1 + conta2;
// calcula os juros
total_juros = total_contas * 0.02;
// total a ser pago com juros
total_contas_com_juros = total_contas + total_juros;
// sobra do salário
sobra_salario = salario - total_contas_com_juros;
// mostra os resultados
printf("\nTotal das contas sem juros: %lf", total_contas);
printf("\nTotal dos juros: %lf", total_juros);
printf("\nTotal das contas com juros: %lf", total_contas_com_juros);
printf("\nSobra do salário: %lf", sobra_salario);
printf("\n\n");
system("PAUSE");
return 0;
}
|
JavaScript ::: DOM (Document Object Model) ::: document Object |
Como usar o método getElementById() do objeto document para localizar um elemento HTML baseado em seu id usando JavaScriptQuantidade de visualizações: 13759 vezes |
O método getElementById() do objeto document é usado quando queremos localizar e retornar um elemento HTML baseado no valor de sua propriedade id. Veja um exemplo:
<html>
<head>
<title>Estudos JavaScript</title>
<script type="text/javascript">
function localizarElemento(){
// vamos localizar o elemento com o id "aviso"
var elem = document.getElementById("aviso");
// o elemento foi localizado
if(elem != null){
// vamos definir o conteúdo do elemento encontrado
elem.innerHTML = "Vejam este texto.";
}
else{
window.alert("O elemento HTML pesquisado não foi encontrado.");
}
}
</script>
</head>
<body>
<button onclick="localizarElemento()">Localizar DIV</button>
<div id="aviso"></div>
</body>
</html>
Execute o exemplo e clique no botão. Você verá que o texto do elemento div com o id "aviso" é definido para "Vejam este texto.". Note que, se o elemento não for encontrado, o retorno do método getElementById() é null na maioria dos browsers. Há algumas observações interessantes em relação ao método getElementById() do objeto document: a) Se o valor da propriedade id pertencer a uma coleção, ou seja, se houver mais de um elemento HTML com o mesmo id, o método retornará o primeiro elemento na coleção. b) No Firefox, Opera, Google Chrome, Safari e Internet Explorer (IE) a partir da versão 8, o método getElementById() é case-sensitive (sensível a maiúsculas e minúsculas) em relação ao valor da propriedade id. Nas versões anteriores do IE isso não acontecia. |
Python ::: Dicas & Truques ::: Lista (List) |
Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambdaQuantidade de visualizações: 1120 vezes |
|
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python. Veja o código completo para o exemplo:
# método usado para ordenar a lista de acordo com a soma
# de seus dígitos
def ordenar(vetor):
return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-"))
# função principal do programa
def main():
# vamos criar uma lista de inteiros
valores = [21, 10, 8, 32, 70, 41, 40, 11]
# vamos exibir a lista original
print("Lista na ordem original: {0}".format(valores))
# agora vamos ordenar de acordo com a soma dos dígitos
lista_ordenada = ordenar(valores)
print("Lista ordenada: {0}".format(lista_ordenada))
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11] Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8] |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





