Quando nos referimos à programação, as estruturas de dados são as que vão nos permitir armazenar de uma maneira organizada as diferentes informações, estruturando adequadamente os dados para resolver problemas mais complexos ou para fazê-lo de uma maneira mais eficiente.
Em postagens anteriores, falamos sobre estruturas de dados em programação, concretamente sobre os arrays e as matrizes. Hoje veremos as listas que são outro tipo de estruturas de dados.
Estruturas de dados: listas
As listas, como outras estruturas em programação, também permitem armazenar múltiplos dados. Como, por exemplo, as variáveis ENTRADA e SAÍDA, que também são, e sempre foram, listas! A partir de agora, as listas estão disponíveis, como mais uma estrutura, dentro do laboratório.
Normalmente uma lista poderia aumentar o seu tamanho de uma forma dinâmica, mas, como o tamanho do nosso laboratório é limitado, decidimos manter um tamanho constante. No entanto, as listas do laboratório continuam sendo muito úteis para armazenar e processar dados de uma maneira fácil, usando os comandos especiais: retirar e colocar.
Agora, que trabalharemos conscientemente com listas, temos mais opções nos blocos «Retirar» e «Colocar». Podemos retirar ou colocar dados por qualquer um dos dois lados de uma lista, quer dizer, tanto pelo início como pelo final.
Para facilitar o reconhecimento de cada extremo, marcamos o início e o fim das listas com as letras do alfabeto grego Alfa α e Omega Ω. Dessa forma, será mais fácil reconhecer cada extremo e extrair ou inserir dados onde for mais conveniente.
Com esta proposta, podemos usar as listas da maneira que acharmos melhor em cada uma das missões, retirando e colocando dados com diferentes combinações. A ordem em que processamos os dados será afetada pelas combinações que escolhermos. Por exemplo, se colocarmos e retirarmos por lados diferentes, as listas do laboratório se comportarão como uma Fila, mas se o fizermos pelo mesmo lado, será como uma Pilha. As Filas e Pilhas são também estruturas de dados clássicas que, desta forma, são contempladas no laboratório.
Já dissemos que a ENTRADA e a SAÍDA são também listas. No entanto, para evitar algumas combinações, restringimos a ligação com o final (ômega) da ENTRADA. Os lados da SAÍDA estão totalmente disponíveis.
No caso dos arrays, podemos acessar dados em posições específicas sempre que usarmos corretamente o seu índice.
Por outro lado, usaremos as listas, quase sempre, para percorrê-las, e processá-las, por completo. Para isso, continuamos dispondo do loop «Enquanto houver», mas agora podemos escolher a lista que queremos controlar.
Algumas missões pedirão para percorrermos uma lista enquanto, ou até que, se cumprir uma certa condição. Nesse caso, é fundamental construir corretamente a condição que acompanha o loop «Enquanto». Se está ou não em negativo mudará completamente a forma de processar os dados da lista.
Na programação é habitual ter que usar a imaginação. Neste ponto do programa, é essencial compreender a missão, mas só isso não é suficiente. Pode haver várias soluções para um mesmo problema, ou podem ser necessários diferentes processos intermediários para ordenar ou identificar certos dados antes de abordar a missão propriamente dita.
Lembre-se que as listas são muito úteis para organizar e armazenar dados, as variáveis e todas as estruturas de dados que você já conhece podem ser usadas para ajudar a encontrar uma solução de uma maneira eficiente.
Em programação é muito importante testar coisas novas, experimentar, e neste ponto do programa do laboratório já temos muitas ferramentas para testar. É assim que se aprende melhor: você testa algo, não funciona como você esperava, você analisa, muda e tenta novamente. Falhar não é algo negativo, é parte do processo de aprendizagem. E o conhecimento é infinito.
Se você quiser continuar aprendendo matemática, programação e muito mais, sempre com conteúdo que se adapta ao seu nível, acesse o Smartick, cadastre-se e experimente gratuitamente.
Para continuar aprendendo:
- Estruturas de dados em programação: arrays e matrizes
- Noções básicas de programação: instruções e estruturas de controle
- A importância da programação. Smartick Coding
- Tipos de exercícios de programação com Smartick Coding
- Quais as diferenças entre o Smartick e outros métodos presenciais de matemática?