·
Engenharia Mecânica ·
Análise de Algoritmos
Send your question to AI and receive an answer instantly
Recommended for you
46
Projeto Interdisciplinar - Desenvolvimento de Jogo de Tabuleiro e Análise Sociocultural
Análise de Algoritmos
UMG
72
Análise de Algoritmos e Estruturas de Dados: Introdução e Complexidade
Análise de Algoritmos
UMG
1
Análise de Algoritmos e Estruturas de Dados - Recorrência, Máximo em Vetor, Listas Ordenadas, Árvores Binárias e Busca em Largura
Análise de Algoritmos
UMG
5
Avaliacao Final Desenvolvimento de Batepapo Web com Nodejs Express e Cookies
Análise de Algoritmos
UMG
4
Facility Location Problem - Discrete Optimization Assignment
Análise de Algoritmos
UMG
9
Algoritmo e Logica de Programação
Análise de Algoritmos
UNOPAR
5
Correcao de Algoritmo de Media e Uso de Operadores Logicos
Análise de Algoritmos
UNISA
3
Calculo-de-Media-em-Portugol-com-Teste-de-Mesa
Análise de Algoritmos
UNISA
25
Roteiro Aula Pratica VisualG Algoritmos e Logica de Programacao
Análise de Algoritmos
UNOPAR
2
Trabalho Acadêmico Algoritmos I - Linguagem C - Entrega 26-09-2022
Análise de Algoritmos
MULTIVIX
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 Titulo do Trabalho Nome do Aluno September 28 2024 1 Codigo do Jogo de Aventura 1 programa 2 3 Funcao principal que inicia o jogo 4 funcao inicio 5 inteiro caminho Variavel para armazenar a escolha do jogador 6 inteiro pontos 0 Inicializa os pontos do jogador 7 8 escrevaVoceeum exploradorcorajosoqueseaventuraem umamisteriosaFloresta Sussurrante embuscade tesouroslendariosesegredosperdidos Apresentacao do jogo 9 escrevaAoadentrarnafloresta vocesedeparacomtres caminhosdiferentes 10 escreva1OCaminhodasSombras 11 escreva2OCaminhodaLuz 12 escreva3OCaminhodasCriaturas 13 14 Solicita ao jogador que escolha um caminho 15 escrevaEscolhaumcaminho12ou3 16 leiacaminho Le a escolha do jogador 17 18 Chama a funcao para processar a escolha do jogador 19 escolhercaminho caminho pontos 20 fimfuncao 21 22 23 Funcao que processa o caminho escolhido 24 funcao escolhercaminho inteiro caminho inteiro pontos 25 Verifica qual caminho o jogador escolheu 26 escolhacaminho 27 28 caso 1 29 pontos caminhodassombras Chama a funcao e adiciona os pontos 30 pare 31 32 caso 2 33 pontos caminhodaluz Chama a funcao e adiciona os pontos 34 pare 1 35 36 caso 3 37 pontos caminhodascriaturas Chama a funcao e adiciona os pontos 38 pare 39 40 caso contrario 41 escrevaEscolhainvalidaPorfavor selecioneum caminhovalido Mensagem de erro 42 escrevaEscolhaumcaminho12ou3 43 leiacaminho Le nova escolha 44 escolhercaminho caminho pontos Chama novamente para processar nova escolha 45 46 fimescolha 47 48 fimfuncao 49 50 51 Funcao para o Caminho das Sombras 52 funcao caminhodassombras 53 escrevaVoceescolheuoCaminhodasSombrasTudoaoseu redorficamaisescuro esonsestranhosecoamaolonge Descricao do caminho 54 55 Charada 56 escrevaCharadaOqueeoqueeQuantomaisescurofica maisclaroeusouOquesou 57 escreva1Luz 2Sombra 3Escuridao 58 inteiro resposta 59 leiaresposta Le a resposta do jogador 60 61 Verifica resposta 62 se resposta 1 63 escrevaCorretoVoceganhou10pontos Mensagem de acerto 64 retorne 10 65 66 senao 67 escrevaIncorretoArespostaeraLuz Mensagem de erro 68 retorne 0 69 70 fimfuncao 71 72 73 Funcao para o Caminho da Luz 74 funcao caminhodaluz 75 escrevaVoceescolheuoCaminhodaLuzOcaminhoe iluminadoporraiosdesol eumasensacaodepaz invadeseuser Descricao do caminho 76 77 Charada 78 escrevaCharadaOqueeoqueeEusoulevecomouma pena masnemohomemmaisforteconseguemesegurar pormuitotempoOquesou 79 escreva1Agua 2Sombra 3Respiracao 2 80 inteiro resposta 81 leiaresposta Le a resposta do jogador 82 83 Verifica resposta 84 se resposta 3 85 escrevaCorretoVoceganhou10pontos Mensagem de acerto 86 retorne 10 87 88 senao 89 escrevaIncorretoArespostaera Respiracao Mensagem de erro 90 retorne 0 91 92 fimfuncao 93 94 95 Funcao para o Caminho das Criaturas 96 funcao caminhodascriaturas 97 escrevaVoceescolheuoCaminhodasCriaturasOsarbustos aoseuredorcomecamasemover ecriaturas misteriosassurgem Descricao do caminho 98 99 Charada 100 escrevaCharadaOqueeoqueeEstousempreasua frente masnuncapossoservistoOquesou 101 escreva1Futuro 2Passado 3Sombra 102 inteiro resposta 103 leiaresposta Le a resposta do jogador 104 105 Verifica resposta 106 se resposta 1 107 escrevaCorretoVoceganhou10pontos Mensagem de acerto 108 retorne 10 109 110 senao 111 escrevaIncorretoArespostaeraFuturo Mensagem de erro 112 retorne 0 113 114 fimfuncao 115 11 Comentarios sobre o Codigo O jogo se inicia com a funcao inicio onde o jogador e apresentado a historia e as opcoes de caminho 1 funcao inicio 2 inteiro caminho Variavel para armazenar a escolha do jogador 3 inteiro pontos 0 Inicializa os pontos do jogador 4 5 escolhercaminho caminho pontos 6 3 A escolha do jogador e processada na funcao escolher caminho que verifica qual caminho foi escolhido e chama a funcao correspondente 1 funcao escolhercaminho inteiro caminho inteiro pontos 2 escolhacaminho 3 caso 1 4 pontos caminhodassombras 5 6 7 Cada caminho tem uma funcao associada como caminho das sombras que inclui uma charada para o jogador responder O jogador ganha ou perde pontos com base na resposta 1 funcao caminhodassombras 2 3 se resposta 1 4 escrevaCorretoVoceganhou10pontos 5 retorne 10 6 7 Assim o jogo combina narrativa escolha e desafios criando uma experiencia interativa para o jogador 12 Imagem do Teste 4 2 Codigo do Labirinto do Tesouro 1 programa 2 inclua biblioteca Util u 3 4 Funcao principal que inicia o jogo 5 funcao inicio 6 inteiro linhaExplorador usorteia 1 5 7 inteiro colunaExplorador usorteia 1 5 8 inteiro linhaTesouro 4 9 inteiro colunaTesouro 4 10 logico encontrado falso 11 inteiro direcao Alterado para inteiro 12 13 escrevaBem vindoaoLabirintodoTesouro 14 escrevaVocedeveencontrarotesouroescondidono labirinto 15 16 enquanto encontrado falso 17 Exibe a posicao atual do explorador 18 escrevaVoceestanaposicao linhaExplorador colunaExplorador 19 20 Exibe o menu de direcoes 21 escrevaEscolhaumadirecaoparamover 22 escreva1Cima 23 escreva2Baixo 24 escreva3Esquerda 25 escreva4Direita 26 escrevaDigiteonumerodadirecao1 4 27 leiadirecao 28 29 Atualiza a posicao do explorador com base na direcao 30 se direcao 1 Cima 31 se linhaExplorador 1 32 linhaExplorador linhaExplorador 1 33 senao 34 escrevaVocenaopodeirparacimaEstano topodolabirinto 35 36 senao se direcao 2 Baixo 37 se linhaExplorador 5 38 linhaExplorador linhaExplorador 1 39 senao 40 escrevaVocenaopodeirparabaixoEstana basedolabirinto 41 42 senao se direcao 3 Esquerda 43 se colunaExplorador 1 44 colunaExplorador colunaExplorador 1 45 senao 46 escrevaVocenaopodeirparaaesquerdaEsta nabordaesquerdadolabirinto 47 48 senao se direcao 4 Direita 49 se colunaExplorador 5 50 colunaExplorador colunaExplorador 1 5 51 senao 52 escrevaVocenaopodeirparaadireitaEsta nabordadireitadolabirinto 53 54 senao 55 escrevaOpcaoinvalidaTentenovamente 56 57 58 Verifica se o explorador encontrou o tesouro 59 se linhaExplorador linhaTesouro e colunaExplorador colunaTesouro 60 escrevaParabensVoceencontrouotesouro 61 encontrado verdadeiro 62 63 64 65 21 Comentarios sobre o Codigo O jogo do labirinto se inicia na funcao inicio onde a posicao inicial do explo rador e definida aleatoriamente 1 funcao inicio 2 inteiro linhaExplorador usorteia 1 5 3 inteiro colunaExplorador usorteia 1 5 4 5 O jogador e informado sobre o objetivo do jogo que e encontrar o tesouro escondido 1 escrevaBem vindoaoLabirintodoTesouro 2 escrevaVocedeveencontrarotesouroescondidonolabirinto Um loop enquanto controla o jogo permitindo que o jogador escolha direcoes para se mover no labirinto 1 enquanto encontrado falso 2 3 As direcoes sao oferecidas ao jogador e o movimento e atualizado com base na escolha 1 escrevaEscolhaumadirecaoparamover 2 escreva1Cima 3 4 leiadirecao 5 6 se direcao 1 Cima 7 se linhaExplorador 1 8 linhaExplorador linhaExplorador 1 9 10 Finalmente o jogo verifica se o explorador encontrou o tesouro e encerra a partida 6 1 se linhaExplorador linhaTesouro e colunaExplorador colunaTesouro 2 escrevaParabensVoceencontrouotesouro 3 encontrado verdadeiro 4 O jogo combina sorte direcao e logica para proporcionar uma experiencia interativa 22 Imagem do Teste 7 3 Codigo de Aprovacao de Emprestimo 1 include stdioh 2 3 int main 4 Declaracao de variaveis 5 float rendamensal valoremprestimo valorentrada 6 int historicocredito estabilidadeemprego 7 8 S o l i c i t a o de dados ao usuario 9 printfDigitesuarendamensal 10 scanff rendamensal 11 12 printfDigiteovalordo emprestimo desejado 13 scanff valoremprestimo 14 15 printfDigiteseuhistoricodecredito1parabom 0para ruim 16 scanfd historicocredito 17 18 printfDigitesua estabilidade noempregoemanos 19 scanfd estabilidadeemprego 20 21 printfDigiteovalordaentrada 22 scanff valorentrada 23 24 Logica de aprovacao do emprestimo 25 int aprovado 1 Inicialmente assumimos que o emprestimo sera aprovado 26 27 Criterio 1 O valor do emprestimo nao pode exceder 30 da renda mensal 28 if valoremprestimo 03 rendamensal 12 29 aprovado 0 30 31 32 Criterio 2 Historico de credito ruim 33 if historicocredito 0 34 aprovado 0 35 36 37 Criterio 3 Estabilidade no emprego por exemplo menos de 1 ano 38 if estabilidadeemprego 1 39 aprovado 0 40 41 42 Exibicao do resultado 43 if aprovado 44 printf ParabensSeu emprestimofoiaprovado 45 printfValoraprovadoR2f valoremprestimo 46 else 47 printf Desculpe seu emprestimonaofoiaprovado 48 printfMotivospossiveis 49 if valoremprestimo 03 rendamensal 12 50 printfOvalordo emprestimo excede30dasua rendaanual 8 51 52 if historicocredito 0 53 printfSeuhistoricodecreditonaoefavoravel 54 55 if estabilidadeemprego 1 56 printfSua estabilidade noempregoemenorque1ano 57 58 59 60 return 0 61 31 Comentarios sobre o Codigo O programa inicia com a inclusao da biblioteca stdioh e a funcao principal main 1 include stdioh 2 3 int main 4 5 As variaveis necessarias para o calculo do emprestimo sao declaradas 1 float rendamensal valoremprestimo valorentrada 2 int historicocredito estabilidadeemprego O usuario e solicitado a fornecer os dados relevantes 1 printfDigitesuarendamensal 2 scanff rendamensal A logica de aprovacao do emprestimo considera varios criterios 1 Logica de aprovacao do emprestimo 2 int aprovado 1 Inicialmente assumimos que o emprestimo sera aprovado O primeiro criterio verifica se o valor do emprestimo nao excede 30 da renda anual 1 if valoremprestimo 03 rendamensal 12 2 aprovado 0 3 Os proximos criterios avaliam o historico de credito e a estabilidade no em prego 1 if historicocredito 0 2 aprovado 0 3 4 if estabilidadeemprego 1 5 aprovado 0 6 Ao final o resultado da aprovacao e exibido 9 1 if aprovado 2 printf ParabensSeu emprestimofoiaprovado 3 else 4 printf Desculpe seu emprestimonaofoiaprovado 5 O programa combina a logica para avaliar a situacao do usuario e informar sobre a aprovacao do emprestimo 32 Imagem do Teste 10 4 Codigo de Classificacao de Alunos 1 include stdioh 2 include stdlibh 3 include stringh 4 5 define MAXNOME 50 6 define MAXALUNOS 100 7 8 Definicao da struct Aluno 9 typedef struct 10 char nomeMAXNOME 11 float mediadisciplina1 12 float mediadisciplina2 13 float mediageral 14 int classificacao 15 Aluno 16 17 Funcao para calcular a media geral 18 float calcularMediaGeral float media1 float media2 19 return media1 media2 20 20 21 22 Funcao de comparacao para ordenacao 23 int compararAlunos const void a const void b 24 return Aluno bmediageral Aluno amediageral 25 26 27 int main 28 Aluno alunosMAXALUNOS 29 int numalunos 30 float mediaturma 0 31 32 Entrada de dados 33 printfQuantosalunosserao registrados 34 scanfd numalunos 35 36 for int i 0 i numalunos i 37 printf Alunod i 1 38 printfNome 39 scanf alunosi nome 40 printfMediada disciplina 1 41 scanff alunosi mediadisciplina1 42 printfMediada disciplina 2 43 scanff alunosi mediadisciplina2 44 45 Calculo da media geral 46 alunosi mediageral calcularMediaGeral alunosi mediadisciplina1 alunosi mediadisciplina2 47 mediaturma alunosi mediageral 48 49 50 Calculo da media da turma 51 mediaturma numalunos 52 53 Ordenacao dos alunos 54 qsortalunos numalunos sizeofAluno compararAlunos 11 55 56 Atribuicao das classificacoes 57 for int i 0 i numalunos i 58 alunosi classificacao i 1 59 60 61 Escrita no arquivo 62 FILE arquivo fopen classificacaoalunos txt w 63 if arquivo NULL 64 printfErroaoabriroarquivo 65 return 1 66 67 68 fprintfarquivo Classificacao dosAlunos 69 for int i 0 i numalunos i 70 fprintfarquivo NomedoAlunos alunosi nome 71 fprintfarquivo Media Disciplina 12f alunosi mediadisciplina1 72 fprintfarquivo Media Disciplina 22f alunosi mediadisciplina2 73 fprintfarquivo MediaGeral2f alunosi mediageral 74 fprintfarquivo Classificacao d alunosi classificacao 75 76 77 fprintfarquivo MediaGeraldaTurma2f mediaturma 78 79 fclosearquivo 80 81 printf nClassificacao dosalunossalvanoarquivo classificacaoalunos txt 82 83 return 0 84 41 Comentarios sobre o Codigo O programa comeca incluindo as bibliotecas necessarias e definindo constantes 1 include stdioh 2 include stdlibh 3 include stringh 4 5 define MAXNOME 50 6 define MAXALUNOS 100 Uma struct Aluno e definida para armazenar as informacoes de cada aluno 1 Definicao da struct Aluno 2 typedef struct 3 char nomeMAXNOME 4 float mediadisciplina1 5 float mediadisciplina2 6 float mediageral 7 int classificacao 8 Aluno 12 A funcao calcularMediaGeral calcula a media geral de um aluno 1 Funcao para calcular a media geral 2 float calcularMediaGeral float media1 float media2 3 return media1 media2 20 4 A funcao compararAlunos serve para ordenar os alunos pela media geral 1 Funcao de comparacao para ordenacao 2 int compararAlunos const void a const void b 3 return Aluno bmediageral Aluno amediageral 4 No main os alunos sao registrados e suas medias sao calculadas 1 for int i 0 i numalunos i 2 printf Alunod i 1 3 4 alunosi mediageral calcularMediaGeral alunosi mediadisciplina1 alunosi mediadisciplina2 5 A media da turma e calculada e os alunos sao ordenados 1 Calculo da media da turma 2 mediaturma numalunos 3 4 Ordenacao dos alunos 5 qsortalunos numalunos sizeofAluno compararAlunos As classificacoes sao atribuıdas e os resultados sao salvos em um arquivo 1 Escrita no arquivo 2 FILE arquivo fopen classificacaoalunos txt w 3 4 fprintfarquivo MediaGeraldaTurma2f mediaturma Por fim o programa informa que a classificacao foi salva 1 printf nClassificacao dosalunossalvanoarquivo classificacaoalunos txt O programa organiza e classifica os alunos com base em suas medias pro porcionando uma maneira eficiente de visualizar o desempenho 42 Imagem do Teste 13 classificaaluno1c Classificação dos Alunos 1 Nome do Aluno 1 Média Disciplina 1 1000 Média Disciplina 2 1000 Média Geral 1000 Classificação 1 5 Nome do Aluno 2 Média Disciplina 1 500 Média Disciplina 2 500 Média Geral 500 Classificação 7 10 Nome do Aluno 3 Média Disciplina 1 200 Média Disciplina 2 200 Média Geral 200 Classificação 7 15 Média Geral da Turma 567 Quantos alunos serão registrados 3 Aluno 1 Nome 1 média de disciplina 1 10 média de disciplina 2 10 Aluno 2 Nome 2 média de disciplina 1 5 média de disciplina 2 5 Aluno 3 Nome 3 média de disciplina 1 2 média de disciplina 2 2 Classificação dos alunos salva no arquivo classificacaoalunostxt Program finished with exit code 0 Press ENTER to exit console
Send your question to AI and receive an answer instantly
Recommended for you
46
Projeto Interdisciplinar - Desenvolvimento de Jogo de Tabuleiro e Análise Sociocultural
Análise de Algoritmos
UMG
72
Análise de Algoritmos e Estruturas de Dados: Introdução e Complexidade
Análise de Algoritmos
UMG
1
Análise de Algoritmos e Estruturas de Dados - Recorrência, Máximo em Vetor, Listas Ordenadas, Árvores Binárias e Busca em Largura
Análise de Algoritmos
UMG
5
Avaliacao Final Desenvolvimento de Batepapo Web com Nodejs Express e Cookies
Análise de Algoritmos
UMG
4
Facility Location Problem - Discrete Optimization Assignment
Análise de Algoritmos
UMG
9
Algoritmo e Logica de Programação
Análise de Algoritmos
UNOPAR
5
Correcao de Algoritmo de Media e Uso de Operadores Logicos
Análise de Algoritmos
UNISA
3
Calculo-de-Media-em-Portugol-com-Teste-de-Mesa
Análise de Algoritmos
UNISA
25
Roteiro Aula Pratica VisualG Algoritmos e Logica de Programacao
Análise de Algoritmos
UNOPAR
2
Trabalho Acadêmico Algoritmos I - Linguagem C - Entrega 26-09-2022
Análise de Algoritmos
MULTIVIX
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 Titulo do Trabalho Nome do Aluno September 28 2024 1 Codigo do Jogo de Aventura 1 programa 2 3 Funcao principal que inicia o jogo 4 funcao inicio 5 inteiro caminho Variavel para armazenar a escolha do jogador 6 inteiro pontos 0 Inicializa os pontos do jogador 7 8 escrevaVoceeum exploradorcorajosoqueseaventuraem umamisteriosaFloresta Sussurrante embuscade tesouroslendariosesegredosperdidos Apresentacao do jogo 9 escrevaAoadentrarnafloresta vocesedeparacomtres caminhosdiferentes 10 escreva1OCaminhodasSombras 11 escreva2OCaminhodaLuz 12 escreva3OCaminhodasCriaturas 13 14 Solicita ao jogador que escolha um caminho 15 escrevaEscolhaumcaminho12ou3 16 leiacaminho Le a escolha do jogador 17 18 Chama a funcao para processar a escolha do jogador 19 escolhercaminho caminho pontos 20 fimfuncao 21 22 23 Funcao que processa o caminho escolhido 24 funcao escolhercaminho inteiro caminho inteiro pontos 25 Verifica qual caminho o jogador escolheu 26 escolhacaminho 27 28 caso 1 29 pontos caminhodassombras Chama a funcao e adiciona os pontos 30 pare 31 32 caso 2 33 pontos caminhodaluz Chama a funcao e adiciona os pontos 34 pare 1 35 36 caso 3 37 pontos caminhodascriaturas Chama a funcao e adiciona os pontos 38 pare 39 40 caso contrario 41 escrevaEscolhainvalidaPorfavor selecioneum caminhovalido Mensagem de erro 42 escrevaEscolhaumcaminho12ou3 43 leiacaminho Le nova escolha 44 escolhercaminho caminho pontos Chama novamente para processar nova escolha 45 46 fimescolha 47 48 fimfuncao 49 50 51 Funcao para o Caminho das Sombras 52 funcao caminhodassombras 53 escrevaVoceescolheuoCaminhodasSombrasTudoaoseu redorficamaisescuro esonsestranhosecoamaolonge Descricao do caminho 54 55 Charada 56 escrevaCharadaOqueeoqueeQuantomaisescurofica maisclaroeusouOquesou 57 escreva1Luz 2Sombra 3Escuridao 58 inteiro resposta 59 leiaresposta Le a resposta do jogador 60 61 Verifica resposta 62 se resposta 1 63 escrevaCorretoVoceganhou10pontos Mensagem de acerto 64 retorne 10 65 66 senao 67 escrevaIncorretoArespostaeraLuz Mensagem de erro 68 retorne 0 69 70 fimfuncao 71 72 73 Funcao para o Caminho da Luz 74 funcao caminhodaluz 75 escrevaVoceescolheuoCaminhodaLuzOcaminhoe iluminadoporraiosdesol eumasensacaodepaz invadeseuser Descricao do caminho 76 77 Charada 78 escrevaCharadaOqueeoqueeEusoulevecomouma pena masnemohomemmaisforteconseguemesegurar pormuitotempoOquesou 79 escreva1Agua 2Sombra 3Respiracao 2 80 inteiro resposta 81 leiaresposta Le a resposta do jogador 82 83 Verifica resposta 84 se resposta 3 85 escrevaCorretoVoceganhou10pontos Mensagem de acerto 86 retorne 10 87 88 senao 89 escrevaIncorretoArespostaera Respiracao Mensagem de erro 90 retorne 0 91 92 fimfuncao 93 94 95 Funcao para o Caminho das Criaturas 96 funcao caminhodascriaturas 97 escrevaVoceescolheuoCaminhodasCriaturasOsarbustos aoseuredorcomecamasemover ecriaturas misteriosassurgem Descricao do caminho 98 99 Charada 100 escrevaCharadaOqueeoqueeEstousempreasua frente masnuncapossoservistoOquesou 101 escreva1Futuro 2Passado 3Sombra 102 inteiro resposta 103 leiaresposta Le a resposta do jogador 104 105 Verifica resposta 106 se resposta 1 107 escrevaCorretoVoceganhou10pontos Mensagem de acerto 108 retorne 10 109 110 senao 111 escrevaIncorretoArespostaeraFuturo Mensagem de erro 112 retorne 0 113 114 fimfuncao 115 11 Comentarios sobre o Codigo O jogo se inicia com a funcao inicio onde o jogador e apresentado a historia e as opcoes de caminho 1 funcao inicio 2 inteiro caminho Variavel para armazenar a escolha do jogador 3 inteiro pontos 0 Inicializa os pontos do jogador 4 5 escolhercaminho caminho pontos 6 3 A escolha do jogador e processada na funcao escolher caminho que verifica qual caminho foi escolhido e chama a funcao correspondente 1 funcao escolhercaminho inteiro caminho inteiro pontos 2 escolhacaminho 3 caso 1 4 pontos caminhodassombras 5 6 7 Cada caminho tem uma funcao associada como caminho das sombras que inclui uma charada para o jogador responder O jogador ganha ou perde pontos com base na resposta 1 funcao caminhodassombras 2 3 se resposta 1 4 escrevaCorretoVoceganhou10pontos 5 retorne 10 6 7 Assim o jogo combina narrativa escolha e desafios criando uma experiencia interativa para o jogador 12 Imagem do Teste 4 2 Codigo do Labirinto do Tesouro 1 programa 2 inclua biblioteca Util u 3 4 Funcao principal que inicia o jogo 5 funcao inicio 6 inteiro linhaExplorador usorteia 1 5 7 inteiro colunaExplorador usorteia 1 5 8 inteiro linhaTesouro 4 9 inteiro colunaTesouro 4 10 logico encontrado falso 11 inteiro direcao Alterado para inteiro 12 13 escrevaBem vindoaoLabirintodoTesouro 14 escrevaVocedeveencontrarotesouroescondidono labirinto 15 16 enquanto encontrado falso 17 Exibe a posicao atual do explorador 18 escrevaVoceestanaposicao linhaExplorador colunaExplorador 19 20 Exibe o menu de direcoes 21 escrevaEscolhaumadirecaoparamover 22 escreva1Cima 23 escreva2Baixo 24 escreva3Esquerda 25 escreva4Direita 26 escrevaDigiteonumerodadirecao1 4 27 leiadirecao 28 29 Atualiza a posicao do explorador com base na direcao 30 se direcao 1 Cima 31 se linhaExplorador 1 32 linhaExplorador linhaExplorador 1 33 senao 34 escrevaVocenaopodeirparacimaEstano topodolabirinto 35 36 senao se direcao 2 Baixo 37 se linhaExplorador 5 38 linhaExplorador linhaExplorador 1 39 senao 40 escrevaVocenaopodeirparabaixoEstana basedolabirinto 41 42 senao se direcao 3 Esquerda 43 se colunaExplorador 1 44 colunaExplorador colunaExplorador 1 45 senao 46 escrevaVocenaopodeirparaaesquerdaEsta nabordaesquerdadolabirinto 47 48 senao se direcao 4 Direita 49 se colunaExplorador 5 50 colunaExplorador colunaExplorador 1 5 51 senao 52 escrevaVocenaopodeirparaadireitaEsta nabordadireitadolabirinto 53 54 senao 55 escrevaOpcaoinvalidaTentenovamente 56 57 58 Verifica se o explorador encontrou o tesouro 59 se linhaExplorador linhaTesouro e colunaExplorador colunaTesouro 60 escrevaParabensVoceencontrouotesouro 61 encontrado verdadeiro 62 63 64 65 21 Comentarios sobre o Codigo O jogo do labirinto se inicia na funcao inicio onde a posicao inicial do explo rador e definida aleatoriamente 1 funcao inicio 2 inteiro linhaExplorador usorteia 1 5 3 inteiro colunaExplorador usorteia 1 5 4 5 O jogador e informado sobre o objetivo do jogo que e encontrar o tesouro escondido 1 escrevaBem vindoaoLabirintodoTesouro 2 escrevaVocedeveencontrarotesouroescondidonolabirinto Um loop enquanto controla o jogo permitindo que o jogador escolha direcoes para se mover no labirinto 1 enquanto encontrado falso 2 3 As direcoes sao oferecidas ao jogador e o movimento e atualizado com base na escolha 1 escrevaEscolhaumadirecaoparamover 2 escreva1Cima 3 4 leiadirecao 5 6 se direcao 1 Cima 7 se linhaExplorador 1 8 linhaExplorador linhaExplorador 1 9 10 Finalmente o jogo verifica se o explorador encontrou o tesouro e encerra a partida 6 1 se linhaExplorador linhaTesouro e colunaExplorador colunaTesouro 2 escrevaParabensVoceencontrouotesouro 3 encontrado verdadeiro 4 O jogo combina sorte direcao e logica para proporcionar uma experiencia interativa 22 Imagem do Teste 7 3 Codigo de Aprovacao de Emprestimo 1 include stdioh 2 3 int main 4 Declaracao de variaveis 5 float rendamensal valoremprestimo valorentrada 6 int historicocredito estabilidadeemprego 7 8 S o l i c i t a o de dados ao usuario 9 printfDigitesuarendamensal 10 scanff rendamensal 11 12 printfDigiteovalordo emprestimo desejado 13 scanff valoremprestimo 14 15 printfDigiteseuhistoricodecredito1parabom 0para ruim 16 scanfd historicocredito 17 18 printfDigitesua estabilidade noempregoemanos 19 scanfd estabilidadeemprego 20 21 printfDigiteovalordaentrada 22 scanff valorentrada 23 24 Logica de aprovacao do emprestimo 25 int aprovado 1 Inicialmente assumimos que o emprestimo sera aprovado 26 27 Criterio 1 O valor do emprestimo nao pode exceder 30 da renda mensal 28 if valoremprestimo 03 rendamensal 12 29 aprovado 0 30 31 32 Criterio 2 Historico de credito ruim 33 if historicocredito 0 34 aprovado 0 35 36 37 Criterio 3 Estabilidade no emprego por exemplo menos de 1 ano 38 if estabilidadeemprego 1 39 aprovado 0 40 41 42 Exibicao do resultado 43 if aprovado 44 printf ParabensSeu emprestimofoiaprovado 45 printfValoraprovadoR2f valoremprestimo 46 else 47 printf Desculpe seu emprestimonaofoiaprovado 48 printfMotivospossiveis 49 if valoremprestimo 03 rendamensal 12 50 printfOvalordo emprestimo excede30dasua rendaanual 8 51 52 if historicocredito 0 53 printfSeuhistoricodecreditonaoefavoravel 54 55 if estabilidadeemprego 1 56 printfSua estabilidade noempregoemenorque1ano 57 58 59 60 return 0 61 31 Comentarios sobre o Codigo O programa inicia com a inclusao da biblioteca stdioh e a funcao principal main 1 include stdioh 2 3 int main 4 5 As variaveis necessarias para o calculo do emprestimo sao declaradas 1 float rendamensal valoremprestimo valorentrada 2 int historicocredito estabilidadeemprego O usuario e solicitado a fornecer os dados relevantes 1 printfDigitesuarendamensal 2 scanff rendamensal A logica de aprovacao do emprestimo considera varios criterios 1 Logica de aprovacao do emprestimo 2 int aprovado 1 Inicialmente assumimos que o emprestimo sera aprovado O primeiro criterio verifica se o valor do emprestimo nao excede 30 da renda anual 1 if valoremprestimo 03 rendamensal 12 2 aprovado 0 3 Os proximos criterios avaliam o historico de credito e a estabilidade no em prego 1 if historicocredito 0 2 aprovado 0 3 4 if estabilidadeemprego 1 5 aprovado 0 6 Ao final o resultado da aprovacao e exibido 9 1 if aprovado 2 printf ParabensSeu emprestimofoiaprovado 3 else 4 printf Desculpe seu emprestimonaofoiaprovado 5 O programa combina a logica para avaliar a situacao do usuario e informar sobre a aprovacao do emprestimo 32 Imagem do Teste 10 4 Codigo de Classificacao de Alunos 1 include stdioh 2 include stdlibh 3 include stringh 4 5 define MAXNOME 50 6 define MAXALUNOS 100 7 8 Definicao da struct Aluno 9 typedef struct 10 char nomeMAXNOME 11 float mediadisciplina1 12 float mediadisciplina2 13 float mediageral 14 int classificacao 15 Aluno 16 17 Funcao para calcular a media geral 18 float calcularMediaGeral float media1 float media2 19 return media1 media2 20 20 21 22 Funcao de comparacao para ordenacao 23 int compararAlunos const void a const void b 24 return Aluno bmediageral Aluno amediageral 25 26 27 int main 28 Aluno alunosMAXALUNOS 29 int numalunos 30 float mediaturma 0 31 32 Entrada de dados 33 printfQuantosalunosserao registrados 34 scanfd numalunos 35 36 for int i 0 i numalunos i 37 printf Alunod i 1 38 printfNome 39 scanf alunosi nome 40 printfMediada disciplina 1 41 scanff alunosi mediadisciplina1 42 printfMediada disciplina 2 43 scanff alunosi mediadisciplina2 44 45 Calculo da media geral 46 alunosi mediageral calcularMediaGeral alunosi mediadisciplina1 alunosi mediadisciplina2 47 mediaturma alunosi mediageral 48 49 50 Calculo da media da turma 51 mediaturma numalunos 52 53 Ordenacao dos alunos 54 qsortalunos numalunos sizeofAluno compararAlunos 11 55 56 Atribuicao das classificacoes 57 for int i 0 i numalunos i 58 alunosi classificacao i 1 59 60 61 Escrita no arquivo 62 FILE arquivo fopen classificacaoalunos txt w 63 if arquivo NULL 64 printfErroaoabriroarquivo 65 return 1 66 67 68 fprintfarquivo Classificacao dosAlunos 69 for int i 0 i numalunos i 70 fprintfarquivo NomedoAlunos alunosi nome 71 fprintfarquivo Media Disciplina 12f alunosi mediadisciplina1 72 fprintfarquivo Media Disciplina 22f alunosi mediadisciplina2 73 fprintfarquivo MediaGeral2f alunosi mediageral 74 fprintfarquivo Classificacao d alunosi classificacao 75 76 77 fprintfarquivo MediaGeraldaTurma2f mediaturma 78 79 fclosearquivo 80 81 printf nClassificacao dosalunossalvanoarquivo classificacaoalunos txt 82 83 return 0 84 41 Comentarios sobre o Codigo O programa comeca incluindo as bibliotecas necessarias e definindo constantes 1 include stdioh 2 include stdlibh 3 include stringh 4 5 define MAXNOME 50 6 define MAXALUNOS 100 Uma struct Aluno e definida para armazenar as informacoes de cada aluno 1 Definicao da struct Aluno 2 typedef struct 3 char nomeMAXNOME 4 float mediadisciplina1 5 float mediadisciplina2 6 float mediageral 7 int classificacao 8 Aluno 12 A funcao calcularMediaGeral calcula a media geral de um aluno 1 Funcao para calcular a media geral 2 float calcularMediaGeral float media1 float media2 3 return media1 media2 20 4 A funcao compararAlunos serve para ordenar os alunos pela media geral 1 Funcao de comparacao para ordenacao 2 int compararAlunos const void a const void b 3 return Aluno bmediageral Aluno amediageral 4 No main os alunos sao registrados e suas medias sao calculadas 1 for int i 0 i numalunos i 2 printf Alunod i 1 3 4 alunosi mediageral calcularMediaGeral alunosi mediadisciplina1 alunosi mediadisciplina2 5 A media da turma e calculada e os alunos sao ordenados 1 Calculo da media da turma 2 mediaturma numalunos 3 4 Ordenacao dos alunos 5 qsortalunos numalunos sizeofAluno compararAlunos As classificacoes sao atribuıdas e os resultados sao salvos em um arquivo 1 Escrita no arquivo 2 FILE arquivo fopen classificacaoalunos txt w 3 4 fprintfarquivo MediaGeraldaTurma2f mediaturma Por fim o programa informa que a classificacao foi salva 1 printf nClassificacao dosalunossalvanoarquivo classificacaoalunos txt O programa organiza e classifica os alunos com base em suas medias pro porcionando uma maneira eficiente de visualizar o desempenho 42 Imagem do Teste 13 classificaaluno1c Classificação dos Alunos 1 Nome do Aluno 1 Média Disciplina 1 1000 Média Disciplina 2 1000 Média Geral 1000 Classificação 1 5 Nome do Aluno 2 Média Disciplina 1 500 Média Disciplina 2 500 Média Geral 500 Classificação 7 10 Nome do Aluno 3 Média Disciplina 1 200 Média Disciplina 2 200 Média Geral 200 Classificação 7 15 Média Geral da Turma 567 Quantos alunos serão registrados 3 Aluno 1 Nome 1 média de disciplina 1 10 média de disciplina 2 10 Aluno 2 Nome 2 média de disciplina 1 5 média de disciplina 2 5 Aluno 3 Nome 3 média de disciplina 1 2 média de disciplina 2 2 Classificação dos alunos salva no arquivo classificacaoalunostxt Program finished with exit code 0 Press ENTER to exit console