·

Engenharia Civil ·

Introdução à Engenharia

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Público ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Roteiro Aula Prática 2 Público ROTEIRO DE AULA PRÁTICA NOME DA DISCIPLINA ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Unidade U2 ELEMENTOS DE ALGORITMOS Aula A2 EXECUÇÃO SEQUENCIAL E ESTRUTURAS DE DECISÃO Tempo previsto de execução de aula prática 2h CAMPO OBRIGATÓRIO NÃO APARECER EM NENHUM RAP OBJETIVOS campo obrigatório exibição para todos Definição dos objetivos da aula prática Interpretação dos requisitos e desenvolvimento correto do algoritmo abrangendo todas as possibilidades distintas na execução do programa Aplicar uma estrutura de decisão SE ou ESCOLHA CASO no desenvolvimento de algoritmos computacionais com a pseudolinguagem Portugol INFRAESTRUTURA OBRIGATÓRIO SE HOUVER EXIBIÇÃO DOCENTETUTOR Instalações Materiais de consumo Equipamentos Laboratório de Informática Materiais de consumo NSA Equipamentos Computador com acesso à internet e com o mínimo de 4 GB de Memória RAM SOLUÇÃO DIGITAL OBRIGATÓRIO SE HOUVER APARECER PARA TODOS Portugol WebStudio O Portugol WebStudio é uma ferramenta online de ensino e de aprendizagem de algoritmos baseada no Portugol Português Estruturado que é uma pseudolinguagem de programação para fins acadêmicos Tipo de Licença GPL GNU General Public License 3 Público PROCEDIMENTO PARA INSTALAÇÃO A ferramenta Portugol Web Studio não necessita de instalação basta somente acessar por meio de uma conexão web o endereço URL a seguir LINK httpsportugoldev EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL EPI CAMPO OBRIGATÓRIO APARECER PARA TODOS NSA PROCEDIMENTOS PRÁTICOS OBRIGATÓRIO TODOS ProcedimentoAtividade nº 1 Virtual Atividade proposta Você é um explorador corajoso que se aventura em uma misteriosa Floresta Sussurrante em busca de tesouros lendários e segredos perdidos Ao adentrar na floresta você se depara com três caminhos diferentes cada um levando a uma parte desconhecida e perigosa da floresta 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 Preparese para esta aventura cheia de mistérios Caminho 1 O Caminho das Sombras Descrição 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 Obstáculo O jogador encontra uma criatura mágica guardiã do caminho que exige um enigma para deixá lo passar O enigma é Quem sou eu Tenho olhos mas não vejo Tenho boca mas não falo O que sou Resposta uma caveira Premiação Se o jogador responder corretamente ao enigma ele encontra um baú escondido contendo uma gema preciosa que vale 100 pontos Caminho 2 O Caminho da Luz Descrição Este caminho é iluminado por raios de sol que filtram entre as copas das árvores Parece ser o caminho mais seguro e reconfortante da floresta Obstáculo O jogador encontra uma ponte quebrada sobre um rio turbulento Ele deve decidir se tentará atravessar a ponte quebrada ou procurará um desvio seguro Premiação Se o jogador decidir atravessar a ponte quebrada com sucesso ele encontra uma fonte mágica que restaura sua saúde e adiciona 50 pontos à sua pontuação 4 Público Caminho 3 O Caminho das Criaturas Descrição Este caminho é repleto de sons estranhos e pegadas misteriosas no chão Parece ser o caminho mais imprevisível e enigmático da floresta Obstáculo O jogador se depara com uma criatura mágica adormecida bloqueando o caminho Ele deve decidir se tentará contornar a criatura com cuidado ou acordála para passar Premiação Se o jogador decidir contornar a criatura com sucesso ele encontra uma árvore encantada que concede a ele uma habilidade especial de camuflagem adicionando 75 pontos à sua pontuação Com esses três caminhos o jogador terá que tomar decisões estratégicas para superar os obstáculos e acumular o máximo de pontos possível em sua aventura pela Floresta Sussurrante Procedimentos para a realização da atividade Aplicação dos fundamentos da lógica de programação e algoritmos por meio de instruções de entrada e saída criação de variáveis e constantes sobretudo a utilização da estrutura de decisão SE ou ESCOLHA CASO em Portugol para resolução da atividade 1 Desenvolvimento do Programa Utilizar a linguagem Portugol no Portugol Web Studio O estudante deverá utilizar a linguagem de programação Portugol por meio da ferramenta Portugol WebStudio acessandoo na url httpsportugoldev Na ferramenta o estudante chegará nesta tela e deverá clicar no botão Novo Arquivo Implementar os três desvios condicionais simples composto e ou encadeado criando um menu de opções para o jogador por exemplo Observe que deverá ser criado um menu que apareça no momento da execução do programa para capturar a opção escolhida pelo usuário 1 2 ou 3 5 Público De acordo com a opção escolhida o programa deve desviar a execução do código para o trecho que irá realizar as instruções de acordo com os caminhos do cenário floresta sussurrante Observe a seguir O estudante pode utilizar a estrutura de seleção ESCOLHA CASO e executar as instruções para o caminho das sombras caso o usuário escolha a opção 1 Dessa forma o algoritmo tem que executar todas as instruções que estão no Caminho 1 O Caminho das Sombras Isso inclui a apresentação da descrição obstáculo e premiação sendo esta de acordo com a resposta do usuário O mesmo princípio deve ser seguido quando o usuário escolher as opções 2 ou 3 Ainda se o usuário escolher uma opção diferente o algoritmo deve exibir uma mensagem Criar uma narrativa envolvente que guie o usuário ao longo da aventura Utilizar o próprio texto fornecido na atividade proposta ficando a critério do estudante a customização e a implementação de melhorias no texto pensando em envolver o usuário nesta aventura Observar que poderão ser utilizadas as duas estruturas de seleção durante o desenvolvimento Nesta imagem tem um exemplo da estrutura SE sendo implementada e para execução do menu de opções está sendo utilizado a estrutura ESCOLHA CASO 2 Testes e Correções Após toda a construção do programa é hora de executar os testes Testar o programa para garantir que todas as opções de escolha funcionem corretamente Executando o código de início deverá aparecer um texto explicando o programa e em seguida o menu de opções 6 Público Neste ponto o usuário vai entrar com a opção escolhida e em seguida o algoritmo deve executar as instruções de acordo com a opção escolhida Verificar se o mesmo está acontecendo para as três opções do programa inclusive quando o usuário escolhe incorretamente ou seja um número diferente de 1 2 ou 3 3 Documentação e Comentários Documentar o código fonte explicando a lógica por trás de cada parte do programa Optar sempre por documentar o código fonte principalmente quando não se está habituado com o comando exemplo Colocando antes da linha o programa ignora a execução da linha Portanto as anotações poderão ser realizadas em todo o códigofonte 4 Apresentação e Avaliação Apresentar o programa em sala de aula demonstrando como funciona a aventura na Floresta Encantada Após a construção do programa testes e correções o programa deverá ser executado passando por todas as opções sem que apresente erros ou falhas Avaliar a pontuação dos estudantes com base nas escolhas que fizeram durante a construção do algoritmo discutindo estratégias para maximizar a performance no desenvolvimento de soluções como a proposta por esta atividade Checklist Analisar o cenário para criação do códigofonte do programa Fazer a estruturação dos 3 caminhos seus obstáculos e premiações previstas no percurso Desenvolver o algoritmo em Portugol na ferramenta Portugol WebStudio 7 Público Executar testes e possíveis correções Apresentar o programa e verificar seu correto funcionamento RESULTADOS obrigatório aparecer para todos Resultados de Aprendizagem O objetivo da atividade é a correta compreensão e desenvolvimento do programa com os requisitos exigidos contendo a codificação completa para o Portugol WebStudio ESTUDANTE VOCÊ DEVERÁ ENTREGAR não obrigatório aparecer para todos Descrição orientativa sobre a entregada da comprovação da aula prática O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada ou seja para cada trecho do códigofonte o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado REFERÊNCIAS BIBLIOGRÁFICAS não obrigatório aparecer para todos Descrição em abnt das referências utilizadas CORMEN Thomas Algoritmos Teoria e Prática 3ed 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 NOME DA DISCIPLINA ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Unidade U2 ELEMENTOS DE ALGORITMOS Aula A3 ESTRUTURAS DE REPETIÇÃO Tempo previsto de execução de aula prática 2h CAMPO OBRIGATÓRIO NÃO APARECER EM NENHUM RAP OBJETIVOS campo obrigatório exibição para todos Definição dos objetivos da aula prática Interpretação dos requisitos e desenvolvimento correto do algoritmo abrangendo todas as possibilidades distintas na execução do programa Aplicar na prática a estrutura de repetição ENQUANTO FAÇA no desenvolvimento de algoritmos computacionais com a pseudolinguagem Portugol 8 Público INFRAESTRUTURA OBRIGATÓRIO SE HOUVER EXIBIÇÃO DOCENTETUTOR Instalações Materiais de consumo Equipamentos Laboratório de Informática Materiais de consumo NSA Equipamentos Computador com acesso à internet e com o mínimo de 4 GB de Memória RAM SOLUÇÃO DIGITAL OBRIGATÓRIO SE HOUVER APARECER PARA TODOS Portugol WebStudio O Portugol WebStudio é uma ferramenta online de ensino e de aprendizagem de algoritmos baseada no Portugol Português Estruturado que é uma pseudolinguagem de programação para fins acadêmicos Tipo de Licença GPL GNU General Public License PROCEDIMENTO PARA INSTALAÇÃO A ferramenta Portugol Web Studio não necessita de instalação basta somente acessar por meio de uma conexão web o endereço URL a seguir LINK httpsportugoldev EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL EPI CAMPO OBRIGATÓRIO APARECER PARA TODOS NSA PROCEDIMENTOS PRÁTICOS OBRIGATÓRIO TODOS ProcedimentoAtividade nº 1 Virtual Atividade proposta Suponha que você está em uma missão para encontrar um tesouro escondido no meio de um labirinto muito perigoso O labirinto é composto por uma série de corredores estreitos bifurcações e salas ocultas Sua missão é encontrar o caminho para o tesouro evitando armadilhas e obstáculos ao longo do caminho Descrição do Labirinto Existem caminhos que não têm saída fazendo com que você precise voltar atrás e tentar outro caminho 9 Público Algumas portas podem levar de volta ao início do labirinto obrigandoo a recomeçar sua busca O tesouro está escondido em um local diferente a cada vez que o programa iniciar tornando a exploração do labirinto desafiadora e imprevisível Boa sorte em sua busca pelo tesouro Com essa descrição têmse um cenário envolvente e desafiador para criação de um algoritmo usando o comando EnquantoFaça em Portugol para guiar o explorador pelo labirinto até encontrar o tesouro Procedimentos para a realização da atividade Aplicação dos fundamentos da lógica de programação e algoritmos criação de variáveis e constantes além de comandos da estrutura de repetição EnquantoFaça em Portugol para resolução da atividade 1 Configuração da Ferramenta Utilizar a linguagem Portugol no Portugol Web Studio O estudante deverá utilizar a linguagem de programação Portugol por meio da ferramenta Portugol WebStudio acessandoo na url httpsportugoldev Na ferramenta o estudante chegará nesta tela e deverá clicar no botão Novo Arquivo Descrever o cenário do labirinto e a missão do explorador em encontrar o tesouro Explicar o objetivo da atividade utilizar o comando EnquantoFaça para guiar o explorador pelo labirinto até encontrar o tesouro 2 Desenvolvimento do Programa Utilizar a linguagem Portugol no Portugol Web Studio Criar variáveis para representar a posição do explorador no labirinto e outras informações relevantes a Exemplo definir o labirinto como uma matriz de 5 x 5 contendo 25 espaços b Definir o local do tesouro em um desses espaços Labirinto44 tesouro Implementar um loop EnquantoFaça para controlar a movimentação do explorador até encontrar o tesouro 10 Público Definir uma posição iniciar para o explorador no início do caminho ou seja da matriz a posX 0 b posY 0 Definir uma posição iniciar Criar condições para determinar os movimentos possíveis do explorador para frente para trás para a esquerda para a direita e verificar se ele encontrou o tesouro a Baseado na posição da matriz 5 x 5 labirinto definir a próxima posição do jogador b Como sugestão você pode definir o tesouro em um local específico da matriz labirinto e fazer o explorador ir caminhando para encontrar o tesouro c Como sugestão os valores de cada endereço do labirinto podem ser 2 tesouro 1 parede normal 0 caminho livre Outro valor para punir o usuário e fazer ele voltar ao início do labirinto O importante é criar obstáculos ao explorador 3 Geração Aleatória do Labirinto Implementar um algoritmo para gerar aleatoriamente o layout do labirinto ou gerálo da mesma forma iniciando o jogador na posição 00 Garantir que o tesouro esteja escondido em um local diferente a cada vez que o programa iniciar 4 Testes e Correções Testar o programa com diferentes configurações de labirinto para garantir que o explorador encontre o tesouro corretamente Corrigir quaisquer bugs ou erros de lógica que possam surgir durante os testes 5 Documentação e Comentários Documentar o código fonte explicando a lógica por trás do movimento do explorador e as condições para encontrar o tesouro 11 Público Incluir comentários explicativos para facilitar a compreensão e manutenção do código Exemplo de comentários para a função que inicia o labirinto significa linha de comentário 6 Execução do Programa Apresentar o programa demonstrando como funciona a exploração do labirinto Checklist Analisar o cenário para criação do códigofonte do programa Gerar aleatoriamente o layout do labirinto em cada execução do programa Garantir que o tesouro esteja escondido em um local diferente a cada vez que o programa iniciar Desenvolver o algoritmo em Portugol na ferramenta Portugol WebStudio Executar testes e possíveis correções Apresentar o programa e verificar seu correto funcionamento RESULTADOS obrigatório aparecer para todos Resultados de Aprendizagem O objetivo da atividade é a aplicação do comando EnquantoFaça para guiar o explorador pelo labirinto até encontrar o tesouro evitando armadilhas e obstáculos ao longo do caminho A atividade proporciona uma oportunidade valiosa para o desenvolvimento de habilidades de resolução de problemas pensamento crítico e raciocínio lógico ESTUDANTE VOCÊ DEVERÁ ENTREGAR não obrigatório aparecer para todos 12 Público Descrição orientativa sobre a entregada da comprovação da aula prática O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada ou seja para cada trecho do códigofonte o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado REFERÊNCIAS BIBLIOGRÁFICAS não obrigatório aparecer para todos Descrição em abnt das referências utilizadas CORMEN Thomas Algoritmos Teoria e Prática 3ed 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 NOME DA DISCIPLINA ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Unidade U3CONCEITOS DE PROGRAMAÇÃO Aula A3ESTRUTURAS CONDICIONAIS EM LINGUAGEM C Tempo previsto de execução de aula prática 2h CAMPO OBRIGATÓRIO NÃO APARECER EM NENHUM RAP OBJETIVOS campo obrigatório exibição para todos Definição dos objetivos da aula prática Interpretação dos requisitos e desenvolvimento correto do algoritmo abrangendo todas as possibilidades distintas na execução do programa Aplicar na prática a estrutura condicional IF no desenvolvimento de algoritmos computacionais na Linguagem de Programação C INFRAESTRUTURA OBRIGATÓRIO SE HOUVER EXIBIÇÃO DOCENTETUTOR Instalações Materiais de consumo Equipamentos Laboratório de Informática Materiais de consumo NSA Equipamentos Computador com acesso à internet e com o mínimo de 4 GB de Memória RAM Instalação do Visual Studio Code extensões o CC for Visual Studio Code o CC Compile Run extension 13 Público SOLUÇÃO DIGITAL OBRIGATÓRIO SE HOUVER APARECER PARA TODOS Visual Studio Code VS Code O VS Code é um editor de códigofonte desenvolvido pela Microsoft para Windows Linux e macOS Conta com a instalação de extensões para programação em diversas linguagens de programação Tipo de licença Códigofonte Licença MIT Binários Freeware Link httpscodevisualstudiocomdownload EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL EPI CAMPO OBRIGATÓRIO APARECER PARA TODOS NSA PROCEDIMENTOS PRÁTICOS OBRIGATÓRIO TODOS ProcedimentoAtividade nº 1 Virtual Atividade proposta Você é um desenvolvedor de software em uma instituição financeira responsável por criar um sistema de aprovação de empréstimos O seu objetivo é desenvolver um programa que analise as informações financeiras fornecidas pelos clientes e determine se o empréstimo pode ser aprovado com base em critérios préestabelecidos Descrição do Problema O sistema de aprovação de empréstimos precisa considerar diversos critérios para determinar se um cliente é elegível para receber um empréstimo Os critérios são Relação entre renda e valor do empréstimo O valor do empréstimo não pode exceder 30 da renda mensal do cliente Histórico de crédito Clientes com um histórico de crédito ruim podem ter sua solicitação de empréstimo rejeitada Outros fatores Outros fatores como a estabilidade no emprego do cliente e o valor da entrada também podem influenciar na decisão de aprovação do empréstimo 14 Público Procedimentos para a realização da atividade Faça uma análise detalhada de todas as ações que o programa deve executar bem como as estruturas algorítmicas necessárias para o desenvolvimento do código Aplique os fundamentos da lógica de programação e algoritmos na criação de uma solução para o cenário apresentado utilizando a Linguagem de Programação C tendo como apoio o editor de código VS Code A seguir os procedimentos que devem ser realizados Desenvolver o programa Utilizando a linguagem de Programação C no VS Code você precisa criar um programa que solicite as informações financeiras do cliente como renda mensal e valor do empréstimo desejado e outras informações que julgue necessário dependendo do raciocínio lógico Solicite do usuário os dados da renda mensal valor do empréstimo histórico de crédito estabilidade no emprego e o valor da entrada Lembrese que todas essas informações fazem parte dos critérios para liberação do crédito Abaixo uma sugestão note que algumas variáveis são de tipos diferentes Isso também deve ser tratado na construção do algoritmo Implementar a lógica de aprovação Você deve implementar a lógica necessária para analisar as informações fornecidas pelo cliente e determinar se o empréstimo pode ser aprovado com base nos critérios estabelecidos Critérios 1 2 e 3 no item Atividade Proposta Utilize uma estrutura de seleção para construir essa parte do programa Você pode utilizar os comandos IF e ou o comando switch case dependendo da elaboração do algoritmo Exemplo de um dos critérios If Valor do Emprestimo 30 da renda mensal critério para conceder o empréstimo Exibir o resultado Após a análise o programa deve informar ao cliente se o empréstimo foi aprovado ou rejeitado juntamente com detalhes adicionais se necessário 15 Público Neste ponto você pode exibir uma mensagem quando todos os critérios são cumpridos E uma outra mensagem explicando o porque do crédito ter sido negado Testar e depurar Teste o programa com diferentes conjuntos de dados para garantir que a análise de aprovação de empréstimos esteja correta Corrija eventuais falhas ou erros de lógica que possam surgir durante os testes A seguir um exemplo de teste quando todos os critérios são cumpridos e o crédito será liberado ao cliente Documentar o código Documente o código fonte do programa explicando a lógica por trás da análise de aprovação de empréstimos Inclua comentários explicativos para facilitar a compreensão e manutenção do código Pense sempre que em uma empresa outros profissionais poderão dar manutenção na codificação realizada anteriormente por você As linhas 11 e 15 possuem comentários do códigofonte Execução do Programa Apresentar o programa demonstrando como funciona a logística de análise de crédito Exemplo do programa sendo executado Munido de todas essas informações coloque suas habilidades de programação em prática e crie um programa que ajude a instituição financeira a tomar decisões assertivas na concessão de crédito 16 Público Checklist Analisar o cenário para criação do códigofonte do programa Instalar o VS Code em seu dispositivo Baixe a IDE escolhendo o sistema operacional por meio do link httpscodevisualstudiocomdownload Desenvolver o algoritmo na Linguagem de Programação C Considerar todos os critérios solicitados para construção do algoritmo Executar testes e possíveis correções Apresentar o programa e verificar seu correto funcionamento RESULTADOS obrigatório aparecer para todos Resultados de Aprendizagem O objetivo da atividade é aplicar os conceitos de comandos de seleção IF podendo se necessário aplicar comandos de laço de repetições para analisar as informações financeiras fornecidas pelo usuário além de determinar se o empréstimo pode ou não ser aprovado Diante do contexto ser capaz de aplicar os conceitos de lógica de programação e raciocínio lógico de forma prática em um contexto do mundo real ESTUDANTE VOCÊ DEVERÁ ENTREGAR não obrigatório aparecer para todos Descrição orientativa sobre a entregada da comprovação da aula prática O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada ou seja para cada trecho do códigofonte o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado REFERÊNCIAS BIBLIOGRÁFICAS não obrigatório aparecer para todos Descrição em abnt das referências utilizadas CORMEN Thomas Algoritmos Teoria e Prática 3ed 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 17 Público NOME DA DISCIPLINA ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Unidade U4APLICAÇÕES DE PROGRAMAÇÃO Aula A4REGISTROS E ARQUIVOS Tempo previsto de execução de aula prática 2h CAMPO OBRIGATÓRIO NÃO APARECER EM NENHUM RAP OBJETIVOS campo obrigatório exibição para todos Definição dos objetivos da aula prática Interpretação dos requisitos e desenvolvimento correto do algoritmo abrangendo todas as possibilidades distintas na execução do programa Aplicar conceitos de manipulação de arquivos além da criação e acesso a registros Structs na Linguagem de Programação C INFRAESTRUTURA OBRIGATÓRIO SE HOUVER EXIBIÇÃO DOCENTETUTOR Instalações Materiais de consumo Equipamentos Laboratório de Informática Materiais de consumo NSA Equipamentos Computador com acesso à internet e com o mínimo de 4 GB de Memória RAM Instalação do Visual Studio Code extensões o CC for Visual Studio Code o CC Compile Run extension SOLUÇÃO DIGITAL OBRIGATÓRIO SE HOUVER APARECER PARA TODOS Visual Studio Code VS Code O VS Code é um editor de códigofonte desenvolvido pela Microsoft para Windows Linux e macOS Conta com a instalação de extensões para programação em diversas linguagens de programação Tipo de licença Códigofonte Licença MIT Binários Freeware Link httpscodevisualstudiocomdownload 18 Público EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL EPI CAMPO OBRIGATÓRIO APARECER PARA TODOS NSA PROCEDIMENTOS PRÁTICOS OBRIGATÓRIO TODOS ProcedimentoAtividade nº 1 Virtual Atividade proposta Você foi designado pela sua instituição de ensino para desenvolvedor um programa de classificação dos alunos O programa deverá solicitar alguns dados inclusive as médias das disciplinas de cada aluno para que ele possa fazer o cálculo da média do aluno Deverá solicitar também o nome do aluno Descrição do Problema Para realização da atividade você deve utilizar os recursos de Structs e Arquivos A Struct armazenará os dados do aluno como Nome média da primeira disciplina média da segunda disciplina média geral por aluno e sua classificação Um arquivo do tipo txt deve ser utilizado para armazenar as informações no final da execução do programa O layout do arquivo deve conter Nome do Aluno Média Disciplina 1 Média Disciplina 2 Média Geral Classificação Procedimentos para a realização da atividade Faça uma análise detalhada de todas as ações que o programa deve executar bem como as estruturas algorítmicas necessárias para o desenvolvimento do código Aplique os fundamentos da lógica de programação e algoritmos na criação de uma solução para o cenário apresentado utilizando a Linguagem de Programação C tendo como apoio o editor de código VS Code A seguir os procedimentos que devem ser realizados 1 Passo 1 Definição das estruturas de dados a Criar a estruturaStruct Aluno com os campos necessários nome médias das disciplinas média geral classificação Você pode optar pelo nome da Struct ser Aluno ou outro nome qualquer desde que você respeite as regras para nomenclatura de variáveis evitando acentuação sem 19 Público utilização de espaços em branco não podendo utilizar palavras reservadas à linguagem exemplo void e não começar com caractere numérico Aqui optei pelo nome Aluno 2 Passo 2 Implementação das funções de cálculo a Implementar uma função para calcular a média geral de um aluno com base nas médias das disciplinas Um exemplo da função para calcular a média de um aluno Passase por parâmetro as médias das disciplinas e depois retorna o cálculo da média b Implementar uma função de comparação para ser utilizada na ordenação da turma Essa função compararMedias é chamada dentro de outra função que salva o arquivo txt que tem o objetivo de ordenar o aluno dentro do arquivo de acordo com sua classificação por nota Exemplo 3 Passo 3 Entrada de dados a Pedir ao usuário que informe quantos alunos serão registrados Isso é feito dentro da função main Uma sugestão de como resolver está logo a seguir 20 Público b Usar um loop para solicitar o nome médias das disciplinas 1 e 2 de cada aluno e armazenar esses dados na estrutura Aluno Dentro de um laço qualquer na linguagem de programação C solicite do usuário esses dados 4 Passo 4 Cálculo das médias e classificação a Calcular a média geral de cada aluno utilizando uma função A função que faz esse cálculo é a calcularMediaGeral já exibida no item 2 b Ordenar a turma em ordem decrescente de acordo com as médias dos alunos Você deve comparar as médias gerais de cada aluno e colocar a classificação de cada um dentro do arquivo txt ao lado dos dados do aluno c Atribuir as classificações aos alunos com base na ordem da turma Inserir dentro do arquivo um campo para a classificação do aluno Utilizar o campo classificação da Struct 5 Passo 5 Saída de dados a Para cada aluno escrever no arquivo seu nome médias das disciplinas média geral e classificação b Calcular e escrever no arquivo a média geral da turma Uma sugestão para a saída do arquivo texto logo a seguir 6 Passo 6 Finalização a Fechar o arquivo Utilizar a classe FILE da linguagem C para manipular dados no arquivo 7 Execução do Programa Apresentar o programa demonstrando o seu funcionamento Exemplo do programa sendo executado 21 Público Na sequência o arquivo txt gerado pelo programa Munido de todas essas informações coloque suas habilidades de programação em prática e crie um programa que atenda a todos os requisitos solicitados pela sua instituição de ensino Checklist Analisar o cenário para criação do códigofonte do programa Instalar o VS Code em seu dispositivo Baixe a IDE escolhendo o sistema operacional por meio do link httpscodevisualstudiocomdownload Desenvolver o algoritmo na Linguagem de Programação C Considerar todos os critérios solicitados para construção do algoritmo Executar testes e possíveis correções Apresentar o programa e verificar seu correto funcionamento RESULTADOS obrigatório aparecer para todos 22 Público Resultados de Aprendizagem O objetivo da atividade é aplicar conceitos das estruturas de seleção laços de repetições funções Structs e arquivos para coletar os dados realizar os cálculos e fazer a classificação dos alunos Diante do cenário apresentado ser capaz de aplicar os conceitos de lógica de programação desenvolvendo o raciocínio lógico de forma prática em um contexto do mundo real ESTUDANTE VOCÊ DEVERÁ ENTREGAR não obrigatório aparecer para todos Descrição orientativa sobre a entregada da comprovação da aula prática O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada ou seja para cada trecho do códigofonte o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado REFERÊNCIAS BIBLIOGRÁFICAS não obrigatório aparecer para todos Descrição em abnt das referências utilizadas CORMEN Thomas Algoritmos Teoria e Prática 3ed 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 Estrutura e funcionamento do código O código em Portugol apresentado é um jogo de aventura onde o jogador explora uma floresta misteriosa enfrentando desafios e tomando decisões que impactam sua pontuação final A estrutura do código é organizada em cinco funções principais inicio funcao1 funcao2 funcao3 e finalizarJogo A seguir detalharemos o funcionamento de cada uma dessas funções Há uma breve inicialização com a declaração de 4 variáveis A variável ponto armazena valores inteiros da pontuação do jogador As outras caminho1explorado caminho2explorado caminho3explorado três armazenam uma condição lógica que será usada para impedir que o jogador percorra mais de uma vez o mesmo caminho 1 Função Principal inicio A função inicio serve como o menu principal do jogo Nela o jogador é introduzido à história e às opções de caminhos a seguir A função utiliza uma estrutura de repetição enquanto verdadeiro para manter o menu ativo até que todas as três aventuras sejam completadas que são gerenciadas pela funcao1 funcao2 e funcao3 ou o jogador escolha finalizar o jogo tanto pela função de finalizar que será explicada mais à frente quanto pelo encerramento O funcionamento disso se dá por uma verificação para determinar se todos os caminhos foram explorados com a estrutura SE Caso positivo a função finalizarJogo é chamada para encerrar o jogo Caso contrário o menu de opções é exibido permitindo ao jogador escolher entre explorar um dos três caminhos sair da aventura ou abandonar o jogo A partir da escolha a estrutura ESCOLHA CASO direciona o jogador para a função selecionada Existem variáveis lógicas que impedem o jogador de passar mais de uma vez pelo mesmo caminho Nesse caso surge uma mensagem e ele retorna ao menu somente podendo escolher caminhos não explorados 2 Função Caminho das Sombras funcao1 A função funcao1 é responsável por executar a aventura no Caminho das Sombras Ao escolher essa opção o jogador é apresentado a uma descrição do caminho e a um enigma que deve ser resolvido A resposta correta ao enigma caveira ou uma caveira concede 100 pontos ao jogador enquanto uma resposta incorreta não atribui pontos A função utiliza a variável pontos para armazenar a pontuação acumulada e retorna esse valor ao final da execução Então ele retorna ao menu inicio para dar sequência na lógica 3 Função Caminho da Luz funcao2 A função funcao2 gerencia a aventura no Caminho da Luz Neste caminho o jogador deve decidir entre atravessar uma ponte quebrada ou procurar um desvio seguro A escolha de atravessar a ponte recompensa o jogador com 50 pontos enquanto a escolha de retroceder não concede pontos o jogador escolhe digitando os números 1 ou 2 Caso o jogador digite outro número aparece uma mensagem de erro e a funcao2 é executada novamente até ele inserir uma opção válida Assim como na função anterior a pontuação é armazenada na variável pontos e retornada ao final da função que volta para inicio 4 Função Caminho das Criaturas funcao3 A função funcao3 lida com a aventura no Caminho das Criaturas O jogador encontra uma criatura mágica adormecida e deve decidir entre contornála ou acordála Contornar a criatura com sucesso concede 75 pontos ao jogador enquanto acordála resulta em uma fuga sem pontos Similarmente à funcao2 o jogador escolhe digitando os números 1 ou 2 Caso o jogador digite outro número aparece uma mensagem de erro e a funcao3 é executada novamente até ele inserir uma opção válida A função segue a mesma lógica das anteriores atualizando e retornando a pontuação acumulada e retornando para inicio 5 Função Finalizar Jogo finalizarJogo A função finalizarJogo é chamada para encerrar o jogo e exibir a pontuação final do jogador Ela é acessada automaticamente quando o jogador completa os 3 desafios ou quando ele escolhe finalizar a aventura mesmo se não completar nenhum um ou dois digitando a opção 4 em incio Dependendo da pontuação acumulada diferentes mensagens de feedback são exibidas cujo teor varia em função do seu desempenho usando estruturas condicionais SE para determinar a mensagem apropriada com base na pontuação Após sua execução o programa é encerrado com o retorno e a quebra da estrutura de repetição ENQUANTO verdadeiro isto também ocorre se o jogador escolher finalizar o jogo opção 5 mas sem passar pela função finalizarJogo Estrutura e funcionamento do código O código em Portugol apresentado é um jogo de aventura onde o jogador explora uma floresta misteriosa enfrentando desafios e tomando decisões que impactam sua pontuação final A estrutura do código é organizada em cinco funções principais inicio funcao1 funcao2 funcao3 e finalizarJogo A seguir detalharemos o funcionamento de cada uma dessas funções Há uma breve inicialização com a declaração de 4 variáveis A variável ponto armazena valores inteiros da pontuação do jogador As outras caminho1explorado caminho2explorado caminho3explorado três armazenam uma condição lógica que será usada para impedir que o jogador percorra mais de uma vez o mesmo caminho 1 Função Principal inicio A função inicio serve como o menu principal do jogo Nela o jogador é introduzido à história e às opções de caminhos a seguir A função utiliza uma estrutura de repetição enquanto verdadeiro para manter o menu ativo até que todas as três aventuras sejam completadas que são gerenciadas pela funcao1 funcao2 e funcao3 ou o jogador escolha finalizar o jogo tanto pela função de finalizar que será explicada mais à frente quanto pelo encerramento O funcionamento disso se dá por uma verificação para determinar se todos os caminhos foram explorados com a estrutura SE Caso positivo a função finalizarJogo é chamada para encerrar o jogo Caso contrário o menu de opções é exibido permitindo ao jogador escolher entre explorar um dos três caminhos sair da aventura ou abandonar o jogo A partir da escolha a estrutura ESCOLHA CASO direciona o jogador para a função selecionada Existem variáveis lógicas que impedem o jogador de passar mais de uma vez pelo mesmo caminho Nesse caso surge uma mensagem e ele retorna ao menu somente podendo escolher caminhos não explorados 2 Função Caminho das Sombras funcao1 A função funcao1 é responsável por executar a aventura no Caminho das Sombras Ao escolher essa opção o jogador é apresentado a uma descrição do caminho e a um enigma que deve ser resolvido A resposta correta ao enigma caveira ou uma caveira concede 100 pontos ao jogador enquanto uma resposta incorreta não atribui pontos A função utiliza a variável pontos para armazenar a pontuação acumulada e retorna esse valor ao final da execução Então ele retorna ao menu inicio para dar sequência na lógica 3 Função Caminho da Luz funcao2 A função funcao2 gerencia a aventura no Caminho da Luz Neste caminho o jogador deve decidir entre atravessar uma ponte quebrada ou procurar um desvio seguro A escolha de atravessar a ponte recompensa o jogador com 50 pontos enquanto a escolha de retroceder não concede pontos o jogador escolhe digitando os números 1 ou 2 Caso o jogador digite outro número aparece uma mensagem de erro e a funcao2 é executada novamente até ele inserir uma opção válida Assim como na função anterior a pontuação é armazenada na variável pontos e retornada ao final da função que volta para inicio 4 Função Caminho das Criaturas funcao3 A função funcao3 lida com a aventura no Caminho das Criaturas O jogador encontra uma criatura mágica adormecida e deve decidir entre contornála ou acordála Contornar a criatura com sucesso concede 75 pontos ao jogador enquanto acordála resulta em uma fuga sem pontos Similarmente à funcao2 o jogador escolhe digitando os números 1 ou 2 Caso o jogador digite outro número aparece uma mensagem de erro e a funcao3 é executada novamente até ele inserir uma opção válida A função segue a mesma lógica das anteriores atualizando e retornando a pontuação acumulada e retornando para inicio 5 Função Finalizar Jogo finalizarJogo A função finalizarJogo é chamada para encerrar o jogo e exibir a pontuação final do jogador Ela é acessada automaticamente quando o jogador completa os 3 desafios ou quando ele escolhe finalizar a aventura mesmo se não completar nenhum um ou dois digitando a opção 4 em incio Dependendo da pontuação acumulada diferentes mensagens de feedback são exibidas cujo teor varia em função do seu desempenho usando estruturas condicionais SE para determinar a mensagem apropriada com base na pontuação Após sua execução o programa é encerrado com o retorno e a quebra da estrutura de repetição ENQUANTO verdadeiro isto também ocorre se o jogador escolher finalizar o jogo opção 5 mas sem passar pela função finalizarJogo