·

Engenharia Civil ·

Análise de Algoritmos

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 include stdioh include stdlibh include stringh Definição da struct Aluno typedef struct char nome50 float mediadisciplina1 float mediadisciplina2 float mediageral Aluno Função para calcular a média geral do aluno float calcularmediafloat media1 float media2 return media1 media2 20 int main int n printfQuantos alunos serão registrados scanfd n Aluno alunosn Coletar os dados dos alunos for int i 0 i n i printf Aluno d i 1 printfNome scanfs alunosinome printfMédia da Disciplina 1 scanff alunosimediadisciplina1 printfMédia da Disciplina 2 scanff alunosimediadisciplina2 Calcular e armazenar a média geral alunosimediageral calcularmediaalunosimediadisciplina1 alunosimediadisciplina2 Gravar os dados em um arquivo FILE arquivo fopenalunostxt w if arquivo NULL printfErro ao criar o arquivo return 1 Escrever os dados no arquivo e exibir no terminal fprintfarquivo Relatório de Alunos for int i 0 i n i fprintfarquivo Nome s alunosinome fprintfarquivo Média Disciplina 1 2f alunosimediadisciplina1 fprintfarquivo Média Disciplina 2 2f alunosimediadisciplina2 fprintfarquivo Média Geral 2f alunosimediageral fprintfarquivo Exibir os dados no terminal printf Nome s alunosinome printfMédia Disciplina 1 2f alunosimediadisciplina1 printfMédia Disciplina 2 2f alunosimediadisciplina2 printfMédia Geral 2f alunosimediageral printf fclosearquivo printfOs dados foram salvos em alunostxt return 0 O código apresentado é um programa em C que registra dados de alunos calcula suas médias e grava as informações em um arquivo A estrutura principal do programa é definida pela struct Aluno que armazena o nome do aluno as médias de duas disciplinas e a média geral Para calcular a média geral é utilizada a função calcularmedia que recebe as médias das disciplinas como parâmetros e retorna a média aritmética O programa começa solicitando ao usuário a quantidade de alunos a serem registrados Em seguida um vetor de structs alunos é declarado com base no número informado O programa entra em um loop onde coleta os dados de cada aluno pedindo o nome e as médias das duas disciplinas Após a coleta a média geral é calculada e armazenada na struct correspondente Esses dados são então gravados em um arquivo chamado alunostxt O programa verifica se o arquivo foi criado corretamente e se não exibe uma mensagem de erro Após a gravação o programa escreve no arquivo um relatório com as informações coletadas e também exibe esses dados no terminal permitindo que o usuário veja as informações dos alunos imediatamente O arquivo é fechado ao final do programa e uma mensagem de confirmação é exibida ao usuário indicando que os dados foram salvos com sucesso Essa implementação demonstra conceitos importantes de programação em C como manipulação de structs entrada e saída de dados cálculo de médias e interação com arquivos include stdioh int main float rendamensal valoremprestimo valorentrada char historicocredito4 bom ou ruim int estabilidade Coleta de dados do usuário printfDigite sua renda mensal scanff rendamensal printfDigite o valor do empréstimo desejado scanff valoremprestimo printfDigite o valor da entrada scanff valorentrada printfSeu histórico de crédito é bom ou ruim digite bom ou ruim scanfs historicocredito printfVocê está empregado há mais de 2 anos 1 Sim 0 Não scanfd estabilidade Análise dos critérios de aprovação if valoremprestimo 03 rendamensal printfEmpréstimo não aprovado o valor do empréstimo excede 30 da sua renda mensal else if strcmphistoricocredito ruim 0 printfEmpréstimo não aprovado histórico de crédito ruim else if estabilidade 0 printfEmpréstimo não aprovado estabilidade no emprego insuficiente else printfEmpréstimo aprovado return 0 O código apresentado é um programa em C que simula a análise de aprovação de um empréstimo levando em consideração a renda mensal do usuário o valor do empréstimo solicitado o valor da entrada o histórico de crédito e a estabilidade no emprego O programa inicia coletando dados do usuário por meio de entradas padrão onde o usuário é solicitado a informar sua renda o valor do empréstimo desejado o valor da entrada seu histórico de crédito bom ou ruim e se está empregado há mais de dois anos Após a coleta das informações o programa realiza uma série de verificações para determinar se o empréstimo pode ser aprovado A primeira condição avalia se o valor do empréstimo excede 30 da renda mensal do usuário Se essa condição for verdadeira uma mensagem é exibida informando que o empréstimo não foi aprovado A seguir o programa verifica se o histórico de crédito é ruim utilizando a função strcmp para comparar as strings Se o histórico for considerado ruim também será negado o empréstimo Em seguida a estabilidade no emprego é checada se o usuário não estiver empregado por mais de dois anos o empréstimo não será aprovado Se todas as condições forem atendidas o programa conclui que o empréstimo foi aprovado e exibe uma mensagem de sucesso Essa implementação ilustra conceitos básicos de programação em C incluindo a entrada e saída de dados condições lógicas manipulação de strings e controle de fluxo além de demonstrar como esses elementos podem ser integrados para criar um sistema simples de análise de crédito programa funcao inicio Definir o tamanho do labirinto 5x5 inteiro labirinto55 inteiro x 0 y 0 inteiro tesouroX tesouroY aleatoriotesouroX 0 4 aleatoriotesouroY 0 4 labirintotesouroXtesouroY 2 Tesouro representado pelo número 2 escrevaVocê está no labirinto em busca de um tesouro Boa sorte enquanto x tesouroX y tesouroY escrevaVocê está na posição x y Escolha sua ação escreva1 Mover para cima escreva2 Mover para baixo escreva3 Mover para a esquerda escreva4 Mover para a direita inteiro acao leiaacao escolha acao caso 1 se x 0 x senao escrevaNão pode se mover para cima pare caso 2 se x 4 x senao escrevaNão pode se mover para baixo pare caso 3 se y 0 y senao escrevaNão pode se mover para a esquerda pare caso 4 se y 4 y senao escrevaNão pode se mover para a direita pare padrao escrevaAção inválida escrevaParabéns Você encontrou o tesouro na posição tesouroX tesouroY O código apresentado implementa um jogo interativo simples de labirinto no qual o usuário deve navegar para encontrar um tesouro escondido em uma grade 5x5 Ao iniciar o programa uma posição aleatória é selecionada para o tesouro que é representado pelo número 2 na matriz labirinto O jogador começa na posição 0 0 e é convidado a escolher ações para se mover dentro do labirinto até encontrar o tesouro Durante cada iteração do loop o programa informa ao usuário sua posição atual e apresenta quatro opções de movimento para cima para baixo para a esquerda e para a direita O usuário deve inserir um número correspondente à ação desejada O programa utiliza uma estrutura de escolha para determinar qual movimento executar Se a ação for válida e o movimento permitido a posição do usuário é atualizada Caso contrário uma mensagem é exibida informando que o movimento não pode ser realizado ou que a ação é inválida O loop continua até que o usuário alcance a posição do tesouro Quando o tesouro é encontrado o programa exibe uma mensagem de congratulação informando a posição onde o tesouro foi localizado Esta estrutura de jogo ilustra conceitos importantes de programação como o uso de matrizes controle de fluxo com laços e condições além de interações com o usuário O jogo não apenas proporciona entretenimento mas também serve como um exercício prático de lógica e tomada de decisões programa funcao inicio inteiro opcao pontos 0 escrevaBemvindo à Floresta Sussurrante escrevaEscolha um caminho para começar sua aventura escreva1 Caminho das Sombras escreva2 Caminho da Luz escreva3 Caminho das Criaturas leiaopcao escolhaopcao caso 1 escrevaVocê escolheu o Caminho das Sombras escrevaEnigma Quem sou eu Tenho olhos mas não vejo Tenho boca mas não falo O que sou escrevaDigite sua resposta cadeia resposta leiaresposta se resposta caveira escrevaResposta correta Você encontrou uma gema que vale 100 pontos pontos 100 senao escrevaResposta incorreta Você não conseguiu passar pare caso 2 escrevaVocê escolheu o Caminho da Luz escrevaVocê encontra uma ponte quebrada sobre um rio escrevaDeseja tentar atravessar a ponte 1 Sim 2 Não inteiro decisao leiadecisao se decisao 1 escrevaVocê atravessou a ponte com sucesso e encontrou uma fonte mágica 50 pontos pontos 50 senao escrevaVocê decidiu não atravessar e voltou ao ponto inicial pare caso 3 escrevaVocê escolheu o Caminho das Criaturas escrevaVocê encontrou uma criatura mágica adormecida bloqueando o caminho escrevaDeseja tentar contornar a criatura 1 Sim 2 Não leiadecisao se decisao 1 escrevaVocê contornou a criatura com sucesso e ganhou uma habilidade especial 75 pontos pontos 75 senao escrevaVocê acordou a criatura e ela o expulsou do caminho pare padrao escrevaOpção inválida Escolha um caminho entre 1 e 3 escrevaSua aventura terminou com pontos pontos Até a próxima O código apresentado referese a um programa interativo chamado Floresta Sussurrante que permite que os usuários explorem diferentes caminhos em uma aventura Ao iniciar o programa exibe uma mensagem de boasvindas e oferece três opções de caminhos Caminho das Sombras Caminho da Luz e Caminho das Criaturas O usuário deve inserir sua escolha que será processada pelo programa permitindo que cada um viva uma experiência única com base nas decisões tomadas Cada caminho apresenta um desafio distinto No Caminho das Sombras o usuário é confrontado com um enigma onde deve identificar que possui olhos e boca mas não fala nem vê recebendo 100 pontos ao responder corretamente No Caminho da Luz o usuário encontra uma ponte quebrada e decide se tenta atravessála se for bemsucedido acumula 50 pontos No Caminho das Criaturas o usuário se depara com uma criatura mágica adormecida e deve decidir se contorna ou não a criatura ao contornar com sucesso conquista 75 pontos Essas interações são controladas por estruturas condicionais que determinam o fluxo do programa de acordo com as escolhas do usuário Ao final da aventura o programa informa ao usuário a quantidade total de pontos acumulados Caso uma opção inválida seja escolhida o programa exibe uma mensagem de erro solicitando que o usuário faça uma nova escolha válida Essa estrutura de jogo exemplifica como a programação pode ser utilizada para criar experiências interativas enfatizando a lógica de decisão e o engajamento do usuário