O mínimo que se espera de um(a) programador(a) de nível "Júnior" é que ele(a) domine lógica de programação, bem como alocação dinâmica de memória e estruturas de dados básicas. Dessa forma, um(a) programador(a) em início de carreira deveria, pelo menos, poder analisar um código-fonte próprio, explicar seu funcionamento, bem como adaptá-lo para utilizar tal código em seu dia a dia. Assim, observe o trecho de código-fonte a seguir:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 |
typedef struct ELEMENTO{
int
data;
ELEMENTO*
next;
};
typedef
struct ESTRUTURA{
ELEMENTO*
head;
};
ESTRUTURA
*e;
void
insere(){
ELEMENTO*
p = (ELEMENTO *) malloc(sizeof(ELEMENTO));
p-data
= rand()0;
p-next
= e-head;
e-head
= p;
}
int
remove(){
ELEMENTO*
p = e-head;
int
data;
if(p
!= NULL){
e-head
= p-next;
p-next
= NULL;
data
= p-data;
return
data;
}
}
|
Fonte: o autor.
Observe que essa é uma estrutura de dados que pode ser composta dinamicamente. Ou seja, seus elementos não são alocados estritamente em tempo de compilação, mas em tempo de execução.
Com base no trecho de código anterior e em seus conhecimentos sobre estruturas de dados lineares, responda:
- Podemos dizer que essa estrutura de dados ficará armazenada, obrigatoriamente, de forma contígua em memória?
- Qual é o nome da estrutura de dados que o respectivo trecho de código-fonte se propõe a implementar?
- Da forma como o código foi escrito, ele possui algum erro de sintaxe? Se sim, indique em qual linha de código está o erro e como podemos fazer para corrigir.
- Qual é o problema com a função "remove()"? Como podemos corrigi-la?
Dicas para realizar a atividade MAPA:
- Durante as aulas, o professor fornecerá dicas que podem ser utilizadas para a confecção das suas atividades, assim, é de suma importância participar da aula ao vivo ou assistir posteriormente.
- Assista ao vídeo explicativo da atividade MAPA.
- Assista às aulas conceituais da disciplina.
Como entregar a atividade:
A entrega da atividade deve ser em um documento do tipo Word (.docx) ou PDF (.pdf).
ATENÇÃO: revise seu arquivo antes do envio. Certifique-se de que é o arquivo correto, formato correto, se contempla todas as demandas da atividade etc. Após o envio, não serão permitidas alterações. Durante a disciplina, procure sanar suas dúvidas pontuais em relação ao conteúdo relacionado à atividade. Contudo, não são permitidas correções parciais, ou seja, enviar para que o professor possa fazer uma avaliação prévia e retornar para que o aluno possa ajustar e enviar novamente. Isso não é permitido, pois descaracteriza o processo de avaliação.