Mudanças entre as edições de "AULA Proposta de Projetos - Programação 1 - Engenharia"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 28: Linha 28:
 
####Entra com o nome do aluno
 
####Entra com o nome do aluno
 
####Entra coma  a matrícula.
 
####Entra coma  a matrícula.
##Problema
 
 
##Descrição das principais estruturas de dados do programa.  
 
##Descrição das principais estruturas de dados do programa.  
 
###Exemplo: Os alunos serão representados por um vetor de estruturas. Cada estrutura será da forma da forma: <code> struct tipo_aluno{ char nome[TAM_NOME];};</syntaxhighlight>  
 
###Exemplo: Os alunos serão representados por um vetor de estruturas. Cada estrutura será da forma da forma: <code> struct tipo_aluno{ char nome[TAM_NOME];};</syntaxhighlight>  

Edição das 09h20min de 14 de novembro de 2019

Projeto final

O aluno deve propor ao professor um projeto de sua preferência que respeite os requisitos mínimos. Sendo aceito deverá desenvolver o projeto e apresentá-lo.

Requisitos mínimos

  • Utilizar funções (ao menos três além do main, sendo que devem receber argumentos e possuir retorno);
  • Apresentar menu utilizando switch case;
  • Utilizar Structs e Ponteiros;
  • Utilizar bibliotecas (manipulação de strings, tempo, matemática);
  • Utilizar diretivas de pré-compilação (define, compilação condicional);
  • Utilizar comentários (mas sem excesso - usar nomes significativos de funções e variáveis);
  • Utilizar breaks com moderação e não usar gotos;
  • Realizar acesso a arquivo, lendo e escrevendo informações (busque requisitos que requerem persistência de dados);

Metodologia e Entregas

Etapa 1

Enviar arquivo no SIGAA até 19/11/19

  1. Apresentar a proposta de projeto ao professor. Construir um pequeno documento com o escopo do projeto contendo:
    1. Título do Projeto
    2. Integrantes da Equipe
    3. Descrição do que o programa vai executar (3 parágrafos)
    4. Descrição de Cenários de uso identificando os atores. Exemplo: em um sistema de controle de retirada de livros pode-se ter 2 atores: o aluno e o bibliotecário.
      1. Cenário 1: Cadastro de aluno - Ator principal: Bibliotecário
        1. Através de uma interface o bibliotecário seleciona inserção de alunos.
        2. Entra com o nome do aluno
        3. Entra coma a matrícula.
    5. Descrição das principais estruturas de dados do programa.
      1. Exemplo: Os alunos serão representados por um vetor de estruturas. Cada estrutura será da forma da forma: struct tipo_aluno{ char nome[TAM_NOME];};</syntaxhighlight>
    6. Proposta de cronograma (defesa final 4/5 de 12)

Etapa 2

  • Controle de Desenvolvimento: postar código até dia 25/11

Etapa 3

  • Controle de Desenvolvimento: postar código até dia 2/12

Etapa 4

  • Defesa Individual: 4/5 de 12

Algumas ideias de projetos

  • Sugestão geral: veja em outras disciplinas que processos podem ser automatizados e proponha um projeto que realiza esta tarefa como de cálculos diversos de eletrônica, de rádio transmissão, etc.
  • Implementar software para realização de cálculos de eletrônica. Neste software um menu apresenta várias opções de cálculo como de potencia através de tensão e corrente, como obtenção do valor de um resistor, como solução de equivalência de paralelo de vários resistores e outras. Num arquivo texto pode ser armazenado um histórico de operações realizadas.
  • Implementação de software para apostas na mega sena. Neste software são dadas sugestões de números para apostas de acordo com o número do sorteio da mega sena. Com este histórico armazenado é possível então entrar com um número de sorteio e digitar quais foram os números verdadeiramente sorteados na loteria federal checagem os acertos.
  • sistema que controle individualmente as temperaturas das salas, monitorando em tempo real, permitindo alterações, adições e remoções das salas em tempo de execução.
  • Implementar o jogo Pedra, papel ou tesoura. Neste jogo dois ou mais jogadores em diferentes computadores devem rodar um aplicativo que fará a leitura de um arquivo compartilhado. O algoritmo deve tratar as etapas do jogo (Setup do aplicativo, entrada na sala, escolha da figura e apresentação do resultado)
  • Implementar o jogo da velha escrevendo em arquivo. Neste jogo dois jogadores em diferentes computadores devem rodar um aplicativo que fará a leitura de um arquivo compartilhado. O algoritmo deve tratar as etapas do jogo (Setup do aplicativo, entrada na sala, seleção das casas e apresentação do resultado)
  • Implementar controle de empréstimo de objetos. Neste software o usuário poderá digitar nomes de objetos que emprestou, a pessoa a quem emprestou e automaticamente o software guarda a data. Deve haver uma opção para gerar relatório dos itens emprestados e opção para marcar a devolução (podendo manter o registro em histórico ou apagando o registro).
  • Implementar software gerador de lista de compras. Neste software o usuário poderá digitar itens de supermercado com nome e quantidade. O software escreve num arquivo que poderá depois ser impresso. O software também pode ter função de numa segunda execução já trazer a antiga listagem digitada e permitir que o usuário apenas selecione novas quantidades ou inclua novos itens.

Uso de Interface Gráfica (GTK)