Pages

sexta-feira, 16 de maio de 2025

Uma rede de lojas de produtos naturais utiliza um sistema automatizado para planejar as rotas de entrega dos caminhões. Cada parada da rota representa uma loja que deve ser visitada. No sistema antigo, sempre que uma nova loja era adicionada no meio da rota, era necessário realocar todos os elementos da estrutura,

MAPA - ESOFT - ESTRUTURAS DE DADOS - 52_2025

Precisando de assessoria nos seus TRABALHOS entre em contato com a 2M ASSESSORIA

Canal do Instagram: https://www.instagram.com/equipe2massessoria

CONTATO: WHATS::: (15) 98115-0680

   Link direto para WhatsApp




Uma rede de lojas de produtos naturais utiliza um sistema automatizado para planejar as rotas de entrega dos caminhões. Cada parada da rota representa uma loja que deve ser visitada. No sistema antigo, sempre que uma nova loja era adicionada no meio da rota, era necessário realocar todos os elementos da estrutura, resultando em lentidão e consumo excessivo de memória. Para resolver esse problema, decidiu-se utilizar uma estrutura de dados dinâmica, onde cada ponto da rota (loja) pudesse ser facilmente inserido ou removido sem a necessidade de deslocar os outros elementos da lista. Você foi contratado para ajudar a equipe de desenvolvimento a implementar essa nova estrutura. Abaixo está o código inicial de uma lista ligada com algumas funções incompletas. Seu desafio é completar o método inserir_na_posicao para que ele insira uma nova loja (representada por seu nome) em uma posição específica da rota.

class Loja:
    def __init__(self, nome):
        self.nome = nome
        self.proximo = None
 
class RotaEntrega:
    def __init__(self):
        self.inicio = None
 
    def inserir_inicio(self, nome_loja):
        nova_loja = Loja(nome_loja)
        nova_loja.proximo = self.inicio
        self.inicio = nova_loja
 
    def inserir_na_posicao(self, nome_loja, posicao):
        # COMPLETE AQUI: implementar a lógica de inserção na posição
        pass
 
    def imprimir_rota(self):
        atual = self.inicio
        while atual:
            print(f" {atual.nome}")
            atual = atual.proximo
 
# TESTE DO CÓDIGO
rota = RotaEntrega()
rota.inserir_inicio("Loja D")
rota.inserir_inicio("Loja B")
rota.inserir_inicio("Loja A")
 
# Inserir a "Loja C" entre "Loja B" e "Loja D" (posição 2)
rota.inserir_na_posicao("Loja C", 2)
 
print(" Rota final:")
rota.imprimir_rota()
 
#  Saída esperada:
#  Loja A
#  Loja B
#  Loja C
#  Loja D




Canal do Youtube: 
https://www.youtube.com/@EQUIPE2MASSESSORIAACAD%C3%8AMICA


Solicite um orçamento com a nossa equipe




Precisando de assessoria nos seus TRABALHOS entre em contato com a 2M ASSESSORIA

E-mail:  assessoria.academica2m@gmail.com

Facebook: fb.me/ajudaemTrabalhosdeprogramacao

Whats: (15) 98115-0680 

   Link direto para WhatsApp

Canal do Instagram: https://www.instagram.com/equipe2massessoria





0 comentários:

Postar um comentário

 
Copyright © 2023 2m Assessoria Academica todos os direitos reservados.
Contato para trabalhos: assessoria.academica2m@gmail.com - WhatsApp: (15) 98115 - 0680