Postagens

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,...

Curso de Programação Básico - Constantes

Imagem
O Segredo para Não Errar Mais! Por Que Constantes São Vitais no Seu  Curso de Programação Básico Sabe quando você está cozinhando e precisa colocar exatamente 200g de farinha, mas por um descuido coloca 220g? O bolo desanda. Na programação, o sentimento de errar um número crucial é o mesmo. A gente passa horas escrevendo a lógica, pensando nas variáveis que mudam (o preço do produto, a idade do usuário), mas aí, no meio do código, precisa usar um valor que é sempre o mesmo.  Um limite de estoque, o valor da gravidade, ou um imposto fixo. E o que a gente faz? Digita o número na mão, em dez lugares diferentes do programa. O problema é que, se esse valor fixo precisar ser atualizado (se o limite de estoque mudar de 50 para 100), você tem que voltar e corrigir em todos os dez lugares.  E se esquecer de um? O seu programa fica com um erro silencioso, o famoso "bug", que pode causar um prejuízo enorme. Eu, pessoalmente, sentia um medo terrível de cometer esse tipo de erro bobo ...

Curso de Programação Básico - Variáveis

Imagem
A Prática Começa Agora! Meu React sobre Variáveis e a Memória no  Curso de Programação Básico A gente chegou naquele ponto da jornada que é um misto de empolgação e medo. Sabe? Instalamos o ambiente (o Code::Blocks), entendemos que o computador precisa do tradutor (o compilador), e até vimos a mágica do "Olá, Mundo!" acontecer.  A teoria das caixinhas (tipos de dados) está fresca na memória. Mas, convenhamos, uma coisa é saber o que é um `int`; outra, é usar ele de verdade para fazer um programa que calcule alguma coisa. Eu estava com o coração apertado, pensando: "E se eu errar o nome da variável? E se o computador não entender o que eu quero guardar?" É a insegurança do iniciante que tem medo de apertar o botão errado e quebrar o código. Foi exatamente por isso que a aula prática sobre variáveis me deu um alívio enorme! Ela nos tira da abstração e nos coloca de frente com o Code::Blocks, ensinando as regras de ouro para trabalhar com dados na Linguagem C. Essa é a...