Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercícios 1. Assinale a alternativa que representa corretamente o conceito de registro. Você acertou! A. É um tipo de dado construído, que pode ser composto por variáveis de diferentes tipos. É um agrupamento de variáveis relacionadas entre si, que constitui um tipo de dado composto e heterogêneo, formado por variáveis de diferentes tipos, que podem ser primitivas ou de outros registros. Um registro não tem índice como um vetor. 2. Considerando a seguinte estrutura que representa um registro de livro na linguagem C, marque a alternativa que declara corretamente um vetor 1000 posições deste registro. typedef struct { char isbn; char titulo[50]; char autor[50] float preco; int paginas; } Livro; C. Livro livro[1000]; Na linguagem C, é preciso informar o tipo de dado da variável antes de seu nome. Sendo “Livro” um tipo de dado composto construído, a forma correta de declarar um vetor de “Livro” é Livro livro[1000], em que “livro” (com letras minúsculas) pode ser qualquer expressão válida para o nome de uma variável. 3. Considerando um vetor de registros de uma estrutura nomeada como “aluno”, que tem o atributo “nome” como uma variável do registro, indique a alternativa que representa a forma correta de atribuição de “Joao” para essa variável na posição 1 do vetor, com base na linguagem C. typedef struct { long matricula; char nome[50]; int turma; } aluno; aluno a1[100]; C. strcpy(a1[1].nome, “Joao”); A forma correta, com base na linguagem C, para atualizar a variável “nome” do vetor de registros “a1” na posição 1 é strcpy(a1[1].nome, “Joao”). O indicador do vetor deve ficar ao lado da variável do vetor “a1” e não da variável que pertence ao registro “nome”. O uso da função strcpy é necessário porque a variável "nome" é uma cadeia de caracteres e não pode ser atribuída diretamente a uma variável do tipo array de char. 4. Analise o seguinte código baseado na linguagem C e marque a alternativa que representa o objetivo da função xxxxx. typedef struct { long matricula; int turma; } Aluno; Aluno aluno[100]; void xxxxx(long matricula, int turma) { int i; for (i= 0; i < 100; i++) { if (aluno[i].matricula == matricula) aluno[i].turma= turma; return 1; } } Return 0; } B. Alterar um registro a partir da matrícula que é passada por parâmetro. A função apresentada visa alterar o registro de um aluno a partir de sua busca no vetor de registros com base na matrícula que é passada por parâmetro. A função retorna 1 se houve a alteração e 0 caso o registro não seja encontrado no vetor. 5. Sendo um vetor de registros uma estrutura fixa, que reserva espaço na memória para a quantidade de elementos informados na sua declaração, o que é preciso fazer antes de utilizá-lo, visando manter a confiabilidade de dados para incluir, alterar e excluir registros? Inicializar o vetor com valores padrões, que devem ser diferentes dos dados que serão armazenados. Para um cadastro de vetor de registros, é recomendado inicializar todas as posições com valores padronizados que sejam diferentes dos dados que serão armazenados. Isso faz com que o sistema possa identificar quais posições estão livres para incluir dados e quais estão ocupadas para que possam ser alteradas. Além disso, faz com que o sistema atue na limpeza de possíveis sujeiras de memória que possam ocupar alguma posição no momento de sua criação.
Compartilhar