Postagens

Mostrando postagens de setembro, 2025

Utilização de Sub-rotinas

Imagine que você precisa organizar uma grande festa de aniversário. Sozinho, a tarefa parece enorme e complicada. Mas se você dividir as responsabilidades — uma pessoa cuida da comida, outra dos convites, outra da decoração — tudo fica mais simples e organizado. Na programação, nós fazemos algo muito parecido com os problemas que precisamos resolver no computador, e a essa técnica damos o nome de  Sub-rotinas . Uma sub-rotina é como um ajudante especializado dentro do seu programa. Em vez de escrever um código único, gigante e confuso para resolver um problema complexo, nós o quebramos em partes menores e mais gerenciáveis. Cada uma dessas partes é uma sub-rotina, com uma tarefa específica e bem definida para executar. Vamos pensar em um exemplo real: o sistema de um caixa eletrônico. O problema "realizar um saque" é bem complexo. Mas, ao dividi-lo, podemos ter sub-rotinas menores, cada uma fazendo sua parte: Uma sub-rotina chamada  validarSenha  poderia ser responsável a...

Leitura e Escrita de um Vetor de Registros

Hoje vamos explorar uma situação muito comum no dia a dia da programação: como organizar e gerenciar informações que naturalmente se agrupam, como é o caso de alunos e suas notas ao longo do ano. Imagine que você é o responsável pela secretaria de uma turma pequena, com oito alunos. Para cada aluno, você precisa guardar não apenas o nome, mas também as quatro notas que ele tirou nos bimestres. Se fôssemos tentar criar uma variável para cada pedaço dessa informação, teríamos uma confusão enorme de nomes soltos. É para resolver exatamente esse tipo de problema que usamos a combinação de registros e vetores. Pense no registro como uma ficha completa de um aluno. Nessa ficha, há um espaço para escrever o nome dele e outro espaço, que é como uma pequena tabela, para anotar as quatro notas. Agora, imagine que temos um fichário com oito gavetas. Cada gaveta guarda a ficha de um aluno. Esse fichário é o nosso vetor de registros. É uma estrutura dentro da outra: o fichário (vetor) contém as gav...

Atribuição de Vetor de Registros

Agora que já estamos familiarizados com os registros, vamos dar o próximo passo e aprender a trabalhar com vários deles de uma só vez. Imagine que você é um professor e precisa guardar as informações de todos os alunos de uma turma, e não apenas de um. Seria muito trabalhoso criar uma variável de registro para cada aluno, não é mesmo? É para resolver exatamente isso que usamos o  vetor de registros . Pense num vetor de registros como uma grande gaveta ou uma prateleira, com vários fichários individuais. Cada fichário é um registro completo, com todos os dados de uma pessoa. O vetor é a prateleira que organiza todos esses fichários em ordem, um ao lado do outro. Para construir essa "prateleira de fichários", precisamos primeiro definir o modelo do fichário. Ou seja, primeiro criamos o tipo de registro, detalhando o que teremos dentro dele. Só depois disso, dizemos quantos fichários iguais a esse queremos na nossa prateleira. Vamos usar o exemplo real da nossa turma de 8 alunos...

Estrutura de um Vetor de Registros

Agora que já nos familiarizamos com os registros, que são como fichas personalizadas para agrupar informações diferentes sobre uma mesma coisa, podemos dar um passo enorme em nossa programação. Imagine que criar uma ficha para um único aluno, com seu nome, idade e nota, já nos trouxe um grande poder de organização. Mas pense na realidade: uma sala de aula não tem um, mas sim vários alunos. Uma empresa não tem um, mas sim dezenas de funcionários. Uma biblioteca não tem um, mas sim milhares de livros. Como gerenciar todos esses registros de forma prática? É aqui que entramos no conceito do  Vetor de Registros . Se um registro é uma ficha, um vetor de registros é aquela pasta de arquivo, a gaveta ou a estante inteira onde guardamos todas as fichas juntas, uma do lado da outra, e—o mais importante—numeradas. Isso significa que podemos criar, de uma só vez, não apenas uma, mas uma coleção inteira de registros idênticos em sua estrutura, mas diferentes em seu conteúdo. Vamos tornar isso ...

Leitura e Escrita de Registros Contendo Vetores (Matrizes)

É muito importante entendermos como trabalhar com a leitura e escrita de registros que contêm vetores, pois essa é uma situação comum no dia a dia da programação. Quando temos estruturas mais complexas, como um cadastro de aluno com suas notas bimestrais, precisamos acessar cada parte desses dados de forma organizada. A leitura dos valores é realizada com a instrução leia(), que nos permite capturar as informações fornecidas pelo usuário. Já para mostrar esses dados na tela, utilizamos a instrução escreva(). Como estamos lidando com múltiplas notas - no caso, quatro bimestres - precisamos percorrer o vetor utilizando um laço de repetição, que vai acessar cada posição desse vetor uma por uma. No exemplo prático que temos aqui, primeiro solicitamos o nome do aluno, armazenando-o no campo apropriado do registro. Em seguida, entramos em um loop que vai se repetir quatro vezes, uma para cada bimestre. A cada repetição, pedimos ao usuário que digite a nota correspondente àquela posição do ve...

Atribuição de Registros de Vetores (Matrizes)

Imagem
Agora, vamos imaginar que precisamos organizar as informações de um aluno de forma mais completa no nosso programa. Queremos guardar não apenas o seu nome, mas também as suas quatro notas bimestrais. É como se fôssemos criar uma ficha digital para cada estudante. Para isso, vamos usar uma estrutura de dados poderosa que combina diferentes tipos de informação em um único lugar: o registro. Pensando nisso, primeiro definimos como serão armazenadas as notas. Criamos um tipo de vetor chamado BIMESTRE. Essa linha de código é como dizer ao computador: "Reserve um espaço com quatro gavetinhas, uma para cada bimestre, onde cada gavetinha pode armazenar um número real (que é um número com casas decimais, como 8.5 ou 9.0)". Em seguida, partimos para a criação da ficha em si, o registro. Definimos um novo tipo, que batizamos de CAD_ALUNO. Dentro dele, declaramos dois campos. O primeiro campo é o NOME, destinado a armazenar o literal, ou seja, o texto com o nome do aluno. O segundo campo...

Estrutura de um Registro de Vetor

Seguindo nosso raciocínio sobre registros, você deve estar se perguntando: se um registro é uma caixa que agrupa informações variadas, será que dentro dela não podemos colocar uma lista organizada, como um vetor, em vez de vários campos soltos? A resposta é um entusiasmado "sim, podemos e, muitas vezes, devemos!". Imagine novamente aquele registro que criamos para representar um ALUNO. Na versão anterior, tínhamos o campo NOME e depois quatro campos individuais para as notas: NOTA1, NOTA2, NOTA3 e NOTA4. Isso funciona, mas não é a forma mais elegante e prática. Pense se um aluno tivesse dez notas; criar dez campos manualmente seria trabalhoso e pouco inteligente. É aqui que a mágica acontece: podemos simplificar e muito a nossa estrutura. Em vez de quatro campos separados, podemos definir um único vetor dentro do registro, chamado, por exemplo, de NOTAS. Esse vetor teria quatro posições (índices), onde cada uma armazena uma das notas. Dessa forma, a primeira nota vai para NOT...

Leitura e Escrita de Registros

Agora que já sabemos como definir e declarar registros, vamos aprender a interagir com eles, ou seja, como colocar informações dentro dessas estruturas e como recuperá-las depois. A forma de ler um registro é bastante intuitiva e faz uso do comando leia que você já conhece, mas com uma pequena e importante diferença. Como um registro é composto por vários campos, precisamos especificar exatamente em qual campo queremos armazenar a informação fornecida pelo usuário. Para isso, usamos o nome da variável do tipo registro, seguido de um ponto . e, em seguida, o nome do campo desejado. Vamos pegar como exemplo o registro CAD_ALUNO que criamos. Se quisermos ler o nome de um aluno e suas quatro notas, faríamos uma série de instruções de leitura, cada uma apontando para um campo específico. Desta forma, o programa solicitará cada dado individualmente e o armazenará no local exato dentro da estrutura do registro ALUNO. Essa maneira de acessar campo por campo é chamada de forma explícita, e ela ...