Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
UNIVERSIDADE ANHANGUERA
ENGENHARIA DE PRODUÇÃO
MATHEUS ARTUR DE SOUZA
ATIVIDADE PRÁTICA – UNIDADE 2
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
LINHARES – ES
1
2025
ATIVIDADE PRÁTICA
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
Trabalho apresentado à Universidade, como requisito
parcial para a obtenção de média semestral nas
disciplinas norteadoras do semestre letivo.
Tutor (a): PATRICIA MARIA DEFASSIO
LINHARES – ES
2
2025
SUMÁRIO
1 INTRODUÇÃO ......................................................................................................... 2
2 MÉTODOS E RESULTADOS .................................................................................. 3
2.1 ATIVIDADE .......................................................................................................... 3
3 CONCLUSÃO ........................................................................................................ 09
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 10
1 INTRODUÇÃO
3
Este trabalho de aula prática de Algoritmos e Lógica de Programação é
composto uma atividade, cujos objetivos específicos visam desenvolver habilidades
essenciais na interpretação de requisitos, desenvolvimento de algoritmos e aplicação
de estruturas fundamentais em linguagens de programação. A prática contínua e a
resolução de problemas utilizando diferentes estruturas de controle e repetição são
cruciais para a formação de uma base sólida em programação.
Na Atividade, o foco é compreender e traduzir requisitos em algoritmos
precisos, explorando todas as ramificações possíveis durante a execução. Para isso,
aplica-se uma estrutura de decisão como "SE" ou "ESCOLHA CASO" no
desenvolvimento de algoritmos computacionais com a pseudolinguagem Portugol.
Esta atividade permitirá controlar o fluxo do programa, garantindo que diferentes
condições sejam adequadamente tratadas.
Ao final desta atividade, desenvolve-se uma compreensão robusta de
algoritmos e lógica de programação, aplicando diversas estruturas de controle e
repetição em diferentes linguagens. Esta prática contínua não só reforça a habilidade
de interpretar e desenvolver algoritmos precisos como também prepara para desafios
mais complexos na programação.
2 MÉTODOS E RESULTADOS
2.1 ATIVIDADE
Atividade proposta:
Desenvolver um programa em Portugol, utilizando-se do Portugol Webstudio.
Desenvolvimento do programa:
programa {
// Função principal que inicia a execução do programa
funcao inicio() {
// Declaração de uma variável inteira para armazenar a opção escolhida
pelo jogador
inteiro opcao
4
// Mensagens introdutórias que descrevem a situação inicial e os caminhos
disponíveis
escreva("Você é um explorador corajoso que se aventura em uma
misteriosa Floresta Sussurrante em busca de tesouros lendários e segredos
perdidos.\n")
escreva("Ao adentrar na floresta, você se depara com três caminhos
diferentes, cada um levando a uma parte desconhecida e perigosa da floresta.\n")
escreva("Sua missão é escolher sabiamente o caminho a seguir,
enfrentando desafios e tomando decisões que impactarão sua jornada e sua
pontuação final. Prepare-se para esta aventura cheia de mistérios!\n")
escreva("Caminho 1: O Caminho das Sombras\n")
escreva("Caminho 2: O Caminho da Luz\n")
escreva("Caminho 3: O Caminho das Criaturas\n")
// Solicita ao jogador que escolha um dos caminhos
escreva("Escolha um caminho (1, 2 ou 3): ")
leia(opcao) // Lê a opção escolhida pelo jogador
// Estrutura de seleção "ESCOLHA CASO" para desviar a execução do
código de acordo com a opção escolhida
escolha(opcao) {
caso 1:
// Chama a função que lida com o Caminho das Sombras
caminho_das_sombras()
pare
caso 2:
// Chama a função que lida com o Caminho da Luz
caminho_da_luz()
pare
caso 3:
// Chama a função que lida com o Caminho das Criaturas
caminho_das_criaturas()
5
pare
caso contrario:
// Mensagem exibida quando o jogador escolhe uma opção inválida
escreva("Escolha inválida. Por favor, selecione um caminho
válido.\n")
}
}
// Função para lidar com o Caminho das Sombras
funcao caminho_das_sombras() {
escreva("Você escolheu o Caminho das Sombras.\n")
escreva("Este caminho é cercado por árvores antigas e sombrias, com
raios de lua penetrando entre os galhos. Parece ser o caminho mais misterioso e
perigoso da floresta.\n")
escreva("Você encontra uma criatura mágica guardiã do caminho, que
exige um enigma para deixá-lo passar.\n")
escreva("O enigma é: \"Quem sou eu? Tenho olhos, mas não vejo. Tenho
boca, mas não falo. O que sou?\"\n")
// Declaração de uma variável para armazenar a resposta do jogador
cadeia resposta
leia(resposta) // Lê a resposta do jogador
// Estrutura condicional "SE" para verificar se a resposta está correta
se (resposta == "caveira") {
// Mensagem e pontuação quando a resposta está correta
escreva("Correto! Você encontra um baú escondido contendo uma
gema preciosa que vale 100 pontos.\n")
} senao {
// Mensagem quando a resposta está errada
escreva("Resposta errada! Você não pode passar.\n")
}
}
6
// Função para lidar com o Caminho da Luz
funcao caminho_da_luz() {
escreva("Você escolheu o Caminho da Luz.\n")
escreva("Este caminho é iluminado por raios de sol que filtram entre as
copas das árvores. Parece ser o caminho mais seguro e reconfortante da floresta.\n")
escreva("Você encontra uma ponte quebrada sobre um rio turbulento.
Você deve decidir se tentará atravessar a ponte quebrada ou procurará um desvio
seguro.\n")
escreva("Digite 'atravessar' para atravessar a ponte ou 'desvio' para
procurar um desvio: ")
// Declaração de uma variável para armazenar a decisão do jogador
cadeia decisao
leia(decisao) // Lê a decisão do jogador
// Estrutura condicional "SE" para verificar a decisão do jogador
se (decisao == "atravessar") {
// Mensagem e pontuação quando o jogador atravessa a ponte
escreva("Você atravessa a ponte quebrada com sucesso e encontra
uma fonte mágica que restaura sua saúde e adiciona 50 pontos à sua pontuação.\n")
} senao {
// Mensagem quando o jogador procura um desvio
escreva("Você encontra um desvio seguro, mas não há premiação.\n")
}
}
// Função para lidar com o Caminho das Criaturas
funcao caminho_das_criaturas() {
escreva("Você escolheu o Caminho das Criaturas.\n")
escreva("Este caminho é repleto de sons estranhos e pegadas misteriosas
no chão. Parece ser o caminho mais imprevisível e enigmático da floresta.\n")
7
escreva("Você se depara com uma criatura mágica adormecida
bloqueando o caminho. Você deve decidir se tentará contornar a criatura com cuidado
ou acordá-la para passar.\n")
escreva("Digite 'contornar' para tentar contornar ou 'acordar' para acordá-
la: ")
// Declaração de uma variável para armazenar a decisão do jogador
cadeia decisao
leia(decisao) // Lê a decisão do jogador
// Estrutura condicional "SE" para verificar a decisão do jogador
se (decisao == "contornar") {
// Mensagem e pontuação quando o jogador contorna a criatura
escreva("Você contorna a criatura com sucesso e encontra uma árvore
encantada que concede a habilidade especial de camuflagem, adicionando 75 pontos
à sua pontuação.\n")
} senao {
// Mensagem quando o jogador acorda a criatura
escreva("A criatura acorda e você precisa fugir sem premiação.\n")
}
}
}
Testes:
Figura 1 – Teste 1.
Fonte: O Autor (2025).
Figura 2 – Teste 2.
8
Fonte: O Autor (2025).
Figura 3 – Teste 3.
Fonte: O Autor (2025).
Figura 4 – Teste 4.
Fonte: O Autor (2025).
Figura 5 – Teste 5.
Fonte: O Autor (2025).
Figura 6 – Teste 6.
Fonte: O Autor (2025).
Figura 7 – Teste 7.
9
Fonte: O Autor (2025).
Figura 8 – Teste 8.
Fonte: O Autor (2025).
3 CONCLUSÃO
O desenvolvimento deste trabalho proporcionou uma valiosa oportunidade para
aplicar conceitos de programação, algoritmos e estruturas de dados em contextos
práticos e variados. Cada atividade apresentou desafios únicos e contribuiu de
maneira significativa para o aprofundamento das minhas habilidades técnicas e de
resolução de problemas.
A criação de um jogo de exploração em uma floresta misteriosa utilizando
Portugol foi uma experiência enriquecedora. A implementação das estruturas de
seleção "ESCOLHA CASO" e "SE" permitiu desenvolver um fluxo narrativo
envolvente, desafiando o usuário a tomar decisões estratégicas para avançar na
história. A atenção aos detalhes e a criatividade foram essenciais para criar uma
narrativa que mantivesse o jogador interessado e engajado.
Este trabalho, ao abranger uma gama diversa de atividades, proporcionou uma
visão abrangente das capacidades e aplicações da programação em diferentes
contextos. Cada tarefa reforçou a importância do planejamento, da lógica e da atenção
aos detalhes na criação de soluções eficazes e funcionais. Através deste processo,
não apenas aprimorei minhas habilidades técnicas, mas também desenvolvi uma
abordagem mais estratégica e criativa para resolver problemas complexos. Este
10
trabalho representa um marco significativo no meu aprendizado contínuo e na minha
jornada como desenvolvedor de software.
REFERÊNCIAS BIBLIOGRÁFICAS
CORMEN, Thomas. Algoritmos – Teoria e Prática. 3.ed. Rio de Janeiro: LTC, 2022.
MENÉNDEZ, Andrés. Simplificando algoritmos. 1. ed. - Rio de Janeiro: LTC, 2023.
SILVA, Flávio Soares Corrêa D.; FINGER, Marcelo; MELO, Ana Cristina Vieira. Lógica para
computação. 2. ed. São Paulo: Cengage Learning, 2017.