Você está aqui: LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informado - Exercícios Resolvidos de LISPQuantidade de visualizações: 399 vezes |
Pergunta/Tarefa: Escreva um programa LISP ou Common Lisp que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar vetores ou matrizes (arrays). Sua saída deve ser parecida com: Informe o 1º valor: 5 Informe o 2º valor: 1 Informe o 3º valor: 20 Informe o 4º valor: 6 Informe o 5º valor: 3 Informe o 6º valor: 4 Informe o 7º valor: 7 Informe o 8º valor: 12 Informe o 9º valor: 9 Informe o 10º valor: 8 O maior valor lido foi: 20 O menor valor lido foi: 1 Veja a solução comentada deste exercício usando a linguagem Common Lisp (a padronização da LISP): ; variáveis que vamos usar no programa (let ((valor)(maior 0)(menor 0)) ; vamos pedir ao usuário que informe 10 valores inteiros (loop for i from 1 to 10 do (format t "Informe o ~D.o valor: " i) ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável numero (setq valor (read)) ; esta é a primeira iteração do laço? se for vamos assumir que o ; maior e menor valor lido são o primeiro valor informado (if (= i 1) (progn (setq maior valor) (setq menor valor) ) (progn (if (> valor maior) (setq maior valor)) (if (< valor menor) (setq menor valor)) ) ) ) ; vamos exibir o maior e o menor valor lido (format t "~%O maior valor lido foi: ~D~%" maior) (format t "O menor valor lido foi: ~D~%" menor) ) |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de LISP |
Veja mais Dicas e truques de LISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |