Giter Site home page Giter Site logo

ed-qxdalgo's Introduction

QxdAlgoritmos

Objetivo

Seu objetivo é implementar os algoritmos e estruturas de dados vistos na disciplina. Você irá construir uma espécie de biblioteca, seguindo a API definida pelos arquivos que já estão nesse repositório.

Instruções

Os algoritmos e as estruturas estão organizadas nos arquivos de cabeçalho disponibilizados. Seu trabalho consiste em implementar todas as funções contidas nesses arquivos, juntamente com quaisquer outras que você necessitar.

Cada arquivo .h, à exceção do qxddefs.h deve ter um correspondente .c onde você implementará as funções correspondentes. Note que inclusive os tipos abstratos de dados precisam ser definidos (o que significa que é preciso incluir a descrição de seus campos). Isso também deverá ser feito nos arquivos .c pertinentes.

Os arquivos de cabeçalho não devem ser alterados! Quais quer funções auxiliares devem ser incluidas apenas nos arquivos de implementação.

O arquivo main.c pode ser usado para você testar o funcionamento das suas implementações.

Documentação

Cada função definida nos cabeçalhos foi documentada com a descrição do que elas esperam como parâmetros e quais são seus comportamentos. Essa documentação está nos próprios arquivos, porém foi feita em um formato que permite a geração de documentação interativa. A versão em html dessas mesmas descrições está no arquivo index.html dentro da pasta docs.

Informações

A cada novo assunto que virmos nas aulas, esse repositório será atualizado. Assim, verifique de vez em quando se algum arquivo foi adicionado.

Note, também, que a nomenclatura de algoritmos e estruturas usadas nos arquivos deste repositório não necessariamente é a mesma que usamos na sala. Aqui tentamos usar nomes baseados nos já convencionados por várias linguagens. Por exemplo, usamos o nome vectorpara nos referirmos a uma lista sequencial e list para lista (simplesmente) encadeada.

Atualização

Para obter as atualizações feitas nos arquivos deste projeto e importá-las para a sua versão, siga os passos a seguir:

  1. Acesse a página da sua versão do projeto no Github.
  2. Verifique na barra acima da listagem de arquivos se há alguma referência a "commits behind". Se houver, isso significa que houve atualização dos arquivos no projeto principal.

Via navegador

  1. Havendo atualização, clique neste link para acessar a página onde você importará as mudanças.
  2. Abaixo do título da página ("Comparing changes"), você deve encontrar um link rotulado como "compare across forks". Clique nesse link.
  3. Observe que a barra logo abaixo desse link mudou. Procure a caixa que contém a sentença "base fork" (deve ser a primeira caixa à esquerda), e nela selecione o seu projeto.
  4. Aguarde um pouco até que apareça logo abaixo dessas caixas a mensagem "Able to merge". Então, clique no botão "Create pull request".
  5. Nos campos "Title" e "Leave a comment" que aparecerem, preencha com "Atualização do projeto".
  6. Clique novamente no botão "Create pull request".
  7. Na página que for carregada, procure pelo botão "Merge pull request", clique nele e então em "Confirm merge.
  8. Pronto, o código foi atualizado na sua versão do projeto no Github. Agora você deve importar essas alterações para a versão que você está editando no seu computador.

Caso algum dos passos acima tenha falhado, entre em contato enviando informações sobre o que falhou e capturas de tela relacionadas.

Via terminal

  1. Num terminal, entre na pasta que hospeda o seu projeto no seu computador.

  2. Execute o comando a seguir para verificar se ainda existem alterações não submetidas na sua versão.

    git status
    
  3. Caso existam, finalize as alterações necessárias, salve-as (commit) e só então continue.

  4. (Caso você não tenha feito ainda,) insira a informação sobre o projeto principal no seu projeto executando o comando

    git remote add upstream [email protected]:UFCQXD-ED-2018-2/ed-qxdalgo.git
    
  5. Execute o comando a seguir para obter as alterações do projeto principal e, simultaneamente, inserí-las na sua versão.

    git pull upstream
    
  6. Pronto, você atualizou a sua versão do projeto no seu computador. Não se esqueça de enviá-la para o Github (push).

Caso algum erro tenha acontecido e você não consiga resolver ou não saiba como, procure um monitor ou a mim.

Compilação

Para compilar este projeto, basta incluir todos os arquivos .c. Alternativamente, você pode importar a pasta que contém este arquivo README como um projeto no CLion.

Entrega

A implementação desses códigos deve ser individual e a entrega consiste em subir suas implementações para este repositório usando a ferramenta git ou qualquer visualização gráfica deste. Sugerimos o programa gitkraken.

ed-qxdalgo's People

Contributors

ararunaufc avatar araruna avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.