Buscar

MAPA - ESTRUTURA DE DADOS I - 52_2024 Olá, estudante! Chegou o momento de explorar de forma PRÁTICA os conteúdos aprendidos na nossa disciplina. Vamos lá? Inicie realizando a leitura do seguinte texto

Prévia do material em texto

‘
(44) 99162-8928
Está SEM TEMPO ou com DIFICULDADE de realizar o seu trabalho
acadêmico?
Entre em contato conosco agora mesmo! Iremos te ajudar nessa
jornada acadêmica
(44) 99162-8928
Acesse o site :https://atividademapa.com.br/
MAPA - ESTRUTURA DE DADOS I - 52_2024
Olá, estudante! Chegou o momento de explorar de forma PRÁTICA os conteúdos
aprendidos na nossa disciplina. Vamos lá? Inicie realizando a leitura do seguinte texto:
Para testar sua implementação, você pode criar um pequeno programa C que usa sua pilha
para realizar essa tarefa. Por exemplo, você pode criar um programa que lê uma palavra do
usuário e, em seguida, usa uma pilha para inverter a ordem das letras na palavra e imprimir
a palavra resultante. Para isso iniciou o seguinte código C que usa uma pilha para inverter a
ordem das letras em uma palavra:
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100
struct Pilha {
char itens[MAX_SIZE];
int topo;
};
void inicializar(struct Pilha *p) {
p->topo = -1;
}
int vazia(struct Pilha *p) {
return p->topo == -1;
}
void push(struct Pilha *p, char item) {
...
}
char pop(struct Pilha *p) {
...
}
char topo(struct Pilha *p) {
...
}
void limpar(struct Pilha *p) {
...
}
int main() {
struct Pilha p;
inicializar(&p);
while (1) {
printf("\nDigite 1 para adicionar uma palavra à pilha\n");
printf("Digite 2 para desempilhar a palavra\n");
printf("Digite 3 para limpar a pilha\n");
printf("Digite 4 para exibir o topo da pilha\n");
printf("Digite 0 para sair\n");
int opcao;
printf("\nEscolha uma opção: ");
scanf("%d", &opcao);
switch (opcao) {
case 1: {
char palavra[MAX_SIZE];
printf("\nDigite a palavra a ser adicionada: ");
scanf("%s", palavra);
for (int i = 0; i < strlen(palavra); i++) {
push(&p, palavra[i]);
}
printf("\nPalavra '%s' adicionada à pilha.\n", palavra);
break;
}
case 2: {
char palavra[MAX_SIZE];
int indice = 0;
while (!vazia(&p)) {
palavra[indice++] = pop(&p);
}
palavra[indice] = '\0';
if (indice>0) {
printf("\nPalavra desempilhada: '%s'\n", palavra);
} else {
printf("\nPilha vazia. Nenhum elemento para mostrar.\n");
}
break;
}
case 3: {
limpar(&p);
printf("\nPilha limpa.\n");
break;
}
case 4: {
char top = topo(&p);
if (top == '\0') {
printf("\nPilha vazia. Nenhum elemento para mostrar.\n");
} else {
printf("\nElemento no topo da pilha: %c\n", top);
}
break;
}
case 0: {
return 0;
}
default: {
printf("\nOpção inválida. Digite 1, 2, 3, 4 ou 0.\n");
}
}
}
return 0;
}
Neste código, a classe Pilha é definida com os mesmos métodos básicos da primeira
implementação. A função inverte palavra recebe uma palavra e usa uma pilha para inverter
a ordem das letras na palavra. Para cada letra na palavra, ela é adicionada à pilha. Em
seguida, as letras são removidas da pilha uma a uma e adicionadas à palavra resultante.
Para esta atividade MAPA, complete o código com as funcionalidades para empilhar (push),
desempilhar (pop), limpar a pilha (limpar) e exibir o topo da pilha (topo).
AVISOS IMPORTANTES!
- 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 em .C.
IMPORTANTE:
1. Acesse o link do vídeo que o professor da disciplina gravou com orientações para
ajudá-lo nesse processo de criação e desenvolvimento. O acesso deverá ser realizado em:
FÓRUM INTERATIVO >> FÓRUM INTERATIVO - LINKS DAS AULAS AO VIVO.
2. Responda à atividade seguindo como roteiro os tópicos elencados anteriormente.
3. Após o envio não são permitas alterações, ou modificações. Logo, você tem apenas uma
chance de enviar o arquivo corretamente. Revise bem antes de enviar!
4. Não são permitidas correções parciais no decorrer do módulo, ou seja, o famoso:
“professor, veja se minha atividade está certa?”. Isso invalida seu processo avaliativo.
Lembre-se que a interpretação da atividade também faz parte da avaliação.
5. Procure sanar suas dúvidas junto à mediação em tempo hábil sobre o conteúdo exigido
na atividade, de modo que consiga realizar sua participação.
6. Atenção ao prazo de entrega, evite envio de atividade em cima do prazo. Você pode ter
algum problema com internet, computador, software etc., e os prazos não serão
flexibilizados, mesmo em caso de comprovação.
Bons estudos!
Em caso de dúvidas, encaminhar mensagem ao seu Professor Mediador.
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’

Continue navegando