![]() |
|
|
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 - Fundações |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanasQuantidade de visualizações: 7455 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias; d) A idade da pessoa em semanas. Sua saída deverá ser parecida com: Informe o ano de seu nascimento: 1985 Informe o ano atual: 2023 A idade em anos é: 38 A idade em meses é: 456 A idade em dias é: 13680 A idade em semanas é: 1976 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler o ano de nascimento
System.out.print("Informe o ano de seu nascimento: ");
int ano_nascimento = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o ano atual: ");
int ano_atual = Integer.parseInt(entrada.nextLine());
// calcula a idade em anos
int idade_anos = ano_atual - ano_nascimento;
System.out.println("A idade em anos é: " + idade_anos);
// calcula a idade em meses
int idade_meses = idade_anos * 12;
System.out.println("A idade em meses é: " + idade_meses);
// calcula a idade em dias
int idade_dias = idade_anos * 12 * 30;
System.out.println("A idade em dias é: " + idade_dias);
// calcula a idade em semanas
int idade_semanas = idade_anos * 52;
System.out.println("A idade em semanas é: " + idade_semanas);
}
}
|
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como converter um Set em um Array JavaScript usando a função Array.from()Quantidade de visualizações: 1517 vezes |
|
Em algumas situações nós gostaríamos de tratar um objeto Set da linguagem JavaScript como se ele fosse um Array, ou seja, um vetor (matriz de apenas uma linha e várias colunas). Para estes casos nós podemos usar o método Array.from(), adicionado à linguagem JavaScript na revisão ECMAScript 2015 (ES6 ou ECMAScript 6). Este método recebe vários objetos, entre eles Map e Set, e retorna um array. Assim, veja um trecho de código no qual criamos um Set com três elementos, usamos o método Array.from() para obter um Array a partir dele e, em seguida, percorremos e exibimos os elementos do array. Eis o código completo para o exemplo:
<!doctype html>
<html>
<head>
<title>O objeto Set do JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos criar um novo conjunto contendo
// 3 linguagens de programação
var linguagens = new Set(["Java", "PHP", "Delphi"]);
// agora vamos converter este Set em um Array
var vetor = Array.from(linguagens);
// vamos percorrer os elementos do vetor
for(var i = 0; i < vetor.length; i++){
document.writeln(vetor[i] + "<br>");
}
</script>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Java PHP Delphi |
Revit Python Shell ::: Dicas & Truques ::: Grupos - Groups |
Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python ShellQuantidade de visualizações: 570 vezes |
|
O código que apresento nesta dica mostra como podemos pedir para o usuário selecionar um grupo na área de desenho do Revit e, em seguida, usando a API do Revit e o Revit Python Shell, criar uma cópia do grupo escolhido e posicioná-la em um ponto escolhido pelo usuário. Em realidade, este código é o mesmo apresentado no tutorial "Como criar seu primeiro plug-in no Revit usando a Revit C# API" da documentação oficial fornecida pela Autodesk. O que fiz foi modificar o código para usar Revit Python Shell em vez de C#, como mostrado no tutorial. O primeiro passo é importar o objeto ObjectType a partir do módulo Autodesk.Revit.UI.Selection. Em seguida nós usamos __window__.Hide() para que o foco vá para a janela do Revit. Isso é necessário para que o usuário possa selecionar um grupo usando uidoc.Selection.PickObject. Note que coloquei uma mensagem TaskDialog.Show() chamando a atenção do usuário para esta tarefa. Como a função PickObject() retorna um objeto Reference, nós precisamos fornecer essa referência para a função doc.GetElement() e assim obter o elemento real que queremos manipular. Então, o passo seguinte é pedir para o usuário indicar um ponto na tela de desenho do Revit usando a função uidoc.Selection.PickPoint(). Esta função vai nos retornar um objeto da classe XYZ da API do Revit. Depois que o usuário selecionar o grupo e o ponto, nós criamos uma nova transação usando Transaction(doc, "Copiar grupo") e a iniciamos com uma chamada à sua função Start(). Então, para concluir, basta uma chamada à doc.Create.PlaceGroup(ponto, grupo.GroupType) e verificar o resultado na tela de desenho do Revit. Veja o código Revit Python Shell completo para o exemplo:
# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType
# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()
# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
TaskDialog.Show("Aviso", "Selecione um grupo")
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um grupo")
# obtemos o grupo a partir de sua referência usando a função
# GetElement() do objeto Document
grupo = doc.GetElement(selecionado)
# vamos pedir para o usuário selecionar um ponto na área de
# desenho do Revit
TaskDialog.Show("Aviso", "Selecione um ponto")
ponto = uidoc.Selection.PickPoint("Selecione um ponto para posicionar o grupo")
# criamos uma nova transação e posicionamos a cópia do
# grupo nas coordenadas indicadas pelo usuário
transacao = Transaction(doc, "Copiar grupo")
# iniciamos a transação
transacao.Start()
# copiamos o grupo selecionado pelo usuário e o colocamos no
# ponto indicado
doc.Create.PlaceGroup(ponto, grupo.GroupType)
# fechamos a transação
transacao.Commit()
# e mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso")
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente
__window__.Show()
__window__.Topmost = True
|
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como criar módulos de código reutilizável em PythonQuantidade de visualizações: 9113 vezes |
|
Uma das características da boa programação é reutilizar ao máximo códigos bem testados e independentes. A criação de módulos de funções e definições de classes em Python pode ser feita de forma bem simples. 1) Comece criando um arquivo chamado funcoes.py com o seguinte conteúdo: """ Sou um módulo Python. A única funcionalidade que ofereço é uma função que soma dois números """ def somar(num1, num2): return (num1 + num2) 2) Salve este arquivo no diretório atual de sua aplicação e vamos importá-lo. Para isso escreva um novo programa. Uma sugestão é:
"""
Sou o programa principal e vou importar
o módulo que contém a função somar
"""
import funcoes
def main():
print(funcoes.somar(3, 5))
if __name__== "__main__":
main()
3) Execute o programa e veja o resultado. Para que este programa funcione corretamente, é preciso que o módulo a ser importado esteja no diretório atual ou em qualquer um dos diretórios pesquisados pelo interpretador Python, geralmente representados pelo variável de ambiente PYTHONPATH. Porém, há situações que queremos agrupar nossos módulos em um diretório dentro do diretório principal da aplicação. O exemplo abaixo mostra como importar um módulo localizado no diretório "lib" da aplicação atual: """ Sou o programa principal e vou importar o módulo que contém a função somar() """ # importa o módulo sys import sys # acrescenta o diretório lib na variável # de ambiente PYTHONPATH sys.path.append(sys.path[0] + '\\lib') # pode importar funcoes no diretório lib import funcoes # pode chamar o método somar agora def main(): print(funcoes.somar(3, 5)) if __name__== "__main__": main() |
Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython |
Como usar a classe wx.Frame para criar um objeto window top-level (janelas top-level) em aplicações wxPythonQuantidade de visualizações: 9329 vezes |
|
Um objeto window top-level é um widget (geralmente um frame) que não está contido em nenhum outro widget na aplicação. É o que o usuário geralmente aponta e diz "Este é o programa". O objeto window top-level é geralmente a janela principal de sua aplicação e contém widgets (controles) e objetos de interface com os quais o usuário interage. Desta forma, a aplicação é encerrada quando todas as janelas top-level são fechadas. Sua aplicação deve ter no mínimo um objeto window top-level. O objeto window top-level geralmente é uma subclasse de wx.Frame, embora ele possa também ser uma subclasse de wx.Dialog. Na maioria das vezes, definiremos subclasses customizadas de wx.Frame para usar em nossas aplicações. Contudo, há um grande número de subclasses pré-definidas de wx.Dialog que fornecem muitos dos diálogos típicos que poderíamos encontrar em uma aplicação. A classe wx.Frame é derivada de: wx.TopLevelWindow, wx.Window, wx.EvtHandler e wx.Object. |
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 |



