ENEM, perguntado por caianesoares952, 8 meses atrás

Registros são estruturas de dados heterogêneas, ou seja, permitem o armazenamento de valores de tipos diferentes. Assim, cada informação armazenada nesta estrutura é chamada de campo e possui um nome e um tipo. Após definido o registro, variáveis podem ser criadas com tipo associado a ele. Dado o seguinte registro: coordenada = registro X : inteiro Y : inteiro fimregistro Assinale a alternativa referente à forma correta de declarar um vetor chamado posicoes com 10 elementos deste registro.

Soluções para a tarefa

Respondido por isaquehchen
1

Resposta:

Até o momento, vimos apenas variáveis que são utilizadas para o armazenamento de dados simples.

Entretanto, as variáveis podem ser compostas, formadas por uma ou mais posições (campos ou entradas),

podendo armazenar um ou mais dados. As variáveis compostas são classificadas em homogêneas

(vetoriais) ou heterogêneas (registros). Em função de sua capacidade de armazenar diferentes valores, este

tipo de variável pode ser encarado como uma “estrutura” de armazenamento. Entretanto, não deve ser

confundido com as “estruturas de dados” que veremos mais adiante neste livro. O conceito estruturas de

dados envolve não somente a estrutura de armazenamento, mas também regras de formação e

manipulação, além de funções próprias de acesso.

4.1 Variáveis Vetoriais Unidimensionais

As variáveis vetoriais unidimensionais, chamadas muitas vezes simplesmente de variáveis vetoriais, são

variáveis compostas homogêneas indexadas, as quais contêm um ou mais campos de mesmo tipo, onde

cada campo é acessado pelo seu índice (posição). Sua declaração geral é definida da seguinte forma:

var <nome>:array[<inicio>..<fim>] of <tipo_da_variavel>;

Exemplo 1: Declaração de uma variável chamada A que pode armazenar 10 números inteiros.

var A:array[1..10] of integer;

Neste exemplo, a variável A será armazenada na memória do computador em uma área equivalente a 10

vezes o que é armazenado para uma única variável inteira. Esta variável é representada pela figura 9. Nela,

os números 1, 2, 3...10 são os índices (posição ou localização) de cada número inteiro que pode ser

armazenado. O índice serve para localizar qual elemento do vetor estará sendo referido em determinado

instante. Por exemplo, o elemento A[5] é localizado no campo de índice 5 do vetor A e, no exemplo da

figura, vale -12.

-4

1

20

2

15

3

0

4

-12

5

-8

6

30

7

11

8

-3

9

5

10

A[5] = dado armazenado

índice do dado no vetor

A

Figura 9 – Representação de uma Variável Vetorial

Para atribuir um valor qualquer para um campo de posição i faz-se o seguinte:

A[i]:=<valor_qualquer>;

Neste caso, diz-se que a posição i-ésima do vetor A foi indexada.

Exemplo 2: Algumas operações que podem ser realizadas com vetores.

B[3]:=´flor´;

A[6]:=A[8];

read(B[2]);

write(B[i]);

A[i]:=A[i+1]-C[j];

Exemplo 3: Trecho de programa que inicializa todos os campos de um vetor A com o valor 0 (zero). Dizse “inicializar o vetor com zeros” ou simplesmente “zerar o vetor”.

Primeira Opção: atribui-se 0 (zero) a todos os campos, um a um, da seguinte forma:

A[1]:=0;

A[2]:=0;

A[3]:=0;

A[4]:=0;

A[5]:=0;

A[6]:=0;

A[7]:=0;

A[8]:=0;

A[9]:=0;

A[10]:=0;

Segunda Opção: utiliza-se uma variável para indexar as 10 posições com um comando de repetição. A

idéia aqui é usar a própria variável de contagem do comando for para indexar o vetor todo, da seguinte

forma:

for i:=1 to 10 do

A[i]:=0;

Neste exemplo dizemos que o vetor A foi completamente indexado (percorrido, visitado, pesquisado,

varrido, ...) em todas as suas entradas e para cada uma um valor zero foi inserido. Dizemos que para cada

iteração do for, ou seja, para cada valor de i, o elemento i-ésimo (elemento da vez, elemento corrente,

elemento atual etc...) é zerado. A figura 10 mostra uma possível representação gráfica da indexação com

comando de repetição.

A

1 2 3 4 5 6 7 8

3 20 12 2 -12 -5 1 11

i

9 10

4 8

Figura 10 – Representação Gráfica da Indexação Vetorial com Repetição

Entretanto, esta varredura pode ser feita com os comandos de repetição repeat e while, conforme

os modelos que seguem.

i:=0;

repeat

inc(i);

A[i]:=0;

until (i=10);

Explicação:

Perguntas interessantes