Prévia do material em texto
FACULDADE ANHANGUERA
Algoritmos e lógica de programação
ATIVIDADE PRÁTICA
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
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): ANDERSON
1 INTRODUÇÃO
Este portfólio de aula prática de Algoritmos e Lógica de Programação é composto por quatro atividades, cada uma com objetivos específicos que 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 1, 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.
A Atividade 2 envolve, além da correta interpretação dos requisitos, a implementação de estruturas de repetição para executar blocos de código repetidamente enquanto uma condição for verdadeira. Utilizando a pseudolinguagem Portugol, aplica-se a estrutura "ENQUANTO FAÇA", criando algoritmos mais dinâmicos e eficientes.
Na Atividade 3, transita-se para a Linguagem de Programação "C", onde utiliza-se a estrutura condicional "IF" para desenvolver algoritmos. Esta prática com "C" introduz conceitos de programação mais próximos de linguagens utilizadas profissionalmente, solidificando a lógica aprendida anteriormente.
A Atividade 4 expande o conhecimento para a manipulação de arquivos e estruturas de dados complexas como "Structs" em "C". Esta habilidade é fundamental para a criação de programas que necessitam armazenar, acessar e manipular grandes volumes de dados de maneira eficiente.
Ao final destas quatro atividades, 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 1
Atividade proposta:
Desenvolve-se 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
// 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()
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")
}
}
// 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")
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.
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.
Fonte: O Autor (2025).
Figura 8 – Teste 8.
Fonte: O Autor (2025).
image7.png
image8.png
image9.png
image1.png
image2.png
image3.png
image4.png
image5.png
image6.png