·

Sistemas de Informação ·

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

Send your question to AI and receive an answer instantly

Ask Question

Recommended for you

Preview text

Instituto Federal de Minas Gerais Campus Ouro Branco Curso Sistemas de Informação Disciplina Programação I Professor Saulo Henrique Cabral Silva e Suelen Mapa de Paula Trabalho Prático 1 Resgate do Fubá Valor 20 pontos Data da entrega 18082024 Objetivos Consiste em rever conceitos básicos de programação bem como a prática de programação utilizando laços de repetição e estruturas condicionais Descrição Seu José um homem de costumes simples sempre incentivou Dona Maria sua amada esposa a manter uma pequena criação de frangos em casa Entre os cinco frangos destacavase Fubá um papa léguas peculiar e veloz Sua travessura era notória e em situações de aperto Fubá PERDE a noção da direção correndo para um lado e para o outro sem saber para onde se dirigir Na última noite Fubá em sua conhecida ousadia escapou do galinheiro sem que ninguém percebesse Ao amanhecer Dona Maria ao constatar o sumiço do franguinho chamou seu marido em socorro Sem hesitar Seu José propôs uma busca em conjunto utilizando dois carros para cobrir a estrada e evitar que Fubá fugisse definitivamente Sua missão neste trabalho é implementar uma simulação que demonstre como a busca por Fubá será realizada Entrada O seu algoritmo deve pedir que o usuário informe qual a distância inicial entre os automóveis e a velocidade inicial de cada um deles velocidade do veículo A e do veículo B Saída Como saída o seu algoritmo deve simular a segundo a segundo as posições de Seu José S de Dona Maria D e do franguinho FUBÁ F lembrese que FUBÁ é muito rápido e pode voar até 3 kms tanto para a esquerda quanto para a direita A simulação deve ilustrar o quanto cada automóvel já percorreu e o quanto falta para ser percorrido até que o encontro entre os automóveis ocorra Quando o franguinho FUBÁ for encontrado você deve informar por quanto tempo Seu José e Dona Maria estiveram na busca e ainda quem encontrou FUBÁ primeiro Seu José ou Dona Maria O que deve ser entregue 1 Código fonte do programa em Portugol bem identada e comentada 2 Documentação do trabalho Entre outras coisas a documentação deve conter 21 Introdução descrição do problema a ser resolvido e visão geral sobre o funcionamento do programa 22 Implementação descrição sobre a implementação do programa Deve ser detalhada a estrutura de dados utilizada de preferência com diagramas ilustrativos o funcionamento das principais funções e procedimentos utilizados o formato de entrada e saída de dados bem como decisões tomadas relativas aos casos e detalhes de especificação que porventura estejam omissos no enunciado 23 Conclusão comentários gerais sobre o trabalho e as principais dificuldades encontradas em sua implementação 24 Bibliografia bibliografia utilizada para o desenvolvimento do trabalho incluindo sites da Internet se for o caso 3 Formato mandatoriamente em PDF Obs1 Apesar de esse trabalho ser bem simples a documentação pedida segue o formato da documentação que deverá ser entregue nos próximos trabalhos Obs2 Consulte as dicas de como deve ser feita uma boa implementação e documentação de um trabalho prático httpssaulocabralpagekitemeroteirotppdf Como deve ser feita a entrega A entrega DEVE ser feita pela plataforma MOODLE na forma de um único arquivo zipado contendo o código os arquivos o executável e a documentação Comentários Gerais Comece a fazer este trabalho logo enquanto o problema está fresco na memória e o prazo para terminálo está tão longe quanto jamais poderá estar Clareza indentação e comentários no programa também vão valer pontos O trabalho pode ser realizado em duplas grupo com ATÉ DOIS alunos Trabalhos copiados e FONTE terão nota ZERO Trabalhos entregue em atraso serão aceitos todavia a nota atribuída ao trabalho será zero Evite discussões inócuas com os professores em tentar postergar a data de entrega do referido trabalho Nome Luana 1 Código fonte completo programa inclua biblioteca Util u funcao inicio Declaração de variáveis inteiro distancia Distância inicial entre os carros inteiro velocidadeA Velocidade do Carro A inteiro velocidadeB Velocidade do Carro B inteiro posF Posição do Franguinho Fubá inteiro posJ Posição do seu José inteiro posM Posição da dona Maria inteiro tempo Tempo de busca do Fubá inteiro encontrouFuba 0 0 Quando não encontrou Fubá ainda Realiza a Leitura dos dados escrevaDistância entre os automóveis leiadistancia escrevaVelocidade do Carro A leiavelocidadeA escrevaVelocidade do Carro B leiavelocidadeB posF posicaoInicialdistancia posJ 0 posM distancia1 tempo 0 faca posF voarposF tempo posJ velocidadeA posM velocidadeB encontrouFuba realizarBuscaFubaposJ posM posF distancia Mostra a busca caso ainda não tenha encontrado o franguinho Fubá seencontrouFuba 0 mostrarBuscaFubaposJ posM posF distancia enquantoencontrouFuba 0 escrevaTempo tempo Mostra quem encontrou o Fubá seencontrouFuba 1 escrevaO frango Fubá foi encontrado pelo seu José senao seencontrouFuba 2 escrevaO frango Fubá foi encontrado pela dona Maria senao escrevaO frango Fubá foi encontrado por ambos no mesmo tempo n O franguinho Fubá pode voar até 3 posições para direita ou esquerda Por exemplo 2 representa 2 casas para a esquerda e 3 representa 3 casas para a direita pos Posição do Fubá funcao inteiro voarinteiro pos inteiro quantCasasVoa usorteia3 3 Quantidade de casas que o Fubá vai voar inteiro novaPos posquantCasasVoa Nova posição do Fubá retorne novaPos Retorna a posição inicial conforme a distância entre os carros A posição inicial do franguinho Fubá é o meio do caminho funcao inteiro posicaoInicialinteiro distancia retorne distancia2 Realiza a busca do franguinho Fubá posJ Posição do carro J posM Posição do carro M posFuba Posição do franguinho Fubá distancia Distância total de busca do Fubá Retorno 0 Não encontrou o Fubá ainda Retorno 1 Seu José encontrou o Fubá Retorno 2 Dona Maria encontrou o Fubá Retorno 3 Ambos encontraram no mesmo tempo o Fubá funcao inteiro realizarBuscaFubainteiro posJ inteiro posM inteiro posFuba inteiro distancia Retorno da função que identifica se encontrou o Fubá e quem foi inteiro retornoEncontrouFuba 0 Verifica se o seu José encontrou o Fubá seposJ posFuba retornoEncontrouFuba 1 Verifica se a Dona Maria encontrou o Fubá seposM posFuba retornoEncontrouFuba 2 Adiciona 2 caso tenha sido encontrado por José também vai retornar 3 retorne retornoEncontrouFuba Mostra a busca do franguinho Fubá funcao mostrarBuscaFubainteiro posJ inteiro posM inteiro posFuba inteiro distancia para inteiro contador 1 contador distancia contador secontador posJ escreva senao secontador posJ escrevaS senao secontador posM escreva senao secontador posM escrevaD senao secontador posFuba escrevaF senao escreva escreva 2 Documentação 21 Introdução 211 Descrição do problema Seu José um homem de costumes simples sempre incentivou Dona Maria sua amada esposa a manter uma pequena criação de frangos em casa Entre os cinco frangos destacavase Fubá um papaléguas peculiar e veloz Sua travessura era notória e em situações de aperto Fubá PERDE a noção da direção correndo para um lado e para o outro sem saber para onde se dirigir Na última noite Fubá em sua conhecida ousadia escapou do galinheiro sem que ninguém percebesse Ao amanhecer Dona Maria ao constatar o sumiço do franguinho chamou seu marido em socorro Sem hesitar Seu José propôs uma busca em conjunto utilizando dois carros para cobrir a estrada e evitar que Fubá fugisse definitivamente Sua missão neste trabalho é implementar uma simulação que demonstre como a busca por Fubá será realizada 212 Entrada de dados O usuário deve informar a distância inicial entre os automóveis inteiro e a velocidade inicialinteiro de cada um deles velocidade do veículo A e do veículo B No exemplo abaixo temos uma distância entre os automóveis de 40 e velocidade do carro A igual a 2 e do carro B igual a 1 213 Saída de dados A saída é mostrada segundo a segundo as posições de Seu José S de Dona Maria D e do franguinho FUBÁ F o FUBÁ é muito rápido e pode voar até 3 kms tanto para a esquerda quanto para a direita A simulação deve ilustrar o quanto cada automóvel já percorreu e o quanto falta para ser percorrido até que o encontro entre os automóveis ocorra Quando o franguinho FUBÁ for encontrado você deve informar por quanto tempo Seu José e Dona Maria estiveram na busca e ainda quem encontrou FUBÁ primeiro Seu José ou Dona Maria Como a posição do Fubá é aleatória em cada execução temos um resultado diferente mesmo fornecendo a mesma entrada conforme pode ser visto abaixo 22 Implementação Foi utilizada a IDE Portugol Webstudio httpsportugoldev para o desenvolvimento do programa devido a sua facilidade de uso O programa possui 4 funções a primeira delas é voar que é responsável por fazer o frango Fubá voar até 3 casas para a direita ou esquerda Para gerar este número entre 3 e 3 foi necessário utilizar a biblioteca Util u Quando o número é negativo Fubá vai se deslocar para a esquerda e quando é positivo vai para a direita A segunda função é a posicaoInicial ela é bem simples é responsável por gerar a posição inicial do Fubá que deve ficar no meio inicialmente tempo 0 A terceira função é a realizarBuscaFuba essa função identifica se alguém encontrou o Fubá e quem encontrou lembrando que ambos podem terem encontrado Fubá juntos conforme é mostrado no exemplo a seguir A quarta função é a mostrarBuscaFuba esta função é executada sempre que a busca do Seu José e da Dona Maria pelo frango Fubá não foi concluída Foi necessário vários comandos de seleção para desenhar a saída de maneira correta levando em consideração a posição deles O programa principal inicia pela declaração das variáveis depois é realizada a leitura dos dados necessários Posteriormente entra em um laço de repetição que realiza a contagem de tempo atualiza a posição dos envolvidos e realiza a busca do frango Fubá O laço de repetição vai ser executado até encontrar o frango Fubá funcao inicio Declaração de variáveis inteiro distancia Distância inicial entre os carros inteiro velocidadeA Velocidade do Carro A inteiro velocidadeB Velocidade do Carro B inteiro posF Posição do Franguinho Fubá inteiro posJ Posição do seu José inteiro posM Posição da dona Maria inteiro tempo Tempo de busca do Fubá inteiro encontrouFuba 0 0 Quando não encontrou Fubá ainda Realiza a Leitura dos dados escrevaDistância entre os automóveis leiadistancia escrevaVelocidade do Carro A leiavelocidadeA escrevaVelocidade do Carro B leiavelocidadeB posF posicaoInicialdistancia posJ 0 posM distancia1 tempo 0 faca posF voarposF tempo posJ velocidadeA posM velocidadeB encontrouFuba realizarBuscaFubaposJ posM posF distancia Mostra a busca caso ainda não tenha encontrado o franguinho Fubá seencontrouFuba 0 mostrarBuscaFubaposJ posM posF distancia enquantoencontrouFuba 0 escrevaTempo tempo Mostra quem encontrou o Fubá seencontrouFuba 1 escrevaO frango Fubá foi encontrado pelo seu José senao seencontrouFuba 2 escrevaO frango Fubá foi encontrado pela dona Maria senao escrevaO frango Fubá foi encontrado por ambos no mesmo tempo n Depois que foi encontrado o Fubá é mostrado quanto tempo demorou a busca e quem encontrou conforme mostrado acima 23 Conclusão O trabalho mostrouse um ótimo desafio para exercitar o conteúdo aprendido na disciplina Uma das principais dificuldades foi elaborar uma lógica que fosse possível controlar a posição do Seu José e da Dona Maria e descobrir quando encontrou o frango Fubá e quem encontrou o mesmo Outro desafio foi elaborar uma lógica para mostrar a posição de cada personagem de forma correta além do espaço percorrido por cada um 24 Bibliografia Portugol Webstudio Acesso em httpsportugoldev