![]() |
|
|
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 - Estruturas de Concreto Armado |
||
|
||
|
|
||
JavaScript ::: Dicas & Truques ::: Cookies |
Como verificar se cookies estão habilitados no navegador do usuário usando JavaScriptQuantidade de visualizações: 2 vezes |
|
Em algumas situações nós gostaríamos de checar se os cookies estão habilitados no browser do usuário antes de gravarmos alguma informação. Nesta dica eu mostro como isso pode ser feito. Note que tudo que precisamos fazer é criar um cookie temporário e tentar acessá-lo em seguida. Veja o código completo para o exemplo (incluindo a página HTML):
<!doctype html>
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos criar um cookie temporário
var cookieTemp = (new Date()).getTime() + '';
// colocamos o cookie como parte do documento
document.cookie = "cookieTemp=" + cookieTemp + "; path=/";
// o cookie existe?
if (document.cookie.indexOf(cookieTemp, 0) < 0){
window.alert("Os cookies não estão habilitados no seu navegador");
}
else{
window.alert("Os cookies estão habilitados no seu navegador");
}
</script>
</body>
</html>
Ao executar este código teremos o seguinte resultado: Os cookies estão habilitados no seu navegador. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteirosQuantidade de visualizações: 9541 vezes |
|
Exercício Resolvido de Java - Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteiros Pergunta/Tarefa: O máximo divisor comum ou MDC (mdc) entre dois ou mais números inteiros é o maior número inteiro que é fator de tais números. Por exemplo, os divisores comuns de 12 e 18 são 1, 2, 3 e 6, logo mdc(12, 18) = 6. A definição abrange qualquer número de termos, por exemplo mdc(10, 15, 25, 30) = 5. O cálculo do MDC entre x e y pode ser feito recursivamente da seguinte forma: Se y for igual a 0, então mdc(x, y) = x. Caso contrário, mdc(x, y) = mdc(y, x % y), no qual % é o operador de módulo (restante da divisão inteira). Escreva um método recursivo que receba dois inteiros e calcule o mdc. Seu método deverá possuir a seguinte assinatura:
public static int mdc(int x, int y){
// sua implementação aqui
}
Informe o primeiro inteiro: 12 Informe o segundo inteiro: 18 O MDC dos valores 12 e 18 é 6 Veja a resolução comentada deste exercício usando Java console:
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos solicitar dois valores inteiros
System.out.print("Informe o primeiro inteiro: ");
// lê o primeiro inteiro
int a = Integer.parseInt(entrada.nextLine());
// solicita o segundo inteiro
System.out.print("Informe o segundo inteiro: ");
// lê o segundo inteiro
int b = Integer.parseInt(entrada.nextLine());
// mostra o resultado
System.out.print("O MDC dos valores " + a + " e " +
b + " é " + mdc(a, b));
System.out.println("\n");
}
// método recursivo que calcula o mdc de dois inteiros
public static int mdc(int x, int y){
// a recursividade é interrompida quando y for igual a 0
if(y == 0){
return x;
}
else{
return mdc(y, x % y); // efetua uma nova chamada recursiva
}
}
}
|
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de C++ - Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números paresQuantidade de visualizações: 990 vezes |
|
Pergunta/Tarefa: Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números pares existentes no intervalo [M, N] e imprimir a multiplicação desses números (os pares). Observe que os valores M e N devem ser fornecidos pelo usuário. Nota: por se tratar de intervalo fechado [M, N], os números M e N devem ser incluídos na amostra. Além disso, seu código deve assegurar que M seja menor que N. Sua saída deverá ser parecida com: Informe o valor de M: 3 Informe o valor de N: 9 Números pares no intervalo [M, N]: 4, 6, 8, Multiplicação dos números pares no intervalo [M, N]: 192 Veja a resolução comentada deste exercício em C++:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int m, n, i, multiplicacao = 1;
// vamos pedir para o usuário informar os valores de M e N
cout << "Informe o valor de M: ";
cin >> m;
cout << "Informe o valor de N: ";
cin >> n;
// M é menor que N?
if(m >= n){
cout << "M deve ser menor que N";
}
else{
// mostra os números pares no intervalo
cout << "Números pares no intervalo [M, N]: ";
for(i = m; i <= n; i++){
if(i % 2 == 0){
cout << i << ", ";
// aproveitamos para calcular a multiplicação dos números
// pares no intervalo informado
multiplicacao = multiplicacao * i;
}
}
// mostramos a multiplicação
cout << "\nMultiplicação dos números pares no intervalo [M, N]: " <<
multiplicacao << endl;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se um objeto é um array em JavaScript usando a função Array.isArray()Quantidade de visualizações: 3342 vezes |
|
Em algumas situações nós precisamos verificar se um determinado objeto é um array (vetor ou matriz). Para isso podemos usar o método Array.isArray(), adicionado ao ECMAScript 2009 (JavaScript 5). Este método recebe o objeto como argumento e retorna true se o objeto for um array e false em caso contrário. Veja o exemplo a seguir:
<script type="text/javascript">
// vamos criar um vetor de inteiros
var valores = [34, 6, 32, 10];
// vamos testar se o objeto valores é mesmo um array
if(Array.isArray(valores)){
window.alert("O objeto é um array");
}
else{
window.alert("O objeto não é um array");
}
</script>
Ao executar este código você verá a mensagem "O objeto é um array". Isso está correto, pois o objeto valores realmente é um vetor. No entanto, há casos em que não sabemos, principalmente ao usarmos códigos de terceiros, se um determinado retorno será do tipo array. Veja mais um exemplo:
<script type="text/javascript">
// vamos criar um objeto String
var frase = "Gosto muito de JavaScript";
// vamos quebrar esta frase. O retorno deverá ser uma array
var pedacos = frase.split(" ");
// vamos testar se o objeto valores é mesmo um array
if(Array.isArray(pedacos)){
window.alert("O objeto é um array");
}
else{
window.alert("O objeto não é um array");
}
</script>
Novamente o retorno será verdadeiro, pois o método split() do objeto String quebra o seu conteúdo de acordo com o delimitador informado e retorna seus pedaços como um array (vetor). |
Revit C# ::: Dicas & Truques ::: Tratamento de Erros |
Como corrigir o erro OperationCanceledException em macros e add-ins do Revit C# APIQuantidade de visualizações: 707 vezes |
|
Nesta dica mostrarei como podemos tratar a exceção OperationCanceledException em macros e plug-ins feitos para o Revit usando a Revit C# API. Esta exceção está no namespace Autodesk.Revit.Exceptions e deve ser declarada por seu nome completo, para não ser confundida com System.OperationCanceledException. O erro OperationCanceledException ocorre quando uma operação é cancelada de forma inesperada. Por exemplo, no código abaixo nós pedimos para o usuário selecionar um grupo e, em seguida, informar um ponto na área de desenho do Revit para que o grupo seja copiado e colocado no ponto indicado. Se o usuário clicar com o botão direito ou pressionar Esc, a operação é cancelada automaticamente. O tratamento da exceção OperationCanceledException nos permite reagir a isso, indicando ao usuário o melhor caminho a ser seguido. O código apresentado aqui já foi visto em dicas e truques sobre a criação e manipulação de grupos de elementos no Revit usando a Revit C# API. No entanto, no código apresentado eu não fiz o tratamento de exceções. Veja o código Revit C# API completo para o exemplo:
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
namespace Estudos {
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
public partial class ThisApplication {
private void Module_Startup(object sender, EventArgs e) {
// vamos obter uma referência ao Document ativo
Document doc = this.ActiveUIDocument.Document;
// Vamos definir um objeto Reference para guardar
// o elemento selecionado pelo usuário
Reference ref_selecionado = null;
// pedimos para o usuário selecionar um grupo
Selection selecao = this.ActiveUIDocument.Selection;
try {
ref_selecionado = selecao.PickObject(ObjectType.Element,
"Selecione um grupo");
Element elem = doc.GetElement(ref_selecionado);
Group group = elem as Group;
// vamos pedir para o usuário selecionar um ponto na área de
// desenho do Revit
XYZ ponto = selecao.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
Transaction transacao = new Transaction(doc);
transacao.Start("Copiar Grupo no Revit");
doc.Create.PlaceGroup(ponto, group.GroupType);
transacao.Commit();
// mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso.");
}
// Se o usuário clicar com o botão direito ou pressionar Esc
catch (Autodesk.Revit.Exceptions.OperationCanceledException ex) {
TaskDialog.Show("Aviso", "Erro: Operação cancelada pelo usuário");
}
catch (Exception ex) {
TaskDialog.Show("Aviso", "Erro: " + ex.Message);
}
}
private void Module_Shutdown(object sender, EventArgs e) {
// para fazer alguma limpeza de memória ou algo assim
}
#region Revit Macros generated code
private void InternalStartup() {
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
}
}
Se o usuário cancelar a operação, ou seja, não selecionar nenhum grupo (talvez pressionando a tecla Esc), o código reagirá e mostrará a mensagem: Erro: The user aborted the pick operation. Se, em vez de selecionar um grupo, o usuário selecionar um outro elemento, então a mensagem de erro será: Erro: Referência de objeto não definida para uma instância de um objeto. |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




