Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

LISP ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear

Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para Engenharia

Quantidade de visualizações: 866 vezes
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil).

Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$).

Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos.

Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade).

Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas:



A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é:

x = raio × coseno(__$\theta__$)
y = raio × seno(__$\theta__$)

E aqui está o código LISP completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):

; programa LISP que converte Coordenadas Polares
; em Coordenadas Cartesianas
(let((raio)(theta)(graus)(x)(y))
  ; vamos ler o raio e o ângulo
  (princ "Informe o raio: ")
  (force-output)
  (setq raio (read))
  (princ "Informe o theta: ")
  (force-output)
  (setq theta (read))
  (princ "Theta em graus (1) ou radianos (2): ")
  (force-output)
  (setq graus (read))
  
  ; o theta está em graus?
  (if(eq graus 1)
    (setq theta (* theta (/ pi 180.0)))    
  )
  
  ; fazemos a conversão para coordenadas cartesianas 
  (setq x (* raio (cos theta)))
  (setq y (* raio (sin theta)))
  
  ; exibimos o resultado
  (format t "As Coordenadas Cartesianas são: (x = ~F, y = ~F)"
    x y)
)

Ao executar este código LISP nós teremos o seguinte resultado:

Informe o raio: 1
Informe o theta: 1.57
Theta em graus (1) ou radianos (2): 2
As Coordenadas Cartesianas são: (x = 0,00, y = 1,00)


Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular o Índice de Esbeltez de um pilar em Python - Python para Engenharia Civil e Cálculo Estrutural

Quantidade de visualizações: 442 vezes


O índice de esbeltez de um pilar, representado pela letra grega λ (lambda) é uma relação que mede a altura do pilar em relação à sua largura ou seção transversal. Esse índice é usado para avaliar a suscetibilidade de um pilar à flambagem, que é um tipo de falha estrutural que pode ocorrer em pilares esbeltos sob compressão.

Segundo a NBR 6118, 15.8.2, os pilares devem ter índice de esbeltez menor ou igual a 200 (λ ≤ 200). Apenas no caso de postes com força normal menor que 0,10 fcd x Ac, o índice de esbeltez pode ser maior que 200.

O índice de esbeltez é a razão entre o comprimento de flambagem e o raio de giração, nas direções a serem consideradas. De acordo com o comprimento de flambagem, os pilares classificam-se como: curto, se &#955; < 35; medianamente esbelto, se 35 < &#955; < 90; esbelto, se 90 < &#955; < 140; e muito esbelto, se 140 < &#955; < 200.

A fórmula para o cálculo do índice de esbeltez pode ser definida como:

\[\lambda = 3,46 \cdot \frac{le}{h} \]

Onde:

&#955; = número adimensional representando o índice de esbeltez ao longo da direção escolhida (x ou y);

le = algura do pilar, ou seja, o comprimento do pilar em centímetros.

h = dimensão escolhida (x ou y) em centímetros.

De acordo com a norma NBR 6118 (ABNT, 2014), se o índice de esbeltez na direção escolhida for menor que 35, nós não precisamos considerar os efeitos locais de 2ª ordem.

Vamos agora ao código Python? Pediremos ao usuário para informar o comprimento (altura) do pilar em metros, as dimensões nas direções x e y e mostraremos os índices de esbeltez nas direções x e y do pilar com as respectivas anotações da necessidade ou não da consideração dos efeitos locais de 2ª ordem. Veja:

# método principal
def main():
  # vamos pedir o comprimento do pilar em metros (pé direito)
  le = float(input("Informe o comprimento do pilar (em metros): "))
  # vamos converter o comprimento em metros para centímetros
  le = le * 100.0

  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # agora vamos calcular o índice de esbeltez na direção x
  lambda_x = 3.46 * (le / hx)

  # agora vamos calcular o índice de esbeltez na direção y
  lambda_y = 3.46 * (le / hy)

  # e mostramos os resultados
  print("\nO índice de esbeltez na direção x é: {0}".format(round(lambda_x, 2)))

  # precisamos considerar os efeitos locais de segunda ordem na direção x?
  if lambda_x < 35:
    print("Não considerar os efeitos locais de 2ª ordem na direção x")
  else:
    print("Considerar os efeitos locais de 2º ordem na direção x")

  print("\nO índice de esbeltez na direção y é: {0}".format(round(lambda_y, 2)))

  # precisamos considerar os efeitos locais de segunda ordem na direção y?
  if lambda_y < 35:
    print("Não  considerar os efeitos locais de 2ª ordem na direção y")
  else:
    print("Considerar os efeitos locais de 2ª ordem na direção y")

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe o comprimento do pilar (em metros): 2.88
Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19

O índice de esbeltez na direção x é: 24.91
Não considerar os efeitos locais de 2ª ordem na direção x

O índice de esbeltez na direção y é: 52.45
Considerar os efeitos locais de 2ª ordem na direção y


Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows)

Como verificar se uma chave já existe no registro do Windows usando a função KeyExists() da classe TRegistry do Delphi

Quantidade de visualizações: 17430 vezes
Em algumas situações nós gostaríamos de verificar se uma determinada chave já existe no registro do Windows, talvez antes de criá-la, excluí-la ou tentar ler algum de seus valores.

O método KeyExists() da classe TRegistry pode ser usado para esta finalidade. Este método recebe uma string representando a chave a ser pesquisada e retorna um valor Boolean indicando a existência da chave. Veja o trecho de código abaixo:

procedure TForm3.Button5Click(Sender: TObject);
var
  reg: TRegistry;
begin
  // uses Registry

  // vamos criar uma instância da classe TRegistry
  reg := TRegistry.Create;

  // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
  // vamos reafirmar isso
  reg.RootKey := HKEY_CURRENT_USER;

  // vamos verificar a existência de uma chave a partir da chave raiz
  if reg.KeyExists('Arquivo de Códigos') then
    begin
      ShowMessage('A chave pesquisada existe.');
    end
  else
    begin
      ShowMessage('A chave pesquisada não existe.');
    end;

  // vamos liberar o registro 
  reg.Free;
end;

Aqui nós estamos verificando a existência da chave "Arquivo de Códigos" a partir da chave raiz HKEY_CURRENT_USER.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como testar condições em Python usando a estrutura condicional if...elif...else (se, senão se, senão)

Quantidade de visualizações: 10169 vezes
A instrução condicional if (se) é usada para verificar uma condição na linguagem Python. Se esta condição for verdadeira, um bloco de códigos é executado. Opcionalmente um bloco de códigos pode também ser executado caso a condição seja falsa.

Veja um exemplo:

def main():
  numero = 10
  valor = int(input("Informe um inteiro: "))
 
  if valor == numero:
    print("Parabéns, você acertou de primeira")
    print("Já tentou a Megasena?")
  elif valor < numero:
    print("Tente um número maior")
  else:
    print("Tente um número menor")
 
if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Informe um inteiro: 3
Tente um número maior

Observe que as instruções a serem executadas em um bloco são agrupadas por indentação.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 93 usuários muito felizes estudando em nosso site.