Escreva um programa que receba uma lista de números, armazenados de forma crescente, e dois valores (limite inferior e limite superior) e exiba a sublista cujos elementos são maiores ou iguais ao limite inferior e menores ou iguais ao limite superior.
Exemplo:
lista inicial: [12,14,15,16,18,20,24,26,28,32,34,38]
limite inferior=13 ; limite superior = 26lista exibida: [14,15,16,18,20,24,26]
Soluções para a tarefa
Olá, como não foi dita a linguagem que o programa deveria ser escrito, optei por escreve-lo em python, já que e uma linguagem de compreensão mais fácil.
O primeiro passo para a construção de um programa assim e receber as variáveis de entrada. Assim, é preciso definir a lista de números e armazena-los, faremos isso através de um laço de repetição, já que entraremos com esses dados mais de uma vez. Nesse caso estou usando um while (enquanto) que armazenara 12 valores em uma lista chamada lista. Esse laco verificara o tamanho da lista, ou seja, a quantidade de itens dela, através função len e caso ela seja menor que 12 ira executar um bloco de comandos.
Como a questão pede que os valores estejam armazenados de forma crescente utilizaremos uma função do python chamada list.sort. Apos isso solicitaremos os valores de limite superior e inferior.
Apos isso, criaremos uma sublista (nova_lista) que armazenara os valores que atendam as condições pedidas. Para isso, utilizaremos um laço de repetição (for) que varrera todos os elementos dessa lista (lista) e verificara através de um if se eles são maiores ou iguais ao limite inferior e menores ou iguais ao limite superior. A atribuição de um valor a lista e feita através da função append. No final do código imprimemos a sublista com esses valores.
Voce pode observar melhor o que foi dito analisando o codigo abaixo:
lista = [ ]
print ("Escreva a sua lista: ")
while len(lista) < 12:
x = int(input())
lista.append(x)
list.sort(lista)
print("Qual o limite superior?")
lim_sup = int(input())
print("Qual o limite inferior?")
lim_inf = int(input())
nova_lista = [ ]
for i in range(len(lista)):
if ((lista[i] >= lim_inf) and (lista[i]<=lim_sup)):
y = lista[i]
nova_lista.append(y)
print (nova_lista)
Espero ter ajudado, bons estudos!