Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

ze programador

Nao consigo pensar num trabalho em C

Mensagens Recomendadas

ze programador    0
ze programador

Olá programadores de Portugal!!!!!! Eu estou no 1 ano de Informatica de Gestao e preciso desenvolver um projeto final ,mas nao consigo decidir o que fazer. Agradecia que alguem me pudesse ajudar.

O projeto deve envolver toda a materia dada ao longo do ano.

Cumprimentos, o Ze Programador :thumbsup:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo    1153
HappyHippyHippo

O projeto deve envolver toda a materia dada ao longo do ano.

só existem dois tipos de pessoas que sabem o que esta frase realmente significa : o teu professor e os teus colegas de turma

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

só existem dois tipos de pessoas que sabem o que esta frase realmente significa : o teu professor e os teus colegas de turma

E o Bruxo de Fafe também é capaz de saber!

Fora de brincadeiras...

Projectos comuns são jogos como o "Jogo do Galo", "Jogo da Forca", "Space Invaders", "Três em Linha" com umas adições de features como por exemplo a possibilidade de jogar contra outro jogador ou contra o PC (quando for aplicavél), a possibilidade de gravar as pontuações numa base de dados, ter por exemplo passwords para cada jogador, ter mais que um nível de dificuldade, etc, etc... É usar a imaginação!

Editado por PsySc0rpi0n

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
seuqram    8
seuqram

Random and funny thing: um programa que obtem um arquivo de texto a conter várias estruturas de informação do dna: O numero do cromossoma e os Nucleotidos de cada cromossoma - (C, G, U, A ou C). Depois analisá-los por percentagem, quantidade, etc e compará-los com outro arquivo para no final concluir as sequencias em semelhança e te dizer se estes dois individuos constituem um par hereditáriamente próximo.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

Random and funny thing: um programa que obtem um arquivo de texto a conter várias estruturas de informação do dna: O numero do cromossoma e os Nucleotidos de cada cromossoma - (C, G, U, A ou C). Depois analisá-los por percentagem, quantidade, etc e compará-los com outro arquivo para no final concluir as sequencias em semelhança e te dizer se estes dois individuos constituem um par hereditáriamente próximo.

Ideia interessante...

Como é o format de uma estrutura de DNA? Qual é o aspecto?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo    108
bubulindo

Um driver NMEA para ligar o computador a um GPS.

Depois podes usar o gps para ajustar o relógio do computador.

Fazer as rotinas de conversão de coordenadas.

Calcular direcção com base nos 10 ou 20 ultimos pontos.

Calcular velocidade terrestre.

Detectar automaticamente a zona temporal onde o receptor está.

Isto tem bastantes vertentes interessantes e deve dar para uma boa parte das coisas que aprendeste de C... Claro que... Tens de ter um receptor de gps... E possivelmente um portátil e vontade de andar dum lado para o outro a testar o sistema.

Ahhh, podes também fazer um registo das coordenadas no formato google earth... Assim também trabalhas com ficheiros.


include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

Isso parece-me um bocado puxado demais. Pelo menos falo por mim. No final do semestre do ano que tive cadeiras de programação, eu não seria capaz de fazer algo desse género, pelo menos em tempo útil.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Flinger    50
Flinger

Isso parece-me um bocado puxado demais. Pelo menos falo por mim. No final do semestre do ano que tive cadeiras de programação, eu não seria capaz de fazer algo desse género, pelo menos em tempo útil.

A nível técnico não me parece assim tão difícil. O problema é o tempo para aprenderes a lógica de "negócio necessária", isto é, o protocolo de comunicação com o GPS, e como efectuar os cálculos (também não são nenhum bicho de 7 cabeças.).

Já vi que a conexão pode ser RS-422 ou RS-232 logo bastante linear, depois é só implementar o protocolo.

Digo-te já que pode ser bastante interessante e diferente do normalmente visto nestes projectos, e a nível técnico a pouco mais te obriga do que usar arrays. Depois tens uma série de funções e técnicas que podes usar para melhorar o projecto e ganhar mais relevância técnica, como multi-threading para tratar das comunicações, implementar o sw como um daemon, com um cliente, etc, etc...

Editado por Flinger

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

A nível técnico não me parece assim tão difícil. O problema é o tempo para aprenderes a lógica de "negócio necessária", isto é, o protocolo de comunicação com o GPS, e como efectuar os cálculos (também não são nenhum bicho de 7 cabeças.).

Já vi que a conexão pode ser RS-422 ou RS-232 logo bastante linear, depois é só implementar o protocolo.

Digo-te já que pode ser bastante interessante e diferente do normalmente visto nestes projectos, e a nível técnico a pouco mais te obriga do que usar arrays. Depois tens uma série de funções e técnicas que podes usar para melhorar o projecto e ganhar mais relevância técnica, como multi-threading para tratar das comunicações, implementar o sw como um daemon, com um cliente, etc, etc...

Tudo o que acabaste de falar, pessoalmente são temas/conceitos que desconheço por completo! Por isso disse que no meu caso, eu não seria provavelmente capaz de o fazer em tempo útil!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo    108
bubulindo

Ok...

A versão mais comum e antiga do NmEA funciona com ASCII.

A string começa com um $ e termina com CRC e carriage return, se não me engano.

O primeiro campo define a mensagem recebida, posição, tempo, etc... Depois cada um desses campos está separado por virgulas.

Ou seja, assim de repente terias de saber usar a porta série. Se estiveres a programar em Linux será relativamente simples e fácil de encontrar exemplos.

Depois tens de pegar numa string quando receberes um carriage return, usares a strtok para separar a string em strings mais pequenas.

Depois é um medley de strcmp, atof, atol, etc... Se quiseres, será interessante fazeres a função para calcular o CRC.

Nota que não precisas de processar todas as mensagens NMEA. Podes apenas dar importância ao tempo, ou só à localização.

Dito isto, não sei quanto tempo tens para fazer isto, ou se tens hardware... O que tornaria as coisas mais dificeis. No entanto, como prova de conceito poderias fazer com um arquivo de texto com mensagens NMEA a simular a porta série.


include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

Ok...

A versão mais comum e antiga do NmEA funciona com ASCII.

A string começa com um $ e termina com CRC e carriage return, se não me engano.

O primeiro campo define a mensagem recebida, posição, tempo, etc... Depois cada um desses campos está separado por virgulas.

Ou seja, assim de repente terias de saber usar a porta série. Se estiveres a programar em Linux será relativamente simples e fácil de encontrar exemplos.

Depois tens de pegar numa string quando receberes um carriage return, usares a strtok para separar a string em strings mais pequenas.

Depois é um medley de strcmp, atof, atol, etc... Se quiseres, será interessante fazeres a função para calcular o CRC.

Nota que não precisas de processar todas as mensagens NMEA. Podes apenas dar importância ao tempo, ou só à localização.

Dito isto, não sei quanto tempo tens para fazer isto, ou se tens hardware... O que tornaria as coisas mais dificeis. No entanto, como prova de conceito poderias fazer com um arquivo de texto com mensagens NMEA a simular a porta série.

O trabalho não é para mim... Eu apenas me juntei à conversa!

Mas mesmo que fosse para mim, eu desconheço esses detalhes tal como o que é NmEA, não sei o que é a string que começa com '$' e termina com CRC e carriage return. Resumindo, não faço ideia ao que te referes! Teria que investigar/pesquisar um pouco. Também não sei usar a porta série (estou em Linux). O que melhor sei fazer é usar um conversor de USB-RS232 (FTDI) e comunicar entre um Arduino/ATMega328PU e o software do Arduino. E o que faço não são sequer drivers, é apenas envio e recepção de dados. Também não sei que aspecto têm mensagens NmEA nem faço ideia de como as processar nem o que envolve o processamento dessas mensagens! Seria mesmo um tiro no escuro para mim!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Flinger    50
Flinger

Parece um bicho de 7 cabeças, mas na realidade é muito simples. Para usar a porta de série, é muito simples, é só fazer open do descritor, como se fosse um ficheiro. A diferença é que a seguir tens de chamar umas funções para definir a velocidade, paridade, etc, o que não faltam exemplos, e é só copy-paste.

CRC é um checksum, algo muito fácil de implementar, basta saber o algorítmo. Computas todos os caracteres da string, adicionas o valor no fim da mesma e está feito. O Carriage return é o caracter com valor numérico 0x0d, em asccii, o '\r'. Basta juntar isto ao fim da string...

O driver é mais uma força de expressão. Não precisas fazer mesmo um driver para ser carregado pelo kernel (embora pudesse ser um ponto extra). Basta fazer um programa que comunique com o GPS, normal.

O NMEA não passa de um documento que te diz que para obteres a hora tens de enviar uma string com formato tal, e recebes a resposta no formato tal, para obteres a posição envias a string no formato tal e recebes a resposta no formato tal...

Estás a ver que todos estes "bichos de 7 cabeças", afinal são coisas muito simples.

Mas a tua reacção é totalmente normal, e é a beleza de projectos como este. Não são assim tão complexos, mas para quem está de fora parecem obras monumentais de engenharia.

PS: Qualquer projecto só vale apena se te obrigar a investigar um pouco. Se não aprenderes nada o mais certo é ser algo algo inútil, tanto para os outros como para ti.

Com isto tudo, claro que continuamos sem sequer saber qual foi a matéria dada pelo OP. À partida a matéria chega para este projecto (não precisas mais do que arrays), mas é sempre naquela, convinha sabermos para dar ideias...

Editado por Flinger

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

Pois, mas é como digo... O trabalho não é para mim. E se eu não estivesse em época de exames até era gajo para me entreter com algo deste género. Mas já aqui estão dois projectos interessantes para o OP...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo    108
bubulindo

Mas mesmo que fosse para mim, eu desconheço esses detalhes tal como o que é NmEA, não sei o que é a string que começa com '$' e termina com CRC e carriage return. Resumindo, não faço ideia ao que te referes! Teria que investigar/pesquisar um pouco. Também não sei usar a porta série (estou em Linux). O que melhor sei fazer é usar um conversor de USB-RS232 (FTDI) e comunicar entre um Arduino/ATMega328PU e o software do Arduino. E o que faço não são sequer drivers, é apenas envio e recepção de dados. Também não sei que aspecto têm mensagens NmEA nem faço ideia de como as processar nem o que envolve o processamento dessas mensagens! Seria mesmo um tiro no escuro para mim!

Isto que vou escrever é cliché... mas tu vives numa época de acesso a informação sem precedentes na história da humanidade.

Eu quando aprendi a programar, não podia meter NMEA no google e obter uma descrição do que era... nem tão pouco podia ir ao GitHub ou Google Code e pesquisasr o que é que outras pessoas já fizeram nesse sentido.

Com o que escrevi em cima, seria possível de obter uma ideia do que se trata em 10 a 15 minutos e, tendo por base as funções que mencionei, perceber para que seriam usadas tendo à nossa frente uma string NMEA.

Para teres uma ideia do que é:

https://en.wikipedia.org/wiki/NMEA_0183

Nota que nessa página tens já o código C para calcular o checksum.

Mais links interessantes se fosses desenvolver isto... o último em particular será interessante

http://www.gpsinformation.org/dale/nmea.htm

http://aprs.gids.nl/nmea/

http://nmea.sourceforge.net/

  • Voto 1

include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Greemax    2
Greemax

Procura problemas do MIUP (Maratona Inter-Universitária de Programação). Normalmente tem desafios interessantes que podem ser bons trabalhos.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n    8
PsySc0rpi0n

Procura problemas do MIUP (Maratona Inter-Universitária de Programação). Normalmente tem desafios interessantes que podem ser bons trabalhos.

Não percebo nada desse site... Onde se encontram os desafios?

Edited;

Já encontrei alguns no site de 2014!

Editado por PsySc0rpi0n

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.