Especificação do Trabalho Prático

Documentos relacionados
PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

Exercícios: Vetores e Matrizes

Trabalho Computacional Jogo da Forca

WebSIGOM gerência de vales transportes pela Internet

ENVIO DE . Envio de AMBIENTE VIRTUAL DE APRENDIZAGEM TUTORIAL DO. Autor(es) Scarlat Pâmela Silva

PCI - Programação de Computadores I Trabalho Avaliativo - Semestral. Palavras Cruzadas

Manual do Usuário Webmail SoftSul

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

Usando a geração de boletos

Ministério da Educação. Universidade Federal do Pampa. Campus Alegrete. Engenharia Civil

Emissão de Boletos. 2) O sistema exibirá uma mensagem com o número da Remessa. Esse número NÃO DEVE ser alterado (é automático) -> OK.

INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB

Segunda Parte do Trabalho Prático (Parte II) Valor: 70%

Manual do Módulo do Fabricante

MAC 115 Introdução à Ciência da Computação ROTHELO

Utilização do Sistema Foundation Saúde

ITQ InForm Recebimentos

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

1º No módulo de Gestão Contábil é possível acessar o relatório através do menu Relatórios Diário.

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1

MANUAL DO PORTAL ACADÊMICO (PROFESSORES)

MANUAL. Assunto (o que é) Objetivo (porquê) Público-Alvo (para quem) Natureza (como)

GUIA RÁPIDO. MDIForms. Sintel Informática Ltda. Rua Vergueiro, nº º andar Vila Mariana, São Paulo - SP CEP:

Geração de Necessidades de Materiais. Sumário

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão

LISTA DE EXERCÍCIOS - ro. 04

e-cfcanet-sp Nova Integração

SINACOR GUIA CONCILIADOR

Manual do Usuário Network

O site para acesso ao portal do aluno é:

1, caso haja uma mina na posição (i, j),

Manual Converte-MV S_Line

Campeonato de Gamão. 1. Regras. 2. Servidor

MANUAL DE UTILIZAÇÃO DO SISTEMA Cartório 24 Horas

ENSINO MÉDIO INTEGRADO INFORMÁTICA LINGUAGEM DE PROGRAMAÇÃO Trabalho Semestral

Manual do Revisor Oficial de Contas

CI202 - Métodos Numéricos - Trabalho 2

Tutorial Novo Portal do Aluno

GOVERNO DO ESTADO DE SÃO PAULO SECRETARIA DE GESTÃO PÚBLICA

O que é e como funciona o VBA no excel?

AULA 13 PROCEDIMENTOS. Disciplina: Algoritmos e POO Professora: Alba Lopes.

Ambiente de programação

Aula Prática de Redes Industriais Wireshark

Especificação do Trabalho Prático

MANUAL DE UTILIZAÇÃO DO MÓDULO DE ENTRADA DE NOTAS FISCAIS VIA B2B ONLINE

Manual de utilização do Portal Protheus

GRADUAÇÃO EM ANÁLISE E DESENVOLVIMENTO PROGRAMAÇÃO DE COMPUTADORES I Trabalho Final Anual TFA

MANUAL DO USUÁRIO PORTAL DO ALUNO

Manual de Fatura de Exames

Algoritmos Estrutura Condicional

Que parametriza informações sobre quais dados irão compor a impressão da lista.

Leilão Reverso - Monitor de Comercialização Proponente

Segundo Trabalho Prático

Terceiro Trabalho Prático. Este trabalho tem como objetivo ordenar um arquivo de dados e implementar as operações cosequenciais de merging e matching.

Elaboração:Suporte Tecnológico Pag 1

TRABALHO PRÁTICO Nro. 01

Trabalho de Programação 2 Processador CESAR

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

4 LearnAds: um Framework de Recomendação de Anúncios

Guia de Utilização do Sistema de Controle de Procedimentos Odontológicos

I Como fica a requisição com a implantação do SEI (Sistema Eletrônico de Informações)?

MANUAL DO AMBIENTE VIRTUAL DE APRENDIZAGEM (AVA)

Simulação de Caixa Automático

Ao selecionar o seu curso, aparecerá a página principal contendo as informações e as atividades disponíveis.

Segundo Projeto Valor: 10% (1,0 pt) da 2ª V.A.

TRABALHO FINAL 20 Pontos

Universidade Federal Fluminense

Atualizações da Versão Introdução... 4 Conhecendo o Produto... 5 Ações dos Botões das Telas... 6

O que é Sistema de Mensagem?

Para os demais formatos, o relatório será gerado mas virá com configurações incorretas.

Sistema de Informação do Técnico Oficial de Contas. Manual de utilização

Informamos que o Calendário Acadêmico encontra-se disponível no site da EMESP, na página do aluno. O início das aulas será em 09/02/2015.

Segundo Trabalho Prático Turma A

APOSTILA AUTORIZADOR WEB COPYRIGHT BENNER SISTEMAS S/A

Manual de instruções do

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

Addon 2ª via de Pagamentos v1.7

Módulo Recursos Humanos. Manual do Usuário

Exercícios: Arquivos

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Prova 2 - Computação

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

MANUAL OPERACIONAL (abril/2018)

Introdução à Programação

Agendamento de Entregas

Linguagem de Programação

Como Gerar Instruções de Boletos? - FS133.2

Série de Exercícios - Comandos Repetitivos 1. Codificar o algoritmo para imprimir os N primeiros números naturais pares.

Sobre a nova minha UFOP

Portal de Cotação da FCC S.A.

MANUAL. Pedido Eletrônico de Restituição MEI

Documento de Visão Sistema de Apostas Palpite Certo

Ambiente Virtual de Aprendizagem. Primeiros Passos.

Identificação da Empresa. MT Última Atualização 30/11/2016

Movimento do Caixa

Manual de Utilização

Primeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados

Transcrição:

Especificação do Trabalho Prático O trabalho prático da disciplina consiste em desenvolver um programa utilizando a linguagem de programação C. A seguir, encontram-se a descrição do problema, a forma de submissão do trabalho e os critérios de avaliação. 1. Descrição do problema Uma empresa gostaria de oferecer a seus funcionários um jogo no estilo quebra-cabeça que permita a eles passarem o tempo no horário de almoço. Desenvolva o programa de acordo com as especificações desta seção. Foi escolhido o famoso jogo de quebra-cabeça da década de 80, o Racha Cuca (Figura 1). Neste jogo, tenta-se achar a sequência de ordenação com a menor quantidade de movimentos possível. Ganha quem for o mais eficiente. Visando estimular o uso do jogo, a empresa decidiu criar uma classificação com por número de jogadas (quanto menos jogadas, melhor no ranking). Figura 1- Jogo Racha Cuca A empresa decidiu que o jogo será instalado em apenas uma máquina e que todos os funcionários irão usá-la. Para incentivar o uso do jogo, a empresa decidiu oferecer bonificações aos funcionários que jogarem. Devido a isso e com receio de que algum funcionário alterasse o código do jogo a fim de trapacear, a empresa solicitou que fosse criado uma rotina de segurança, onde ela pudesse passar alguns arquivos de modelos para o jogo e ações de resolução válidas a fim de testar se o jogo está funcionando de forma correta. Você foi o programador contratado para implementar este jogo. Utilizando o mini-mundo acima e as informações descritas em sequência, implemente um pré-jogo (uma versão com todas as funcionalidades contratadas, apenas para a empresa) utilizando a linguagem C. Uma observação importante no contrato com a empresa é de que todos as boas práticas de programação deverão ser usadas. Por isso, caso seja solicitado o uso de alguma funcionalidade especifica da linguagem C (como estruturas, vetores, matrizes, leitura e escrita de arquivos), esta será cobrada e o não uso acarretará em penalizações. Em sequência é apresentado as funcionalidades solicitadas pela empresa contratante.

2. Menu de opções Ao ser iniciado, seu programa deve exibir um menu de opções (utilize o modelo abaixo). As opções possíveis são: 1. Novo Jogo; 2. Testar Jogo; 3. Sair. Seu programa deve ler a opção escolhida e proceder como descrito nas demais seções, abaixo. Caso o usuário digite qualquer coisa diferente dos números de 1 a 3, você deve informar que a opção não existe e exibir o menu novamente. Para sair do jogo, basta que o usuário escolha a opção 3 do menu. O programa deve ser encerrado sem imprimir nenhuma mensagem. 2.1. Novo jogo Escolhida a opção 1, seu programa deve começar um novo jogo. O tabuleiro do jogo consiste em uma tabela 3x3 com uma posição especial (chamaremos de ## está posição). Ao informar uma das ações W (mover ## uma posição a cima), S (mover ## uma posição a baixo), A (mover ## uma posição a esquerda) ou D (mover ## uma posição a direita), a posição ## é alterada para a posição indicada e o valor na posição indicada passa a existir a onde ## estava. Em sequência um exemplo de como isso funciona: 04 06 03 05 02 ## Ação: W 04 06 ## 05 02 03 Ação: A 04 ## 06 05 02 03 Ação: A definição dos valores a serem inseridos na matriz devem ser calculados de forma aleatória. Ou seja, a cada novo jogo, espera-se que a matriz seja diferente. Para isso, foi solicitado o uso da função rand() da linguagem C. Como demonstrado a cima, a cada ação informada uma alteração da matriz é feita e ela é novamente impressa (atenção para o padrão de impressão: XX, onde XX será um número de 1 a 8). Vale ressaltar que não serão aceitos comandos de ações diferentes das pré-definidas (W, A, S, D). Além disso, não será possível executar ações fora dos limites lógicos da matriz (ex.: não se pode mover ## para esquerda uma vez que ela esteja na primeira coluna, ou

mover a direita uma vez que ## esteja na última coluna). Na sequência exemplos de ações inválidas. 05 ## 03 Ação: F > Ação Inválida 05 ## 03 Ação: S > Ação Inválida 05 ## 03 Ação: A ## 05 03 Ação: A > Ação Inválida ## 05 03 Ação: O jogo termina quando a matriz está totalmente ordenada da posição 0,0 até a posição 2,1 (estando ## na posição 2,2). Após isso, deve-se mostrar a mensagem Parabéns você finalizou o jogo! e exibir novamente o menu de entrada. 2.2. Testar Jogo Como mencionado anteriormente, a empresa conduzirá uma série de testes automatizados para garantir que o programa funciona corretamente. Tais testes consistem em fornecer arquivos de entrada com valores para matriz e sequência de ações afim de analisar a saída produzida pelo programa. Para isso, foi estabelecido o nome do arquivo de teste como teste_entrada.dat. Ao escolher a opção 2 deve-se verificar a existência do arquivo, caso não existe, informar Não existe arquivo de entrada disponível, caso exista, deve-se ler a matriz da forma que consta no exemplo abaixo e aplicar, uma-a-uma e na sequência apresentada no arquivos, as ações pré-definidas (note que o elemento ## está demarcado pelo valor -1 na leitura). Após a leitura da matriz, deve-se ler a sequencia de ações até o fim do arquivo de leitura. Por fim, deve-se exibir o resultado final da matriz, a quantidade de jogadas efetuadas e informar se a matriz está ordenada ou não. Deve-se lembrar que: i) podem haver ações

inválidas no arquivo de entrada, ii) não é necessário que as ações resolvam toda matriz e iii) ao menos uma ação estará definida no arquivo de teste). Abaixo um exemplo para arquivo teste_entrada.dat. 8 7 1 4 2 6-1 5 3 W W D D W A F Após selecionado a opção 4, o arquivo será lido, executado todas as ações e exibido a matriz resultante e a quantidade de jogadas. O resultado esperado será como na sequência. Matriz de entrada: ## 05 03 Matriz de saída: 07 ## 01 08 02 06 04 05 03 Total de movimentos válidos: 5 A matriz não está ordenada. Para facilitar o seu trabalho, a empresa irá fornecer alguns arquivos de entrada de testes para que você possa verificar se o seu programa está de acordo com o esperado. No entanto, a empresa reserva o direito de não compartilhar todos os seus arquivos de testes, de modo a garantir que os programas não estarão viciados nos arquivos existentes. 2.3. Sair Apenas finalize a execução do programa. 3. Avaliação do trabalho A avaliação do trabalho será realizada analisando cada requisito da especificação. Na tabela abaixo, é apresentado cada funcionalidade os pontos de avaliação e a

correspondente pontuação, caso todos os pontos de avaliação tenham sido feito corretamente. Pontuações parciais podem ocorrer caso os pontos de avaliação tenham sido implementados de forma parcial. Além disso, haverá uma entrevista a ser agendada junto ao monitor para averiguar os conhecimentos individuais sobre o trabalho. Esta entrevista poderá acarretar na mudança da nota final de cada aluno. Funcionalidade Pontos de Avaliação Pontuação Novo Jogo Testar Jogo 4. Entrega do trabalho Criar o menu de seleção com as opções; Criação da matriz de forma aleatória; Validação das entradas; Exibição da matriz; Finalização correta do jogo. Realizar a leitura correta do arquivo para teste; Processar corretamente as informações do arquivo; Exibir a matriz final e a quantidade de jogadas válidas. As informações de data de envio e email para envio estão no arquivo em anexo no site da disciplina (www.inf.ufes.br/~victor.amsantos). A entrega será feita via email. A versão final do trabalho deverá ser enviada para o email especificado até as 23:50 do dia da entrega. O envio deste email deve obedecer as seguintes regras: Entrega individual: Assunto: Entrega Trabalho Programação em C 2017/1 - #TURMA# Corpo da mensagem: Turma: #TURMA# Nome Aluno: #NOME# Matrícula: #MATRICULA_ALUNO# Anexo: #MATRICULA_ALUNO#.c Entrega em grupo: Assunto: Entrega Trabalho Programação em C 2017/1 - #TURMA# Corpo da mensagem: Turma: #TURMA# Integrantes: #NOME# - #MATRICULA_ALUNO# Anexo: #MATRICULA_ALUNO_1#.c 7.0 3.0

Onde, #NOME# é o nome completo do aluno, #MATRICULA_ALUNO# é o código de matrícula do aluno na universidade, #MATRICULA_ALUNO_1# é a matrícula de um (apenas um) dos alunos do grupo e #TURMA# a turma do aluno (e.g. [EngMec], [EngCieCom], [EngCiv], [Fisica]). 5. Considerações Finais Quaisquer alterações neste documento será devidamente registrada no página da disciplina (http://www.inf.ufes.br/~victor.amsantos/) e é de responsabilidade do aluno a verificação destas mudanças.