• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Cursos Gerais ·

Introdução à Lógica e Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Teste de Software: Qualidade e Normas

57

Teste de Software: Qualidade e Normas

Introdução à Lógica e Programação

UMG

Exercicios de Lógica

59

Exercicios de Lógica

Introdução à Lógica e Programação

UMG

Roteiro de Aula Prática: Programação e Desenvolvimento de Banco de Dados

4

Roteiro de Aula Prática: Programação e Desenvolvimento de Banco de Dados

Introdução à Lógica e Programação

UMG

Relato de Experiencia - Tipos de Testes em Aplicativos e Sistemas com Android Studio

4

Relato de Experiencia - Tipos de Testes em Aplicativos e Sistemas com Android Studio

Introdução à Lógica e Programação

UMG

Roteiro de Aula Pratica 2 - Simulacao de Redes com Cisco Packet Tracer

15

Roteiro de Aula Pratica 2 - Simulacao de Redes com Cisco Packet Tracer

Introdução à Lógica e Programação

UMG

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER com Workbench MySQL

4

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER com Workbench MySQL

Introdução à Lógica e Programação

UMG

Trabalho de Programação Linear

1

Trabalho de Programação Linear

Introdução à Lógica e Programação

UMG

Estruturas de Seleção em Linguagem C

12

Estruturas de Seleção em Linguagem C

Introdução à Lógica e Programação

UMG

Analise Socioeconomica de Precos de Viagens por Aplicativo Uber com Data Science

26

Analise Socioeconomica de Precos de Viagens por Aplicativo Uber com Data Science

Introdução à Lógica e Programação

UMG

Atividade Online Programacao I UFPI - Algoritmo em C com Menu de Opcoes

1

Atividade Online Programacao I UFPI - Algoritmo em C com Menu de Opcoes

Introdução à Lógica e Programação

UMG

Texto de pré-visualização

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 Atividade 1 Aqui em baixo está o código fonte utilizado na atividade Algoritmo da Aventura na Floresta Sussurrante programa inteiro opcao inteiro pontos cadeia resposta funcao inicio Inicialização da pontuação pontos 0 Introdução da aventura escrevaBemvindo explorador Você entrou na misteriosa Floresta Sussurrante escrevaEscolha o seu caminho com sabedoria pois cada decisão impactará sua jornada Menu de opções para o jogador escreva Escolha seu caminho escreva 1 Caminho das Sombras escreva 2 Caminho da Luz escreva 3 Caminho das Criaturas escreva Digite a opção desejada 1 2 ou 3 leiaopcao Estrutura de escolha para selecionar o caminho escolha opcao caso 1 escreva Você escolheu o Caminho das Sombras escreva Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos escreva Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma escreva Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou escreva Digite sua resposta leiaresposta Verifica a resposta do enigma se resposta caveira escreva Correto A criatura mágica deixa você passar escreva Você encontra um baú escondido e recebe uma gema preciosa pontos pontos 100 senao escreva Resposta incorreta A criatura impede sua passagem caso 2 escreva Você escolheu o Caminho da Luz escreva Este caminho é iluminado por raios de sol entre as copas das árvores escreva Você encontra uma ponte quebrada sobre um rio turbulento escreva Deseja tentar atravessar a ponte ou procurar um desvio Digite atravessar ou desvio escreva Sua escolha leiaresposta Verifica a decisão de atravessar ou buscar desvio se resposta atravessar escreva Você atravessa com sucesso a ponte quebrada escreva Do outro lado encontra uma fonte mágica que restaura sua saúde pontos pontos 50 senao escreva Você decide procurar um desvio seguro evitando riscos caso 3 escreva Você escolheu o Caminho das Criaturas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Você encontra uma criatura mágica adormecida bloqueando o caminho escreva Deseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escreva Sua escolha leiaresposta Verifica a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma árvore encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contrario escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Explicação do código Estrutura de Escolha A estrutura ESCOLHA CASO é usada para lidar com as três opções de caminho que o jogador pode escolher Estrutura Condicional SE Dentro de cada caso a estrutura SE é usada para validar as respostas e ações do jogador impactando a pontuação de acordo com a escolha feita Pontuação A variável pontos é atualizada conforme o jogador responde corretamente aos enigmas ou toma decisões estratégicas em cada caminho O programa foi escrito como uma narrativa não interativa onde as decisões do usuário afetam diretamente o desenrolar da história e a pontuação final da aventura Prints dos testes escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas Atividade 2 Código fonte em portugol Início do Programa programa Definição das variáveis inteiro labirinto55 inteiro posX posY Posição inicial do explorador inteiro tesouroX tesouroY Posição do tesouro funcao inicio Inicializa posição do explorador posX 0 posY 0 Gera o labirinto aleatoriamente e posiciona o tesouro gerarLabirinto Laço principal EnquantoFaça para encontrar o tesouro enquanto labirintoposXposY 2 exibirLabirinto moverExplorador Quando o tesouro é encontrado escrevaParabéns Você encontrou o tesouro na posição posX posY Função para gerar o labirinto e posicionar o tesouro funcao gerarLabirinto Preenche o labirinto com caminhos livres e paredes para inteiro i 0 i 5 i para inteiro j 0 j 5 j se sorteia010 4 0 labirintoij 1 Define parede senao labirintoij 0 Define caminho livre Define uma armadilha em algumas posições labirinto12 3 labirinto33 3 Coloca o tesouro em uma posição aleatória diferente de 00 faca tesouroX sorteia010 5 tesouroY sorteia010 5 enquanto tesouroX 0 e tesouroY 0 labirintotesouroXtesouroY 2 Função para mostrar o labirinto opcional ajuda a debugar funcao exibirLabirinto escrevaLabirinto atual para inteiro i 0 i 5 i para inteiro j 0 j 5 j escrevalabirintoij escreva Função para movimentar o explorador funcao moverExplorador caracter direcao escrevaEscolha uma direção W cima S baixo A esquerda D direita leiadirecao inteiro novaPosX posX inteiro novaPosY posY Define a direção do movimento se direcao W e posX 0 novaPosX senao se direcao S e posX 4 novaPosX senao se direcao A e posY 0 novaPosY senao se direcao D e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY Explicação do Algoritmo 1 Função Principal inicio Define a posição inicial do explorador e executa a função gerarLabirinto para configurar o labirinto com obstáculos e o tesouro em um local aleatório 2 Função gerarLabirinto Cria o layout do labirinto aleatoriamente posicionando o tesouro e algumas armadilhas Garantimos que o tesouro não esteja na posição inicial 00 3 Loop EnquantoFaça Mantém o explorador em movimento até encontrar o tesouro 4 Movimentação do Explorador Permite ao usuário mover o explorador através das direções W A S D e atualiza a posição Se houver uma parede ou uma armadilha o explorador é impedido de avançar ou volta ao início respectivamente 5 Finalização O loop encerra quando o explorador encontra o tesouro e uma mensagem de sucesso é exibida Esse código traz um cenário dinâmico com obstáculos armadilhas e um posicionamento aleatório do tesouro a cada execução tornando a experiência imprevisível e desafiadora Prints dos testes Console Mensagens Escolha uma direção W cima S baixo A esquerda D direita v Movimento inválido Tente outra direção Labirinto atual 0 1 0 0 0 1 2 1 3 1 1 0 1 1 0 0 0 3 0 0 1 1 0 0 1 Escolha uma direção W cima S baixo A esquerda D direita Console Mensagens Escolha uma direção W cima S baixo A esquerda D direita s Movimento inválido Tente outra direção Labirinto atual 0 1 0 0 0 1 2 1 3 1 1 0 1 1 0 0 0 3 0 0 1 1 0 0 1 Escolha uma direção W cima S baixo A esquerda D direita Atividade 3 Código Fonte include stdioh include stringh Função principal int main float rendaMensal valorEmprestimo valorEntrada char historicoCredito10 char estabilidadeEmprego10 Solicitar as informações do cliente printfDigite sua renda mensal scanff rendaMensal printfDigite o valor do emprestimo desejado scanff valorEmprestimo printfHistorico de credito bomruim scanfs historicoCredito printfEstabilidade no emprego estavelinstavel scanfs estabilidadeEmprego printfDigite o valor da entrada scanff valorEntrada Critério 1 Relação entre renda e valor do empréstimo if valorEmprestimo 03 rendaMensal printfEmprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Critério 2 Histórico de crédito else if strcmphistoricoCredito ruim 0 printfEmprestimo rejeitado Histórico de crédito ruim Critério 3 Estabilidade no emprego e valor da entrada else if strcmpestabilidadeEmprego instavel 0 valorEntrada 1000 printfEmprestimo rejeitado Estabilidade no emprego instável e valor da entrada insuficiente else printfEmprestimo aprovado return 0 Para que o programa rode você precisa instalar essa extensão no vscode Explicação do Código 1 Definimos as variáveis necessárias para armazenar as informações financeiras do client e 2 Solicitamos ao usuário que forneça essas informações 3 Implementamos a lógica de aprovação usando ifelse para verificar cada critério 4 Exibimos o resultado da análise informando ao cliente se o empréstimo foi aprovado o u rejeitado Prints dos testes Digite sua renda mensal 1800 Digite uma renda mensal 1800 Digite o valor do emprestimo desejado 5000 Digite uma renda mensal 1800 Digite o valor do emprestimo desejado 5000 Historico de credito bomruim bom Digite uma renda mensal 1800 Digite o valor do emprestimo desejado 5000 Historico de credito bomruim bom Estabilidade no emprego estavelinstavel estavel Digite o valor da entrada 1000 Emprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Atividade 4 Código Fonte include stdioh include stdlibh include stringh Definição da estrutura Aluno typedef struct char nome50 float mediaDisciplina1 float mediaDisciplina2 float mediaGeral int classificacao Aluno float calcularMediaGeralfloat mediaDisciplina1 float mediaDisciplina2 return mediaDisciplina1 mediaDisciplina2 2 int main int numAlunos printfDigite o numero de alunos scanfd numAlunos Aluno alunosnumAlunos for int i 0 i numAlunos i printf Digite o nome do aluno d i 1 scanfs alunosinome printfDigite a media da disciplina 1 scanff alunosimediaDisciplina1 printfDigite a media da disciplina 2 scanff alunosimediaDisciplina2 alunosimediaGeral calcularMediaGeralalunosimediaDisciplina1 alunosimediaDisciplina2 qsortalunos numAlunos sizeofAluno compararMedias for int i 0 i numAlunos i alunosiclassificacao i 1 FILE arquivo fopenclassificacaoalunostxt w if arquivo NULL printfErro ao abrir o arquivo return 1 float somaMedias 0 for int i 0 i numAlunos i fprintfarquivo Nome do Aluno s alunosinome fprintfarquivo Media Disciplina 1 2f alunosimediaDisciplina1 fprintfarquivo Media Disciplina 2 2f alunosimediaDisciplina2 fprintfarquivo Media Geral 2f alunosimediaGeral fprintfarquivo Classificacao d alunosiclassificacao somaMedias alunosimediaGeral float mediaGeralTurma somaMedias numAlunos fprintfarquivo Media Geral da Turma 2f mediaGeralTurma fclosearquivo printfDados gravados com sucesso no arquivo classificacaoalunostxt return 0 Atividade 1 Aqui em baixo está o código fonte utilizado na atividade Algoritmo da Aventura na Floresta Sussurrante programa inteiro opcao inteiro pontos cadeia resposta funcao inicio Inicialização da pontuação pontos 0 Introdução da aventura escrevaBemvindo explorador Você entrou na misteriosa Floresta Sussurrante escrevaEscolha o seu caminho com sabedoria pois cada decisão impactará sua jornada Menu de opções para o jogador escreva Escolha seu caminho escreva 1 Caminho das Sombras escreva 2 Caminho da Luz escreva 3 Caminho das Criaturas escreva Digite a opção desejada 1 2 ou 3 leiaopcao Estrutura de escolha para selecionar o caminho escolha opcao caso 1 escreva Você escolheu o Caminho das Sombras escreva Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos escreva Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma escreva Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou escreva Digite sua resposta leiaresposta Verifica a resposta do enigma se resposta caveira escreva Correto A criatura mágica deixa você passar escreva Você encontra um baú escondido e recebe uma gema preciosa pontos pontos 100 senao escreva Resposta incorreta A criatura impede sua passagem caso 2 escreva Você escolheu o Caminho da Luz escreva Este caminho é iluminado por raios de sol entre as copas das árvores escreva Você encontra uma ponte quebrada sobre um rio turbulento escreva Deseja tentar atravessar a ponte ou procurar um desvio Digite atravessar ou desvio escreva Sua escolha leiaresposta Verifica a decisão de atravessar ou buscar desvio se resposta atravessar escreva Você atravessa com sucesso a ponte quebrada escreva Do outro lado encontra uma fonte mágica que restaura sua saúde pontos pontos 50 senao escreva Você decide procurar um desvio seguro evitando riscos caso 3 escreva Você escolheu o Caminho das Criaturas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Você encontra uma criatura mágica adormecida bloqueando o caminho escreva Deseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escreva Sua escolha leiaresposta Verifica a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma árvore encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contrario escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Explicação do código Estrutura de Escolha A estrutura ESCOLHA CASO é usada para lidar com as três opções de caminho que o jogador pode escolher Estrutura Condicional SE Dentro de cada caso a estrutura SE é usada para validar as respostas e ações do jogador impactando a pontuação de acordo com a escolha feita Pontuação A variável pontos é atualizada conforme o jogador responde corretamente aos enigmas ou toma decisões estratégicas em cada caminho O programa foi escrito como uma narrativa não interativa onde as decisões do usuário afetam diretamente o desenrolar da história e a pontuação final da aventura Prints dos testes escrevaNeste caminho é repleto de sons estranhos e pegadas misteriosas escrevaVocê encontra uma criatura mágica adormecida bloqueando o caminho escrevaDeseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escrevaSua escolha leiaresposta Verifico a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma fêmea encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contraria escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Console Mensagens Bemvindo explorador Você entrou na misteriosa Floresta SussurranteEscolha o seu caminho com sabedoria pois cada decisão impactará sua jornada Escolha seu caminho 1 Caminho das Sombras 2 Caminho da Luz 3 Caminho das Criaturas Digite a opção desejada 1 2 ou 3 O programa está aguardando a entrada de dados Você escolheu o Caminho das Sombras Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou Digite sua resposta 22ºC Ensolarado 1809 31102024 50 escrevaNeste caminho é repleto de sons estranhos e pegadas misteriosas escrevaVocê encontra uma criatura mágica adormecida bloqueando o caminho escrevaDeseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escrevaSua escolha leiaresposta Verifico a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma fêmea encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contraria escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Console Mensagens 2 Caminho das Sombras 2 Caminho da Luz 3 Caminho das Criaturas Digite a opção desejada 1 2 ou 3 1 Você escolheu o Caminho das Sombras Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou Digite sua resposta 22ºC Ensolarado 1810 31102024 51 escrevaNeste caminho é repleto de sons estranhos e pegadas misteriosas escrevaVocê encontra uma criatura mágica adormecida bloqueando o caminho escrevaDeseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escrevaSua escolha leiaresposta Verifico a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma fêmea encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contraria escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Console Mensagens deseja tentar atravessar a ponte ou procurar um desvio digite atravessar ou desvio Sua escolha atravessar Você atravessa com sucesso a ponte quebrada Do outro lado encontra uma fonte mágica que restaura sua saúde Você escolheu o Caminho das Criaturas Este caminho é repleto de sons estranhos e pegadas misteriosas Você encontra uma criatura mágica adormecida bloqueando o caminho Deseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar Sua escolha contornar Você contorna a criatura com sucesso e continua sua jornada Uma fêmea encantada lhe concede a habilidade de camuflagem Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Sua aventura termina aqui Pontuação final 125 pontos Obrigado por explorar a Floresta Sussurrante Programa finalizado Tempo de execução 108883 milissegundos 22ºC Ensolarado 1811 31102024 Atividade 2 Código fonte em portugol Início do Programa programa Definição das variáveis inteiro labirinto55 inteiro posX posY Posição inicial do explorador inteiro tesouroX tesouroY Posição do tesouro funcao inicio Inicializa posição do explorador posX 0 posY 0 Gera o labirinto aleatoriamente e posiciona o tesouro gerarLabirinto Laço principal EnquantoFaça para encontrar o tesouro enquanto labirintoposXposY 2 exibirLabirinto moverExplorador Quando o tesouro é encontrado escrevaParabéns Você encontrou o tesouro na posição posX posY Função para gerar o labirinto e posicionar o tesouro funcao gerarLabirinto Preenche o labirinto com caminhos livres e paredes para inteiro i 0 i 5 i para inteiro j 0 j 5 j se sorteia010 4 0 labirintoij 1 Define parede senao labirintoij 0 Define caminho livre Define uma armadilha em algumas posições labirinto12 3 labirinto33 3 Coloca o tesouro em uma posição aleatória diferente de 00 faca tesouroX sorteia010 5 tesouroY sorteia010 5 enquanto tesouroX 0 e tesouroY 0 labirintotesouroXtesouroY 2 Função para mostrar o labirinto opcional ajuda a debugar funcao exibirLabirinto escrevaLabirinto atual para inteiro i 0 i 5 i para inteiro j 0 j 5 j escrevalabirintoij escreva Função para movimentar o explorador funcao moverExplorador caracter direcao escrevaEscolha uma direção W cima S baixo A esquerda D direita leiadirecao inteiro novaPosX posX inteiro novaPosY posY Define a direção do movimento se direcao W e posX 0 novaPosX senao se direcao S e posX 4 novaPosX senao se direcao A e posY 0 novaPosY senao se direcao D e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY Explicação do Algoritmo 1 Função Principal inicio Define a posição inicial do explorador e executa a função gerarLabirinto para configurar o labirinto com obstáculos e o tesouro em um local aleatório 2 Função gerarLabirinto Cria o layout do labirinto aleatoriamente posicionando o tesouro e algumas armadilhas Garantimos que o tesouro não esteja na posição inicial 00 3 Loop EnquantoFaça Mantém o explorador em movimento até encontrar o tesouro 4 Movimentação do Explorador Permite ao usuário mover o explorador através das direções W A S D e atualiza a posição Se houver uma parede ou uma armadilha o explorador é impedido de avançar ou volta ao início respectivamente 5 Finalização O loop encerra quando o explorador encontra o tesouro e uma mensagem de sucesso é exibida Esse código traz um cenário dinâmico com obstáculos armadilhas e um posicionamento aleatório do tesouro a cada execução tornando a experiência imprevisível e desafiadora Prints dos testes se direcao w e posX 0 novaPosX senao se direcao s e posX 4 novaPosX senao se direcao a e posY 0 novaPosY senao se direcao d e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY se direcao w e posX 0 novaPosX senao se direcao s e posX 4 novaPosX senao se direcao a e posY 0 novaPosY senao se direcao d e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY Atividade 3 Código Fonte include stdioh include stringh Função principal int main float rendaMensal valorEmprestimo valorEntrada char historicoCredito10 char estabilidadeEmprego10 Solicitar as informações do cliente printfDigite sua renda mensal scanff rendaMensal printfDigite o valor do emprestimo desejado scanff valorEmprestimo printfHistorico de credito bomruim scanfs historicoCredito printfEstabilidade no emprego estavelinstavel scanfs estabilidadeEmprego printfDigite o valor da entrada scanff valorEntrada Critério 1 Relação entre renda e valor do empréstimo if valorEmprestimo 03 rendaMensal printfEmprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Critério 2 Histórico de crédito else if strcmphistoricoCredito ruim 0 printfEmprestimo rejeitado Histórico de crédito ruim Critério 3 Estabilidade no emprego e valor da entrada else if strcmpestabilidadeEmprego instavel 0 valorEntrada 1000 printfEmprestimo rejeitado Estabilidade no emprego instável e valor da entrada insuficiente else printfEmprestimo aprovado return 0 Para que o programa rode você precisa instalar essa extensão no vscode Explicação do Código 1 Definimos as variáveis necessárias para armazenar as informações financeiras do client e 2 Solicitamos ao usuário que forneça essas informações 3 Implementamos a lógica de aprovação usando ifelse para verificar cada critério 4 Exibimos o resultado da análise informando ao cliente se o empréstimo foi aprovado o u rejeitado Prints dos testes printEstabilidade no emprego estavelinstavel scanfs estabilidadeEmprego printfDigite o valor da entrada scanff valorEntrada Critério 1 Relação entre renda e valor do empréstimo if valorEmprestimo 03 rendaMensal printfEmprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Critério 2 Histórico de crédito else if strcmphistoricoCredito ruim 0 printfEmprestimo rejeitado Histórico de crédito ruim Critério 3 Estabilidade no emprego e valor da entrada else if strcmpestabilidadeEmprego instavel 0 valorEntrada 1000 printfEmprestimo rejeitado Estabilidade no emprego instável e valor da entrada baixa else printfEmprestimo aprovado return 0 Digite sua renda mensal 1800 Digite o valor do emprestimo desejado Digite sua renda mensal 1800 Digite o valor do emprestimo desejado 5000 Històrico de credito bomruim bom Estabilidade no emprego estavelinstavel estavel Digite sua renda mensal 1800 Digite o valor do emprestimo desejado 5000 Històrico de credito bomruim bom Estabilidade no emprego estavelinstavel estavel Digite o valor da entrada 1000 Atividade 4 Código Fonte include stdioh include stdlibh include stringh Definição da estrutura Aluno typedef struct char nome50 float mediaDisciplina1 float mediaDisciplina2 float mediaGeral int classificacao Aluno float calcularMediaGeralfloat mediaDisciplina1 float mediaDisciplina2 return mediaDisciplina1 mediaDisciplina2 2 int main int numAlunos printfDigite o numero de alunos scanfd numAlunos Aluno alunosnumAlunos for int i 0 i numAlunos i printf Digite o nome do aluno d i 1 scanfs alunosinome printfDigite a media da disciplina 1 scanff alunosimediaDisciplina1 printfDigite a media da disciplina 2 scanff alunosimediaDisciplina2 alunosimediaGeral calcularMediaGeralalunosimediaDisciplina1 alunosimediaDisciplina2 qsortalunos numAlunos sizeofAluno compararMedias for int i 0 i numAlunos i alunosiclassificacao i 1 FILE arquivo fopenclassificacaoalunostxt w if arquivo NULL printfErro ao abrir o arquivo return 1 float somaMedias 0 for int i 0 i numAlunos i fprintfarquivo Nome do Aluno s alunosinome fprintfarquivo Media Disciplina 1 2f alunosimediaDisciplina1 fprintfarquivo Media Disciplina 2 2f alunosimediaDisciplina2 fprintfarquivo Media Geral 2f alunosimediaGeral fprintfarquivo Classificacao d alunosiclassificacao somaMedias alunosimediaGeral float mediaGeralTurma somaMedias numAlunos fprintfarquivo Media Geral da Turma 2f mediaGeralTurma fclosearquivo printfDados gravados com sucesso no arquivo classificacaoalunostxt return 0

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Teste de Software: Qualidade e Normas

57

Teste de Software: Qualidade e Normas

Introdução à Lógica e Programação

UMG

Exercicios de Lógica

59

Exercicios de Lógica

Introdução à Lógica e Programação

UMG

Roteiro de Aula Prática: Programação e Desenvolvimento de Banco de Dados

4

Roteiro de Aula Prática: Programação e Desenvolvimento de Banco de Dados

Introdução à Lógica e Programação

UMG

Relato de Experiencia - Tipos de Testes em Aplicativos e Sistemas com Android Studio

4

Relato de Experiencia - Tipos de Testes em Aplicativos e Sistemas com Android Studio

Introdução à Lógica e Programação

UMG

Roteiro de Aula Pratica 2 - Simulacao de Redes com Cisco Packet Tracer

15

Roteiro de Aula Pratica 2 - Simulacao de Redes com Cisco Packet Tracer

Introdução à Lógica e Programação

UMG

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER com Workbench MySQL

4

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER com Workbench MySQL

Introdução à Lógica e Programação

UMG

Trabalho de Programação Linear

1

Trabalho de Programação Linear

Introdução à Lógica e Programação

UMG

Estruturas de Seleção em Linguagem C

12

Estruturas de Seleção em Linguagem C

Introdução à Lógica e Programação

UMG

Analise Socioeconomica de Precos de Viagens por Aplicativo Uber com Data Science

26

Analise Socioeconomica de Precos de Viagens por Aplicativo Uber com Data Science

Introdução à Lógica e Programação

UMG

Atividade Online Programacao I UFPI - Algoritmo em C com Menu de Opcoes

1

Atividade Online Programacao I UFPI - Algoritmo em C com Menu de Opcoes

Introdução à Lógica e Programação

UMG

Texto de pré-visualização

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 Atividade 1 Aqui em baixo está o código fonte utilizado na atividade Algoritmo da Aventura na Floresta Sussurrante programa inteiro opcao inteiro pontos cadeia resposta funcao inicio Inicialização da pontuação pontos 0 Introdução da aventura escrevaBemvindo explorador Você entrou na misteriosa Floresta Sussurrante escrevaEscolha o seu caminho com sabedoria pois cada decisão impactará sua jornada Menu de opções para o jogador escreva Escolha seu caminho escreva 1 Caminho das Sombras escreva 2 Caminho da Luz escreva 3 Caminho das Criaturas escreva Digite a opção desejada 1 2 ou 3 leiaopcao Estrutura de escolha para selecionar o caminho escolha opcao caso 1 escreva Você escolheu o Caminho das Sombras escreva Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos escreva Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma escreva Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou escreva Digite sua resposta leiaresposta Verifica a resposta do enigma se resposta caveira escreva Correto A criatura mágica deixa você passar escreva Você encontra um baú escondido e recebe uma gema preciosa pontos pontos 100 senao escreva Resposta incorreta A criatura impede sua passagem caso 2 escreva Você escolheu o Caminho da Luz escreva Este caminho é iluminado por raios de sol entre as copas das árvores escreva Você encontra uma ponte quebrada sobre um rio turbulento escreva Deseja tentar atravessar a ponte ou procurar um desvio Digite atravessar ou desvio escreva Sua escolha leiaresposta Verifica a decisão de atravessar ou buscar desvio se resposta atravessar escreva Você atravessa com sucesso a ponte quebrada escreva Do outro lado encontra uma fonte mágica que restaura sua saúde pontos pontos 50 senao escreva Você decide procurar um desvio seguro evitando riscos caso 3 escreva Você escolheu o Caminho das Criaturas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Você encontra uma criatura mágica adormecida bloqueando o caminho escreva Deseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escreva Sua escolha leiaresposta Verifica a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma árvore encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contrario escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Explicação do código Estrutura de Escolha A estrutura ESCOLHA CASO é usada para lidar com as três opções de caminho que o jogador pode escolher Estrutura Condicional SE Dentro de cada caso a estrutura SE é usada para validar as respostas e ações do jogador impactando a pontuação de acordo com a escolha feita Pontuação A variável pontos é atualizada conforme o jogador responde corretamente aos enigmas ou toma decisões estratégicas em cada caminho O programa foi escrito como uma narrativa não interativa onde as decisões do usuário afetam diretamente o desenrolar da história e a pontuação final da aventura Prints dos testes escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas Atividade 2 Código fonte em portugol Início do Programa programa Definição das variáveis inteiro labirinto55 inteiro posX posY Posição inicial do explorador inteiro tesouroX tesouroY Posição do tesouro funcao inicio Inicializa posição do explorador posX 0 posY 0 Gera o labirinto aleatoriamente e posiciona o tesouro gerarLabirinto Laço principal EnquantoFaça para encontrar o tesouro enquanto labirintoposXposY 2 exibirLabirinto moverExplorador Quando o tesouro é encontrado escrevaParabéns Você encontrou o tesouro na posição posX posY Função para gerar o labirinto e posicionar o tesouro funcao gerarLabirinto Preenche o labirinto com caminhos livres e paredes para inteiro i 0 i 5 i para inteiro j 0 j 5 j se sorteia010 4 0 labirintoij 1 Define parede senao labirintoij 0 Define caminho livre Define uma armadilha em algumas posições labirinto12 3 labirinto33 3 Coloca o tesouro em uma posição aleatória diferente de 00 faca tesouroX sorteia010 5 tesouroY sorteia010 5 enquanto tesouroX 0 e tesouroY 0 labirintotesouroXtesouroY 2 Função para mostrar o labirinto opcional ajuda a debugar funcao exibirLabirinto escrevaLabirinto atual para inteiro i 0 i 5 i para inteiro j 0 j 5 j escrevalabirintoij escreva Função para movimentar o explorador funcao moverExplorador caracter direcao escrevaEscolha uma direção W cima S baixo A esquerda D direita leiadirecao inteiro novaPosX posX inteiro novaPosY posY Define a direção do movimento se direcao W e posX 0 novaPosX senao se direcao S e posX 4 novaPosX senao se direcao A e posY 0 novaPosY senao se direcao D e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY Explicação do Algoritmo 1 Função Principal inicio Define a posição inicial do explorador e executa a função gerarLabirinto para configurar o labirinto com obstáculos e o tesouro em um local aleatório 2 Função gerarLabirinto Cria o layout do labirinto aleatoriamente posicionando o tesouro e algumas armadilhas Garantimos que o tesouro não esteja na posição inicial 00 3 Loop EnquantoFaça Mantém o explorador em movimento até encontrar o tesouro 4 Movimentação do Explorador Permite ao usuário mover o explorador através das direções W A S D e atualiza a posição Se houver uma parede ou uma armadilha o explorador é impedido de avançar ou volta ao início respectivamente 5 Finalização O loop encerra quando o explorador encontra o tesouro e uma mensagem de sucesso é exibida Esse código traz um cenário dinâmico com obstáculos armadilhas e um posicionamento aleatório do tesouro a cada execução tornando a experiência imprevisível e desafiadora Prints dos testes Console Mensagens Escolha uma direção W cima S baixo A esquerda D direita v Movimento inválido Tente outra direção Labirinto atual 0 1 0 0 0 1 2 1 3 1 1 0 1 1 0 0 0 3 0 0 1 1 0 0 1 Escolha uma direção W cima S baixo A esquerda D direita Console Mensagens Escolha uma direção W cima S baixo A esquerda D direita s Movimento inválido Tente outra direção Labirinto atual 0 1 0 0 0 1 2 1 3 1 1 0 1 1 0 0 0 3 0 0 1 1 0 0 1 Escolha uma direção W cima S baixo A esquerda D direita Atividade 3 Código Fonte include stdioh include stringh Função principal int main float rendaMensal valorEmprestimo valorEntrada char historicoCredito10 char estabilidadeEmprego10 Solicitar as informações do cliente printfDigite sua renda mensal scanff rendaMensal printfDigite o valor do emprestimo desejado scanff valorEmprestimo printfHistorico de credito bomruim scanfs historicoCredito printfEstabilidade no emprego estavelinstavel scanfs estabilidadeEmprego printfDigite o valor da entrada scanff valorEntrada Critério 1 Relação entre renda e valor do empréstimo if valorEmprestimo 03 rendaMensal printfEmprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Critério 2 Histórico de crédito else if strcmphistoricoCredito ruim 0 printfEmprestimo rejeitado Histórico de crédito ruim Critério 3 Estabilidade no emprego e valor da entrada else if strcmpestabilidadeEmprego instavel 0 valorEntrada 1000 printfEmprestimo rejeitado Estabilidade no emprego instável e valor da entrada insuficiente else printfEmprestimo aprovado return 0 Para que o programa rode você precisa instalar essa extensão no vscode Explicação do Código 1 Definimos as variáveis necessárias para armazenar as informações financeiras do client e 2 Solicitamos ao usuário que forneça essas informações 3 Implementamos a lógica de aprovação usando ifelse para verificar cada critério 4 Exibimos o resultado da análise informando ao cliente se o empréstimo foi aprovado o u rejeitado Prints dos testes Digite sua renda mensal 1800 Digite uma renda mensal 1800 Digite o valor do emprestimo desejado 5000 Digite uma renda mensal 1800 Digite o valor do emprestimo desejado 5000 Historico de credito bomruim bom Digite uma renda mensal 1800 Digite o valor do emprestimo desejado 5000 Historico de credito bomruim bom Estabilidade no emprego estavelinstavel estavel Digite o valor da entrada 1000 Emprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Atividade 4 Código Fonte include stdioh include stdlibh include stringh Definição da estrutura Aluno typedef struct char nome50 float mediaDisciplina1 float mediaDisciplina2 float mediaGeral int classificacao Aluno float calcularMediaGeralfloat mediaDisciplina1 float mediaDisciplina2 return mediaDisciplina1 mediaDisciplina2 2 int main int numAlunos printfDigite o numero de alunos scanfd numAlunos Aluno alunosnumAlunos for int i 0 i numAlunos i printf Digite o nome do aluno d i 1 scanfs alunosinome printfDigite a media da disciplina 1 scanff alunosimediaDisciplina1 printfDigite a media da disciplina 2 scanff alunosimediaDisciplina2 alunosimediaGeral calcularMediaGeralalunosimediaDisciplina1 alunosimediaDisciplina2 qsortalunos numAlunos sizeofAluno compararMedias for int i 0 i numAlunos i alunosiclassificacao i 1 FILE arquivo fopenclassificacaoalunostxt w if arquivo NULL printfErro ao abrir o arquivo return 1 float somaMedias 0 for int i 0 i numAlunos i fprintfarquivo Nome do Aluno s alunosinome fprintfarquivo Media Disciplina 1 2f alunosimediaDisciplina1 fprintfarquivo Media Disciplina 2 2f alunosimediaDisciplina2 fprintfarquivo Media Geral 2f alunosimediaGeral fprintfarquivo Classificacao d alunosiclassificacao somaMedias alunosimediaGeral float mediaGeralTurma somaMedias numAlunos fprintfarquivo Media Geral da Turma 2f mediaGeralTurma fclosearquivo printfDados gravados com sucesso no arquivo classificacaoalunostxt return 0 Atividade 1 Aqui em baixo está o código fonte utilizado na atividade Algoritmo da Aventura na Floresta Sussurrante programa inteiro opcao inteiro pontos cadeia resposta funcao inicio Inicialização da pontuação pontos 0 Introdução da aventura escrevaBemvindo explorador Você entrou na misteriosa Floresta Sussurrante escrevaEscolha o seu caminho com sabedoria pois cada decisão impactará sua jornada Menu de opções para o jogador escreva Escolha seu caminho escreva 1 Caminho das Sombras escreva 2 Caminho da Luz escreva 3 Caminho das Criaturas escreva Digite a opção desejada 1 2 ou 3 leiaopcao Estrutura de escolha para selecionar o caminho escolha opcao caso 1 escreva Você escolheu o Caminho das Sombras escreva Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos escreva Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma escreva Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou escreva Digite sua resposta leiaresposta Verifica a resposta do enigma se resposta caveira escreva Correto A criatura mágica deixa você passar escreva Você encontra um baú escondido e recebe uma gema preciosa pontos pontos 100 senao escreva Resposta incorreta A criatura impede sua passagem caso 2 escreva Você escolheu o Caminho da Luz escreva Este caminho é iluminado por raios de sol entre as copas das árvores escreva Você encontra uma ponte quebrada sobre um rio turbulento escreva Deseja tentar atravessar a ponte ou procurar um desvio Digite atravessar ou desvio escreva Sua escolha leiaresposta Verifica a decisão de atravessar ou buscar desvio se resposta atravessar escreva Você atravessa com sucesso a ponte quebrada escreva Do outro lado encontra uma fonte mágica que restaura sua saúde pontos pontos 50 senao escreva Você decide procurar um desvio seguro evitando riscos caso 3 escreva Você escolheu o Caminho das Criaturas escreva Este caminho é repleto de sons estranhos e pegadas misteriosas escreva Você encontra uma criatura mágica adormecida bloqueando o caminho escreva Deseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escreva Sua escolha leiaresposta Verifica a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma árvore encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contrario escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Explicação do código Estrutura de Escolha A estrutura ESCOLHA CASO é usada para lidar com as três opções de caminho que o jogador pode escolher Estrutura Condicional SE Dentro de cada caso a estrutura SE é usada para validar as respostas e ações do jogador impactando a pontuação de acordo com a escolha feita Pontuação A variável pontos é atualizada conforme o jogador responde corretamente aos enigmas ou toma decisões estratégicas em cada caminho O programa foi escrito como uma narrativa não interativa onde as decisões do usuário afetam diretamente o desenrolar da história e a pontuação final da aventura Prints dos testes escrevaNeste caminho é repleto de sons estranhos e pegadas misteriosas escrevaVocê encontra uma criatura mágica adormecida bloqueando o caminho escrevaDeseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escrevaSua escolha leiaresposta Verifico a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma fêmea encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contraria escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Console Mensagens Bemvindo explorador Você entrou na misteriosa Floresta SussurranteEscolha o seu caminho com sabedoria pois cada decisão impactará sua jornada Escolha seu caminho 1 Caminho das Sombras 2 Caminho da Luz 3 Caminho das Criaturas Digite a opção desejada 1 2 ou 3 O programa está aguardando a entrada de dados Você escolheu o Caminho das Sombras Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou Digite sua resposta 22ºC Ensolarado 1809 31102024 50 escrevaNeste caminho é repleto de sons estranhos e pegadas misteriosas escrevaVocê encontra uma criatura mágica adormecida bloqueando o caminho escrevaDeseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escrevaSua escolha leiaresposta Verifico a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma fêmea encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contraria escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Console Mensagens 2 Caminho das Sombras 2 Caminho da Luz 3 Caminho das Criaturas Digite a opção desejada 1 2 ou 3 1 Você escolheu o Caminho das Sombras Este caminho é cercado por árvores antigas e sombrias com raios de lua entre os galhos Você encontra uma criatura mágica que bloqueia o caminho e exige que responda a um enigma Enigma Tenho olhos mas não vejo Tenho boca mas não falo O que sou Digite sua resposta 22ºC Ensolarado 1810 31102024 51 escrevaNeste caminho é repleto de sons estranhos e pegadas misteriosas escrevaVocê encontra uma criatura mágica adormecida bloqueando o caminho escrevaDeseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar escrevaSua escolha leiaresposta Verifico a decisão de contornar ou acordar a criatura se resposta contornar escreva Você contorna a criatura com sucesso e continua sua jornada escreva Uma fêmea encantada lhe concede a habilidade de camuflagem pontos pontos 75 senao escreva A criatura acorda e bloqueia o caminho forçando você a voltar Opção para quando o usuário digitar algo inválido caso contraria escreva Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Exibição da pontuação final escreva Sua aventura termina aqui Pontuação final pontos pontos escreva Obrigado por explorar a Floresta Sussurrante Console Mensagens deseja tentar atravessar a ponte ou procurar um desvio digite atravessar ou desvio Sua escolha atravessar Você atravessa com sucesso a ponte quebrada Do outro lado encontra uma fonte mágica que restaura sua saúde Você escolheu o Caminho das Criaturas Este caminho é repleto de sons estranhos e pegadas misteriosas Você encontra uma criatura mágica adormecida bloqueando o caminho Deseja contornar a criatura com cuidado ou acordála Digite contornar ou acordar Sua escolha contornar Você contorna a criatura com sucesso e continua sua jornada Uma fêmea encantada lhe concede a habilidade de camuflagem Opção inválida Por favor escolha um caminho válido 1 2 ou 3 Sua aventura termina aqui Pontuação final 125 pontos Obrigado por explorar a Floresta Sussurrante Programa finalizado Tempo de execução 108883 milissegundos 22ºC Ensolarado 1811 31102024 Atividade 2 Código fonte em portugol Início do Programa programa Definição das variáveis inteiro labirinto55 inteiro posX posY Posição inicial do explorador inteiro tesouroX tesouroY Posição do tesouro funcao inicio Inicializa posição do explorador posX 0 posY 0 Gera o labirinto aleatoriamente e posiciona o tesouro gerarLabirinto Laço principal EnquantoFaça para encontrar o tesouro enquanto labirintoposXposY 2 exibirLabirinto moverExplorador Quando o tesouro é encontrado escrevaParabéns Você encontrou o tesouro na posição posX posY Função para gerar o labirinto e posicionar o tesouro funcao gerarLabirinto Preenche o labirinto com caminhos livres e paredes para inteiro i 0 i 5 i para inteiro j 0 j 5 j se sorteia010 4 0 labirintoij 1 Define parede senao labirintoij 0 Define caminho livre Define uma armadilha em algumas posições labirinto12 3 labirinto33 3 Coloca o tesouro em uma posição aleatória diferente de 00 faca tesouroX sorteia010 5 tesouroY sorteia010 5 enquanto tesouroX 0 e tesouroY 0 labirintotesouroXtesouroY 2 Função para mostrar o labirinto opcional ajuda a debugar funcao exibirLabirinto escrevaLabirinto atual para inteiro i 0 i 5 i para inteiro j 0 j 5 j escrevalabirintoij escreva Função para movimentar o explorador funcao moverExplorador caracter direcao escrevaEscolha uma direção W cima S baixo A esquerda D direita leiadirecao inteiro novaPosX posX inteiro novaPosY posY Define a direção do movimento se direcao W e posX 0 novaPosX senao se direcao S e posX 4 novaPosX senao se direcao A e posY 0 novaPosY senao se direcao D e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY Explicação do Algoritmo 1 Função Principal inicio Define a posição inicial do explorador e executa a função gerarLabirinto para configurar o labirinto com obstáculos e o tesouro em um local aleatório 2 Função gerarLabirinto Cria o layout do labirinto aleatoriamente posicionando o tesouro e algumas armadilhas Garantimos que o tesouro não esteja na posição inicial 00 3 Loop EnquantoFaça Mantém o explorador em movimento até encontrar o tesouro 4 Movimentação do Explorador Permite ao usuário mover o explorador através das direções W A S D e atualiza a posição Se houver uma parede ou uma armadilha o explorador é impedido de avançar ou volta ao início respectivamente 5 Finalização O loop encerra quando o explorador encontra o tesouro e uma mensagem de sucesso é exibida Esse código traz um cenário dinâmico com obstáculos armadilhas e um posicionamento aleatório do tesouro a cada execução tornando a experiência imprevisível e desafiadora Prints dos testes se direcao w e posX 0 novaPosX senao se direcao s e posX 4 novaPosX senao se direcao a e posY 0 novaPosY senao se direcao d e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY se direcao w e posX 0 novaPosX senao se direcao s e posX 4 novaPosX senao se direcao a e posY 0 novaPosY senao se direcao d e posY 4 novaPosY senao escrevaMovimento inválido Tente outra direção retorne Verifica o tipo de posição no labirinto se labirintonovaPosXnovaPosY 1 escrevaVocê bateu numa parede Escolha outra direção senao se labirintonovaPosXnovaPosY 3 escrevaVocê caiu em uma armadilha e voltou ao início posX 0 posY 0 senao posX novaPosX posY novaPosY escrevaPosição atual posX posY Atividade 3 Código Fonte include stdioh include stringh Função principal int main float rendaMensal valorEmprestimo valorEntrada char historicoCredito10 char estabilidadeEmprego10 Solicitar as informações do cliente printfDigite sua renda mensal scanff rendaMensal printfDigite o valor do emprestimo desejado scanff valorEmprestimo printfHistorico de credito bomruim scanfs historicoCredito printfEstabilidade no emprego estavelinstavel scanfs estabilidadeEmprego printfDigite o valor da entrada scanff valorEntrada Critério 1 Relação entre renda e valor do empréstimo if valorEmprestimo 03 rendaMensal printfEmprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Critério 2 Histórico de crédito else if strcmphistoricoCredito ruim 0 printfEmprestimo rejeitado Histórico de crédito ruim Critério 3 Estabilidade no emprego e valor da entrada else if strcmpestabilidadeEmprego instavel 0 valorEntrada 1000 printfEmprestimo rejeitado Estabilidade no emprego instável e valor da entrada insuficiente else printfEmprestimo aprovado return 0 Para que o programa rode você precisa instalar essa extensão no vscode Explicação do Código 1 Definimos as variáveis necessárias para armazenar as informações financeiras do client e 2 Solicitamos ao usuário que forneça essas informações 3 Implementamos a lógica de aprovação usando ifelse para verificar cada critério 4 Exibimos o resultado da análise informando ao cliente se o empréstimo foi aprovado o u rejeitado Prints dos testes printEstabilidade no emprego estavelinstavel scanfs estabilidadeEmprego printfDigite o valor da entrada scanff valorEntrada Critério 1 Relação entre renda e valor do empréstimo if valorEmprestimo 03 rendaMensal printfEmprestimo rejeitado Valor do emprestimo excede 30 da renda mensal Critério 2 Histórico de crédito else if strcmphistoricoCredito ruim 0 printfEmprestimo rejeitado Histórico de crédito ruim Critério 3 Estabilidade no emprego e valor da entrada else if strcmpestabilidadeEmprego instavel 0 valorEntrada 1000 printfEmprestimo rejeitado Estabilidade no emprego instável e valor da entrada baixa else printfEmprestimo aprovado return 0 Digite sua renda mensal 1800 Digite o valor do emprestimo desejado Digite sua renda mensal 1800 Digite o valor do emprestimo desejado 5000 Històrico de credito bomruim bom Estabilidade no emprego estavelinstavel estavel Digite sua renda mensal 1800 Digite o valor do emprestimo desejado 5000 Històrico de credito bomruim bom Estabilidade no emprego estavelinstavel estavel Digite o valor da entrada 1000 Atividade 4 Código Fonte include stdioh include stdlibh include stringh Definição da estrutura Aluno typedef struct char nome50 float mediaDisciplina1 float mediaDisciplina2 float mediaGeral int classificacao Aluno float calcularMediaGeralfloat mediaDisciplina1 float mediaDisciplina2 return mediaDisciplina1 mediaDisciplina2 2 int main int numAlunos printfDigite o numero de alunos scanfd numAlunos Aluno alunosnumAlunos for int i 0 i numAlunos i printf Digite o nome do aluno d i 1 scanfs alunosinome printfDigite a media da disciplina 1 scanff alunosimediaDisciplina1 printfDigite a media da disciplina 2 scanff alunosimediaDisciplina2 alunosimediaGeral calcularMediaGeralalunosimediaDisciplina1 alunosimediaDisciplina2 qsortalunos numAlunos sizeofAluno compararMedias for int i 0 i numAlunos i alunosiclassificacao i 1 FILE arquivo fopenclassificacaoalunostxt w if arquivo NULL printfErro ao abrir o arquivo return 1 float somaMedias 0 for int i 0 i numAlunos i fprintfarquivo Nome do Aluno s alunosinome fprintfarquivo Media Disciplina 1 2f alunosimediaDisciplina1 fprintfarquivo Media Disciplina 2 2f alunosimediaDisciplina2 fprintfarquivo Media Geral 2f alunosimediaGeral fprintfarquivo Classificacao d alunosiclassificacao somaMedias alunosimediaGeral float mediaGeralTurma somaMedias numAlunos fprintfarquivo Media Geral da Turma 2f mediaGeralTurma fclosearquivo printfDados gravados com sucesso no arquivo classificacaoalunostxt return 0

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®