Logo Passei Direto
Buscar
Material

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.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina