![]() |
|
|
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. |
||
AutoLISP ::: Dicas & Truques ::: Passos Iniciais |
O que é AutoLISP e como escrever seu primeiro programa nessa linguagem de programaçãoQuantidade de visualizações: 1936 vezes |
|
O que é AutoLISP? Se você chegou até este artigo vindo de um mecanismo de busca, é bem provável que você já saiba o que é a AutoLISP e para que ela serve. No entanto, é sempre bom reforçar. A AutoLISP é um dialeto, ou seja, uma derivação, da linguagem de programação LISP. LISP vem de LISt Processing (Processamento de listas, vetores, matrizes, etc). Imagina-se que a LISP seja a linguagem de programação de alto nível mais antiga que se conhece, perdendo apenas para o FORTRAN. Embutida por padrão no AutoCAD, a LISP é a linguagem preferida para inteligência artificial em robótica. Para que serve a AutoLISP no AutoCAD? A AutoLISP, como mencionei acima, é linguagem de programação padrão do AutoCAD e já vem embutida nele, da mesma forma que a linguagem Python já vem embutida no FreeCAD. É claro que podemos manipular os objetos do AutoCAD usando VBA (Visual Basic for Applications), mas esta opção já não vem mais embutida por padrão na ferramenta. No AutoCAD, a AutoLISP é usada para automatizar tarefas e tornar menos tediosos os desenhos com detalhes muito repetitivos. Um programa AutoLISP nos permite, entre outras coisas, desenhar linhas, círculos, retângulos, polígonos, etc, selecionar objetos no GA (área de desenho do AutoCAD), solicitar entrada do usuário, exibir saída, ler e escrever em arquivos e muitas outras funcionalidades. Como escrever e executar um programa AutoLISP no AutoCAD Agora que já sabemos o que é a AutoLISP e seus objetivos, vamos escrever nosso primeiro programa. Abra o seu editor de código favorito (aqui eu usei o Notepad++) e digite a seguinte listagem: ; Este programa é usado para desenhar uma ; linha a partir de dois pontos indicados ; pelo usuário (defun desenharLinha() ; Vamos obter o primeiro ponto e guardar suas ; coordenadas na variável p (setq p (getpoint "Clique primeiro ponto na GA")) ; Vamos obter o segundo ponto e guardar suas ; coordenadas na variável q (setq q (getpoint "\nClique segundo ponto na GA")) ; Agora chamamos o comando LINE passando os ; dois pontos geométricos obtidos (command "LINE" p q "") ) Veja que, já no início do código, nós temos uma função chamada desenharLinha(). Dessa forma, salve o arquivo com o nome "desenharLinha.lsp" no diretório de sua preferência. Como carregar um programa AutoLISP no AutoCAD? Agora que já temos o arquivo .lsp pronto, vamos aprender como carregá-lo no AutoCAD. Para isso, vá até o menu Manage e escolha a opção Load Application. Selecione o arquivo desejado e clique o botão Load. Se tudo correu bem, você receberá uma mensagem "_appload desenharLinha.lsp successfully loaded". Agora já podemos usar nossa rotina para desenhar linhas no AutoCAD. Com a aba Model ativada, digite: (DESENHARLINHA) na janela de comandos do AutoCAD. Ao pressionar Enter você verá a mensagem "Clique primeiro ponto na GA". Lembrando que GA é a General Arrangement Drawing, ou seja, a área de desenho. Dessa forma, clique na área de desenho para que o código AutoLISP registre o primeiro ponto (coordenadas x, y, z). No mesmo momento uma mensagem "Clique segundo ponto na GA" será exibida. Clique na área de desenho para registrar o segundo ponto e pronto! Você verá uma linha ser desenhada entre os dois pontos geométricos que você informou. |
Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Dart - Desenvolvimento de Games com DartQuantidade de visualizações: 1319 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Dart, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Dart que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo:
// Vamos importar a biblioteca dart:io
import "dart:io";
// vamos importar a biblioteca dart:math
import "dart:math";
// vamos declarar a classe Circulo
class Circulo{
double xc;
double yc;
double raio;
// construtor da classe Circulo
Circulo(double xc, double yc, double raio){
this.xc = xc; // x do centro
this.yc = yc; // y do centro
this.raio = raio; // raio do círculo
}
}
// agora vamos declarar a classe Ponto
class Ponto{
double x;
double y;
// construtor da classe Ponto
Ponto(double x, double y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
void main(){
// variáveis que vamos usar na resolução do problema
Circulo c;
Ponto p;
double dx, dy;
// vamos criar um objeto Circulo
c = new Circulo(205, 166, 115);
// vamos criar um objeto Ponto
p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
dx = p.x - c.xc;
dy = p.y - c.yc;
if((pow(dx, 2) + pow(dy, 2)) < pow(c.raio, 2)){
stdout.write("O ponto está dentro do círculo");
}
else{
stdout.write("O ponto NÃO está dentro do círculo");
}
}
Ao executar este código Dart nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescenteQuantidade de visualizações: 1751 vezes |
|
Pergunta/Tarefa: Escreva um programa C que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida". Sua saída deverá ser parecida com: Primeiro número: 4 Segundo número: 8 Terceiro número: 11 Ordem Crescente Veja a resolução comentada deste exercício em C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do exercício
int a, b, c;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar três números
printf("Primeiro número: ");
scanf("%d", &a);
printf("Segundo número: ");
scanf("%d", &b);
printf("Terceiro número: ");
scanf("%d", &c);
// os números estão em ordem crescente?
if (a < b && b < c){
printf("Ordem Crescente");
}
// os números estão em ordem decrescente?
else if (a > b && b > c){
printf("Ordem Decrescente");
}
// sem ordem definida
else{
printf("Sem ordem definida");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
C ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em CQuantidade de visualizações: 3241 vezes |
|
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int numero, i;
int primo = 1; // verdadeiro, true
// vamos solicitar um número inteiro positivo
printf("Informe um número inteiro positivo: ");
scanf("%d", &numero);
// o número é negativo?
if(numero < 0){
printf("Número inválido.\n\n");
}
// é 0 ou 1?
else if((numero == 0) || (numero == 1)){
printf("Número válido, mas não é primo.\n\n");
}
// passou até aqui. Vamos testar se o número é primo
else{
for (i = 2; i <= (numero / 2); i++){
// se passar no teste, não é primo
if (numero % i == 0) {
primo = 0; // recebe false
break;
}
}
if(primo){
printf("O número informado é primo\n\n");
}
else{
printf("O número informado não é primo\n\n");
}
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como converter uma string em um valor de ponto-flutuante em JavaScript usando a função parseFloat() C - Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C GNU Octave - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU Octave |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como usar o controle TStringGrid em suas aplicações Delphi - O componente TStringGrid do Delphi |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






