Você está aqui: Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Common Lisp - Como testar se um número é perfeito usando Common Lisp - Desafio de Programação Resolvido em LispQuantidade de visualizações: 590 vezes |
Pergunta/Tarefa: Escreva um programa Common Lisp que pede para o usuário informar um número inteiro e informa se este número é um número perfeito. Um número perfeito é aquele cuja soma dos seus divisores, exceto ele próprio, é igual ao número. Por exemplo, o número 6 é perfeito, pois 1 + 2 + 3 = 6. Sua saída deverá ser parecida com: Informe um número inteiro: 6 O número informado é um número perfeito. Veja a resolução completa para o exercício em Common Lisp, comentada linha a linha: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; variáveis que vamos usar no programa (let ((numero)(soma 0)) ; Vamos pedir para o usuário informar o valor inteiro (princ "Informe um número inteiro: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável numero (setq numero (read)) ; Um laço que começa em 1 e vai até o ; número informado - 1 (loop for i from 1 to (- numero 1) do( ; o resto da divisão é 0? if (= 0 (rem numero i)) ; soma o valor de i ao valor da soma (setq soma (+ soma i)) ) ) ; E mostramos o resultado (if (= soma numero) (princ "O número informado é um número perfeito") (princ "O número informado não é um número perfeito") ) ) |
Link para compartilhar na Internet ou com seus amigos: |
Lisp ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço loop for da linguagem LispQuantidade de visualizações: 567 vezes |
O laço for loop da linguagem Common Lisp é usado quando sabemos exatamente quantas vezes uma instrução ou um grupo de instruções deve ser repetido. Este laço é similar ao laço for encontrado na maioria das linguagens de programação. Vamos começar vendo um laço for loop que conta de 1 até 10: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; Um laço for loop que conta de 1 até 10 (loop for i from 1 to 10 do (print i) ) Ao executar este código Common Lisp nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Agora veja o mesmo laço usado para contar de 10 até 1, ou seja, em ordem decrescente: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; Um laço for loop que conta de 10 até 1 (loop for i from 10 downto 1 do (print i) ) Note que, agora, eu troquei "to" por "downto" para que a variável de controle fosse decrementada, em vez de incrementada. Dessa forma, ao executarmos este código Common Lisp, o resultado será: 10 9 8 7 6 5 4 3 2 1 |
Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como converter quilômetros em metros, centímetros e milímetros usando LispQuantidade de visualizações: 720 vezes |
Pergunta/Tarefa: Escreva um programa em Common Lisp para converter quilômetros em metros, centímetros e milímetros. Seu programa deverá pedir para o usuário informar a quantidade de quilômetros e exibir as conversões solicitadas. Como sabemos, um Quilômetro = 1000 Metros, 100.000 Centímetros ou 1.000.000 Milímetros. Seu programa deverá exibir uma saída parecida com: Informe a distância em quilômetros: 2.5 Distância em Quilômetros: 2.5 Distância em Metros: 2500.0 Distância em Centímetros: 250000.0 Distância em Milímetros: 2500000.0 Veja a resolução comentada deste exercício usando Common Lisp: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; Variáveis usadas na resolução do problema (let ((quilometros)(metros)(centimetros)(milimetros)) ; vamos ler a quantidade de quilômetros (princ "Informe a distância em quilômetros: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável quilometros (setq quilometros (read)) ; vamos calcular a distância em metros (setq metros (* quilometros 1000.0)) ; vamos calcular a distância em centímetros (setq centimetros (* quilometros 100000.0)) ; e agora a distância em milímetros (setq milimetros (* quilometros 1000000.0)) ; E mostramos o resultado (format t "Distância em Quilômetros: ~F" quilometros) (format t "~%Distância em Metros: ~F" metros) (format t "~%Distância em Centímetros: ~F" centimetros) (format t "~%Distância em Milímetros: ~F" milimetros) ) |
Lisp ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter radianos em graus em LISP - Trigonometria em LISPQuantidade de visualizações: 552 vezes |
Todas as funções trigonométricas em Common Lisp (ou AutoLISP, para programadores AutoCAD) recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin(). Esta função recebe o ângulo em radianos e retorna o seu seno. No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo: \[Graus = Radianos \times \frac{180}{\pi}\] Agora veja como esta fórmula pode ser escrita em código LISP: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; programa LISP que converte radianos em graus (let((radianos)(graus)) ; valor em radianos (setq radianos 1.5) ; obtém o valor em graus (setq graus (* radianos (/ 180 pi))) ; mostra o resultado (format t "~F radianos em graus é ~F" radianos graus) ) Ao executarmos este código LISP nós teremos o seguinte resultado: 1.5 radianos convertidos para graus é 85.94366926962348 Para fins de memorização, 1 radiano equivale a 57,2957795 graus. |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptdocument.write(typeof NaN); Qual é o resultado de sua execução? A) undefined B) null C) number D) NaN E) string Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As sapatas são elementos da fundação rasa dimensionadas de modo que as tensões de tração nelas atuantes resistam por meio de uma armadura disposta com essa finalidade, sendo produzidas com concreto armado. Considerando a importância da utilização desse tipo de fundação nas edificações, dimensione uma sapata para um pilar de 30X100 com carga 2.000KN para um σs = 0,5Mpa. Observações: - A sapata não deverá ter nenhuma dimensão menor que 60cm. - Os valores de a e b devem ser escolhidos de modo que a relação entre a e b seja, no máximo, igual a 2,5. - Os valores de a e b devem ser escolhidos de forma que os balanços da sapata, em relação às faces do pilar, sejam iguais nas duas direções. Assinale a alternativa correta. A) a = 240cm e b = 170cm. B) a = 250cm e b = 190cm. C) a = 230cm e b = 150cm. D) a = 245cm e b = 180cm. E) a = 220cm e b = 130cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptconst verdadeiro = true == []; const falso = true == ![]; document.write(verdadeiro + falso); Qual o resultado de sua execução? A) "true" B) 1 C) false D) 0 E) "false" Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas A viga de fundação é também chamada de viga baldrame. É utilizada para conectar sapatas isoladas e distribuir melhor o peso da estrutura para as camadas do solo. A partir disso, projete uma viga de fundação para os pilares P1 e P2, indicados na figura, sendo a taxa no solo σs = 0,4. Considere: P1 = P2 = 1.800KN. Dimensões P1 e P2 = 25cmX100cm. A) a = 400cm e b = 280cm. B) a = 365cm e b = 250cm. C) a = 250cm e b = 365cm. D) a = 345cm e b = 230cm. E) a = 405cm e b = 315cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de águas pluviais Normalmente, o projeto de calha é feito em duas etapas: primeiramente, estima-se o escoamento superficial a partir do método racional e, em sequência, consulta-se uma calha com capacidade hidráulica satisfatória. Em alguns casos, o projetista deve estar apto a calcular a seção necessária, fazendo, assim, a aplicação dos conhecimentos obtidos. Uma calha em aço galvanizado com coeficiente de rugosidade n = 0,011 deverá ser instalada com declividade 0,5%. Sabendo que a seção adotada é retangular com base de 10cm e altura de 20cm, qual a capacidade hidráulica dessa calha em L/s? A) 132,45L/s. B) 165,25L/s. C) 150,40L/s. D) 180,61L/s. E) 194,27L/s. Verificar Resposta Estudar Cards Todas as Questões |
Veja mais Dicas e truques de Lisp |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |