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