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

LISP ::: Dicas & Truques ::: Passos Iniciais

O que é Lisp e como escrever seu primeiro programa nessa linguagem de programação

Quantidade de visualizações: 1658 vezes
O que é Common Lisp?

A linguagem de programação ANSI Common Lisp, ou simplesmente Common Lisp, é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural.

Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialeto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp".

Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999). É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialetos Lisp dos quais derivou.

Como baixar, instalar e testar a Common Lisp no Windows?

Embora exista uma quantidade enorme de compiladores Lisp disponíveis atualmente, minha pesquisa recaiu sobre o Steel Bank Common Lisp (SBCL), que pode ser baixado no endereço http://www.sbcl.org. No meu Windows 10 eu baixei o instalador sbcl-2.2.3-x86-64-windows-binary.msi, com o tamanho de 11.7Mb.

Finalizada a instalação, vamos testar nossa distribuição do Bank Common Lisp (SBCL). Para isso, abra um janela de terminal e navegue até o diretório de instalação do SBCL:

C:\Users\Osmar>cd C:\Program Files\Steel Bank Common Lisp

Se você vir um arquivo sbcl.exe dentro deste diretório nós já temos a indicação de que tudo correu bem. Tudo que temos a fazer é chamar este arquivo na linha de comando:

C:\Program Files\Steel Bank Common Lisp>sbcL

Você verá as seguintes informações na sua tela:

This is SBCL 2.2.3, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.
*

Note que o cursor já está esperando comandos, uma vez que estamos no modo interativo. Assim, digite o seguinte comando:

* (+ 5 (* 2 4))

Pressione Enter. Se você vir o valor 13, então é sinal de que o SBCL está funcionando 100% e já podemos prosseguir.

Para sair do modo interativo do SBCL, digite:

* (quit)

Como escrever um programa em Common List e carregá-lo no SBCL

Agora vamos ver como podemos escrever um programa Common Lisp, salvá-lo em arquivo e carregá-lo a partir do compilador Steel Bank Common Lisp (SBCL). Para isso, abra o seu editor de códigos favorito e digite a seguinte listagem:

; Este programa talvez seja um dos mais básicos
; que podem ser escritos em Common Lisp
(defun Primeiro()
  ; Vamos mostrar uma mensagem de boas-vindas
  (write-line "Bem-vindo(a) à Common Lisp")
)

; Efetua uma chamada automática ao programa
(Primeiro)

Para executar este programa, basta chamar o SBCL pela linha de comando, da seguinte forma:

C:\Program Files\Steel Bank Common Lisp>sbcl --script C:\estudos_common_lisp\Primeiro.lsp

Se o seu código estiver correto, sem nenhum erro de sintáxe, você verá o seguinte texto:

Bem-vindo(a) à Common Lisp

Pronto! Agora é só aproveitar as nossas dicas, truques e exercícios resolvidos de Common Lisp para aprender ainda mais. Bons estudos.


C# ::: Windows Forms ::: DataGridView

Como retornar a quantidade de linhas em um DataGridView do C# Windows Forms

Quantidade de visualizações: 15089 vezes
A quantidade de linhas em um DataGridView do C# Windows Forms pode ser obtida por meio da propriedade RowCount. Veja:

private void button2_Click(object sender, EventArgs e){
  // vamos adicionar três colunas no DataGridView
  dataGridView1.Columns.Add("cidade", "Cidade");
  dataGridView1.Columns.Add("estado", "Estado");
  dataGridView1.Columns.Add("populacao", "População");

  // vamos adicionar três linhas
  dataGridView1.Rows.Add("Goiânia", "GO", "3.453,39");
  dataGridView1.Rows.Add("Cuiabá", "MT", "1.876,12");
  dataGridView1.Rows.Add("Curitiba", "PR", "5.346,98");

  // não vamos permitir que o usuário adicione novas
  // linhas (o que daria uma linha a mais na nossa
  // contagem
  dataGridView1.AllowUserToAddRows = false;

  // vamos obter a quantidade de linhas no DataGridView
  int quant_linhas = dataGridView1.RowCount;

  // exibe o resultado
  MessageBox.Show("O DataGridView contém " + 
    quant_linhas + " linhas");
}

É possível também usar a propriedade RowCount para definir a quantidade de linhas em um DataGridView:

dataGridView1.RowCount = 6;

Há algumas considerações importantes sobre a propriedade RowCount:

1) Se seu valor for definido como 0, todas as linhas do DataGridView serão removidas;
2) Se o novo valor for menor que o valor atual, as linhas excedentes serão removidas no final da coleção Rows;
3) Se o novo valor for maior que o valor atual, as novas linhas serão adicionadas no final da coleção Rows;
4) Se tentarmos alterar o valor desta propriedade após a definição da propriedade DataSource, uma exceção InvalidOperationException será lançada.


Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Python

Quantidade de visualizações: 3003 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem Python.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem Python:

# vamos importar o módulo Math
import math as math

def main():
  c = 36.056 # medida da hipotenusa
  b = 30 # medida do cateto adjascente
  
  # agora vamos calcular o comprimento da cateto oposto
  a = math.sqrt(math.pow(c, 2) - math.pow(b, 2))
 
  # e mostramos o resultado
  print("A medida do cateto oposto é: %f" % a)
  
if __name__== "__main__":
  main()

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

A medida do cateto oposto é: 20.000878

Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada.


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como converter todo o conteúdo de uma string para letras maiúsculas em Delphi usando a função AnsiUpperCase()

Quantidade de visualizações: 17439 vezes
Algumas vezes precisamos converter todo o conteúdo de uma string para letras maiúsculas. Em Delphi isso pode ser feito com o auxílio da função AnsiUpperCase(). Esta função recebe uma string e retorna outra string com todos os caracteres maiúsculos. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
begin
  nome := 'Osmar';

  // vamos converter a string para letras maiúsculas
  nome := AnsiUpperCase(nome);

  // exibe o resultado
  ShowMessage(nome);
end;

Note que esta função suporta caracteres de mais de um byte e com acentuações.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


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 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 Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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