Postagens

Curso de Programação Básico - Entrada e Saída de Dados

Imagem
Minha Reação: O Segredo para Fazer Seu Código Parar de Ser um Robô Estático no  Curso de Programação Básico Eu estava me sentindo frustrado. Pensa comigo: eu já tinha aprendido a criar as caixinhas de dados (as variáveis), já sabia a diferença entre números inteiros e números quebrados, e até já tinha entendido como declarar regras que não mudam (as constantes). Eu estava construindo a estrutura do meu primeiro software.  Mas, na prática, o que eu tinha era um código mudo. Ele fazia exatamente o que eu mandava, mas era como conversar com uma parede. Eu rodava o programa e ele me devolvia um resultado fixo, sempre o mesmo. Era um programa sem vida, sem alma. Era como ter um celular de última geração que não aceita chamadas e não tem tela de toque.  Eu me perguntava: "Como eu faço para que o usuário (no caso, eu mesmo) possa falar com o programa, para que ele me peça um dado, como a minha idade, e use esse dado para me dar uma resposta personalizada?" A chave para sair dess...

Curso de Programação Básico - Tamanho dos tipos de dados

Imagem
A Descoberta do Arquivo Secreto: Medindo o Tamanho das Variáveis no  Curso de Programação Básico Sabe quando a gente arruma uma casa nova e fica pensando em como usar cada cantinho, cada prateleira? A gente não quer desperdiçar espaço. Na programação, a gente lida com a mesma coisa, só que em vez de metros quadrados, a gente lida com bytes na memória do computador.  Até agora, aprendemos a criar as nossas "caixinhas" (as variáveis), dizendo se elas são para números inteiros (`int`), quebrados (`float`) ou letras (`char`). Mas, confesso, eu olhava para o computador e pensava: "Será que minha variável 'idade' está usando mais espaço do que deveria?" A memória RAM do computador é um recurso precioso e, se a gente não souber o quanto estamos gastando, podemos criar um programa lento, pesado e que consome mais energia. Esse mistério do "quanto gasta" era a minha grande ansiedade. É por isso que a aula sobre o tamanho dos tipos de dados no  Curso de Prog...

Curso de Programação Básico - Matrizes

Imagem
Saindo do Rascunho: Como as Matrizes Vão Levar seu  Curso de Programação Básico  ao Próximo Nível Eu tinha me apaixonado pelos Vetores. Eles me salvaram da bagunça, organizando minhas listas de dados em uma única variável elegante. Era como ter uma lista de supermercado perfeitamente organizada, só com os nomes. Mas a vida, a vida real da programação de software, é muito mais complicada do que uma simples lista. Pense em uma planilha de Excel. Você tem linhas e colunas, certo? Você não consegue descrever uma planilha inteira (com nomes de clientes, endereços e valores de compra) usando apenas uma lista que vai só para baixo.  Meu desafio cresceu quando precisei acompanhar o status de pedidos (se estava pronto ou em preparo) E O TEMPO de preparo de cada um. Eu precisava de duas informações diferentes, mas que estavam intimamente ligadas, para cada pedido. Minha cabeça começou a dar nó. Um Vetor só guardava uma lista de coisas (só o status, por exemplo). Como eu fazia para ...

Curso de Programação Básico - Percorrendo, Lendo e Preenchendo Matrizes

Imagem
O Poder da Chave: Por Que Todo Programador Precisa Entender os Ponteiros no  Curso de Programação Básico Eu estava animado! Eu finalmente tinha construído a minha primeira planilha de dados gigante usando Matrizes. O sistema podia guardar as notas de 50 alunos em 4 provas diferentes. Uau! Mas aí veio o problema da vida real. Eu tinha a função perfeita para calcular a Média, e uma outra função ótima para encontrar o Maior e Menor valor da turma.  O meu problema era: como eu fazia para que essas funções usassem a minha Matriz de 50 x 4, sem ter que passar um caminhão de dados a cada chamada? Eu comecei a imaginar o computador trabalhando: ele teria que pegar 200 números, fazer uma cópia de todos eles, mandar a cópia para a função Média, a função faria a conta, e depois ele teria que fazer a mesma coisa para a função Maior/Menor.  Era uma bagunça lenta e desnecessária. A eficiência do meu algoritmo estava sendo destruída pela simples necessidade de compartilhar dados. Eu não...

Curso de Programação Básico - Estruturas de dados heterogêneas

Imagem
A Ficha Perfeita: Como as Structs Vão Unir Seus Dados no  Curso de Programação Básico Eu sempre fui uma pessoa organizada. No meu dia a dia, se eu faço uma lista de tarefas, eu não misturo as compras do mês com os compromissos de trabalho, certo? Na programação de software, eu comecei aplicando essa mesma lógica de separação. Se eu tinha uma lista de 50 notas, eu usava um Vetor de números. Se eu tinha 50 nomes, eu usava uma Matriz de texto (Strings). Funcionava, mas a vida real começou a me cobrar. Tive que criar um sistema simples para a escola do meu vizinho, e ele precisava guardar, para cada aluno, o Nome (que é texto), a Idade (que é um número inteiro), e as Notas (que são números com vírgula).  Eu me vi criando três, quatro ou até cinco estruturas de dados separadas, todas caminhando paralelamente. Tinha o Vetor `nome_aluno[50]`, o Vetor `idade_aluno[50]`, e a Matriz `notas_aluno[50][4]`. O código ficava confuso, e o pior: se eu trocasse o aluno 10 de lugar em uma lista,...