MAPA – ESOFT – ESTRUTURA DE DADOS I – 52/2023

É o que você procurava?

Fale conosco para obter o trabalho completo, clique no botão ao lado

QUESTÃO 1

Entre em contato com a nossa equipe que vamos assessorar com esse trabalho

Mais de 10 anos no mercado acadêmico

CONTATO 

Whats(15) 98170-8778

Tele gram.:( 15) 98170-8778

E-MAIL: Mvf5system@gmail.com

Caro estudante, você está participando de um processo de seleção para o cargo de desenvolvedor(a) em uma empresa de biotecnologia, com foco na área da genética. Sendo assim, é muito importante que leia o recorte do contexto abaixo, e acesse o link disponível para melhor compreensão do assunto de DNA.

“O DNA (ácido desoxirribonucleico) é um tipo de ácido nucleico que armazena a informação genética da grande maioria dos seres vivos. Essa molécula é formada por nucleotídeos e apresenta, geralmente, a forma de uma dupla-hélice. As bases nitrogenadas estão classificadas em dois grupos: as pirimidinas e purinas. Citosina (C), timina (T) e uracila (U) são pirimidinas, enquanto a adenina (A) e a guanina (G) são purinas. Das bases nitrogenadas citadas, apenas a uracila não é observada no DNA.”

Disponível em <https://brasilescola.uol.com.br/biologia/dna.htm>

Figura 1: Ligações entre os nucleotídeos e a complementaridade das bases nitrogenadas. Fonte: Brasil escola.

Com base no contexto da genética abordado acima, você deve construir um algoritmo em linguagem C utilizando os conceitos de FILA DINÂMICA e de PILHA DINÂMICA.

Para que este algoritmo funcione de acordo com o contexto apresentado, você deve:

1 – Ler a entrada de DNA com n caracteres compostos por uma sequência de nucleotídeos (A C T G) e armazená-los em uma estrutura de FILA DINÂMICA.
2 – Ao concluir a entrada, você deve remover a sequência da fila para a dupla fita do DNA convertendo a sequência de nucleotídeos (T G A C) e armazená-los em uma estrutura de PILHA DINÂMICA.
3 – Faça a impressão de ambas as estruturas.

Vale ressaltar, que a sequência de nucleotídeos é uma cadeia de caracteres (strings). Leal & Oliveira (2022), em Algoritmos e Lógica de Programação II, ressalta que um tripo string em C é um vetor do tipo char e que ao final da string é armazenado o ‘\0’, por isso é sempre necessário declarar uma string com uma posição a mais do que o número de caracteres que desejamos armazenar.

Oliveira, P. M.; Leal, G. C L. Algoritmos e Lógica de Programação II. Maringá-Pr.: Unicesumar, 2020.

Quanto as estruturas utilizadas na solução do problema, segundo Oliveira & Pereira (2019), a pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação, onde os dados são inseridos e removidos no seu topo (LIFO – Last In, Firts Out), enquanto as filas, embora sejam também estruturas muito utilizadas, possuem particularidades fazem com seu funcionamento seja um pouco menos simples do que o das pilhas, pois usam o conceito FIFO (First In, First Out), ou seja, o primeiro que entra é o primeiro que sai.

Oliveira, P. M.;  Pereira, R. de L. Estrutura de Dados I. Maringá-Pr.: Unicesumar, 2019.

Para solucionar o problema apresentado é fundamental desenvolver as seguintes funções de cada estrutura:

Inserir na fila
Excluir da fila
Imprimir a fila
Inserir na pilha
Imprimir a pilha

Exemplo:

Fila: ACTTGACCGTTA
Pilha: TAACGGTCAAGT

AVISOS IMPORTANTES!

– Para auxiliá-lo na elaboração deste algoritmo, utilize o programa Dev C++ (disponível no link: https://sourceforge.net/projects/orwelldevcpp/).
– A atividade deve ser realizada utilizando linguagem C, outras linguagens de programação como JAVA, PHP, entre outras, não serão aceitas.
– Também não serão aceitos arquivos executáveis.
– Envie o código fonte da atividade compactado .zip ou .rar

É o que você procurava?

Fale conosco para obter o trabalho completo, clique no botão ao lado

Deixe um comentário