5/100 Dias Estudando Estruturas de Dados - Prática para Crianças | Lang Happy!
Teoria vs Prática
Imagine que construir uma casa é como criar um desenho especial. Antes de começarmos a desenhar, precisamos de uma ideia, como se fosse um plano para saber como a casa vai ficar. Isso é chamado de teoria. É como se estivéssemos planejando cada detalhe da casa para que ela seja perfeita.
A teoria é como uma planta mágica que mostra como a casa vai ser. Mas, para tornar essa casa real, precisamos colocar as mãos na massa, ou seja, começar a construir de verdade. Isso é a prática. É quando pegamos ferramentas e materiais para dar vida ao nosso desenho e transformá-lo em uma casa de verdade.
Happy!
Para facilitar o entendimento, vamos inventar nossa própria linguagem de programação.
Que tal chamarmos de Happy!?
obs: Happy! é apenas para aprender. Não há documentação nem um compilador para ela, então, por favor, não leve isso muito a sério.
Básico de matrizes
-
Declaração
matriz meusNumeros = [1, 2, 3];-
Isso declara uma matriz de numeros.
-
O
ponto e virgula(;)indica que aquele trecho de código acabou.
-
-
Mostrando valores
meusNumeros.imprimirValores();-
Mostra todos os valores da nossa matriz.
-
O
ponto final(.)é usado para acessar funcionalidades da nossa matriz.
-
-
Pegando valor em posição especifica
variavel posicao = 2; imprimir(meusNumeros.pegarValor(posicao));-
É declarado uma variavel chamada
posicaocom o valor2; -
A função
imprimirmostra determinado valor na tela. -
A função
pegarValorrecebe umaposiçãodamatrize retorna ovalordela.
saída:
3"Mas porque a posição
2é igual a3, não era pra ser2?"Não. Na programação a primeira posição de determinado conjunto não é
1, é0.Por isso o valor da posição
2é3. -
-
Inserindo valor
meusNumeros.inserirValor(4);- A função
inserirValoradiciona um valor ao final da matriz.
- A função
Invertendo Matriz
Dada uma matriz de numeros inteiros, sua tarefa é inverter essa matriz.
Exemplo
Entrada: [1, 2, 3]
Saída: [3, 2, 1]
Solução em Happy!
Antes da solução, precisamos conhecer o laço de repetição para.
-
Para
para numero dentro de numeros { imprimir(numero); }O
paraentra dentro da matriz e guarda os números um depois do outro na variavelnumero.
Vamos para solução
matriz numeros = [1, 2, 3];
matriz numerosInvertidos = [];
numerosInvertidos.tamanho = 3;
variavel posicao = 2;
para numero dentro numeros {
numerosInvertidos.inserirValor(posicao, numero);
posicao = posicao - 1;
}
numerosInvertidos.imprimirValores();
-
Passo 1:
Imagine que temos uma caixa mágica chamada "numeros" com os números 1, 2 e 3 dentro.
-
Passo 2:
Agora, pegamos outra caixa mágica vazia chamada "numerosInvertidos" para guardar nossos números de forma diferente.
-
Passo 3:
Pegamos um número da caixa "numeros" (começamos com o 1) e o colocamos na "numerosInvertidos". Agora, a "numerosInvertidos" tem o número 1.
-
Passo 4:
Dizemos a um ajudante mágico chamado "posicao" que ele começa na posição 2.
-
Passo 5:
Pegamos o próximo número na "numeros" (agora é o 2) e o colocamos na posição indicada pela "posicao" na "numerosInvertidos". Agora, a "numerosInvertidos" tem os números 2 e 1.
-
Passo 6:
Diminuímos a posição do nosso ajudante "posicao" em 1, então agora ele está na posição 1.
-
Passo 7:
Pegamos o último número na "numeros" (agora é o 3) e o colocamos na posição indicada pela "posicao" na "numerosInvertidos". Agora, a "numerosInvertidos" tem os números 3, 2 e 1.
-
Passo 8:
Abrimos a caixa "numerosInvertidos" e mostramos os números 3, 2 e 1, que são os números da "numeros" organizados de trás para frente!
Solução em C++ - Para adultos
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> reverseArray(vector<int> arr) {
vector<int> reversed = arr;
reverse(reversed.begin(), reversed.end());
return reversed;
}
int main() {
vector<int> arr{1, 2, 3};
vector<int> reversed = reverseArray(arr);
for_each(reversed.begin(), reversed.end(), [](int value) {
cout << value << "\n";
});
return 0;
}
Extras
Como mencionei anteriormente, "Happy!" é uma criação da minha imaginação, e o compilador para essa linguagem está na minha mente.
No entanto, se você estiver interessado em aprender a programar em português, eu recomendo o Portugol. É uma ferramenta muito útil para começar a entender como a programação funciona. Divirta-se explorando o mundo da programação!