Charada dos Missionários e Canibais em C ! [Editado c/ img]

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Charada dos Missionários e Canibais em C ! [Editado c/ img]

Mensagempor FR34K » Quinta Jan 06, 2005 12:27

Hy,

Foi-me proposto elaborar um projecto que consistia na velha charada dos Missionários e dos Canibais, consistia num jogo em que eskulheriamos quantos missionarios e quantos canibais atravessariam num barco ate' a outra margem, sem que obviamente n ficassem mais canibais de um lado do que missionários.
Imagem


Ng por ventura terá alguma informação que me possa ser util neste projecto ?
FR34K
Novato
Novato
 
Mensagens: 8
Registado: Quinta Set 23, 2004 20:22

Mensagempor moisex » Quinta Jan 06, 2005 13:46

o k keres saber??? como resolve-l ou como programa-l?
moisex
Membro de Prata
Membro de Prata
 
Mensagens: 386
Registado: Sexta Dez 03, 2004 10:03
Localização: VN GAIA - FEUP

Mensagempor FR34K » Quinta Jan 06, 2005 13:48

Hy,
Para ja a urgência era entregar o pseudo-código ou um fluxograma, no entanto como e' obvio ja' ng faz tais coisas.
Logo o pedido aqui seria como o fazer, logo programá-lo.
N me parece ser mto complicado, mas tlvz me dê algum trabalho.
Umas luzes seria o ideal.


Cheerz :)
FR34K
Novato
Novato
 
Mensagens: 8
Registado: Quinta Set 23, 2004 20:22

Mensagempor moisex » Quinta Jan 06, 2005 13:56

FR34K Escreveu:Hy,
Para ja a urgência era entregar o pseudo-código ou um fluxograma, no entanto como e' obvio ja' ng faz tais coisas.
Logo o pedido aqui seria como o fazer, logo programá-lo.
N me parece ser mto complicado, mas tlvz me dê algum trabalho.
Umas luzes seria o ideal.


Cheerz :)


sabes fazer o problema sem ser a programar?? s souberes é 1grande ajuda, fazes o algoritmo a partir dai.
s souberes posta k pod ser k eu t poxa ajudar sñ souberes começa por ai k eu não tenho paciencia p tar a resolver o problema
moisex
Membro de Prata
Membro de Prata
 
Mensagens: 386
Registado: Sexta Dez 03, 2004 10:03
Localização: VN GAIA - FEUP

Mensagempor FR34K » Quinta Jan 06, 2005 14:36

Hy

Problema:
Estão 2 missionários e 2 canibais na margem de um rio, que pretendem atravessar.
Dispõem de um barco que leva duas pessoas de cada vez, pelo que é necessário
realizar diversas travessias para cada lado. Mas, em momento nenhum o número de
canibais pode ser superior ao de missionários, caso contrário os primeiros podem
devorar os segundos.

cheerz :)
FR34K
Novato
Novato
 
Mensagens: 8
Registado: Quinta Set 23, 2004 20:22

Mensagempor Kayn » Quinta Jan 06, 2005 14:59

tipo, n percebeste o ke te pediram. isso tem um metodo de resolucao. o ke o moisex te perguntou foi se sabias o que tinhas ke fazer pra resolver o problemam, ke nao tinha paciencia pra tar a pensar nele. nao te pediu o enunciado (q se consegue ler perfeitamente ao inicio...)

Em programacao, neste tipo de exercicios, é mais importante saberes como resolver o problema do que exactamente programalo. apresenta ai o ke é preciso fazer para resolver o prob (kem levas 1o, kem fica do outro lado do rio, kem trazes....) e um gajo depois tenta desencalhar-te com a parte de programacao.
Imagem
Imagem
Kayn
Gurus
Gurus
 
Mensagens: 3038
Registado: Quarta Ago 04, 2004 3:34

Mensagempor moisex » Quinta Jan 06, 2005 14:59

FR34K Escreveu:Hy

Problema:
Estão 2 missionários e 2 canibais na margem de um rio, que pretendem atravessar.
Dispõem de um barco que leva duas pessoas de cada vez, pelo que é necessário
realizar diversas travessias para cada lado. Mas, em momento nenhum o número de
canibais pode ser superior ao de missionários, caso contrário os primeiros podem
devorar os segundos.

cheerz :)


Devo ter-m explicado mal!
A resolução do problema é k interessa mais nada!
Tipo-> vai x canibais e y missionarios
dps x e y
é k tu vais ter k fazer p os casos todos poxiveis e imaginários!
tens k dar a opção do jogador fazer o k kiser e só consegues ist c o algoritmo feito, p o fazeres tens k saber a solução do problema, percebes?
moisex
Membro de Prata
Membro de Prata
 
Mensagens: 386
Registado: Sexta Dez 03, 2004 10:03
Localização: VN GAIA - FEUP

Mensagempor DIAABO » Quinta Jan 06, 2005 15:05

conclusao... keres k aki o ppl te faça a papinha toda...
DIAABO
Membro de Ouro
Membro de Ouro
 
Mensagens: 952
Registado: Domingo Ago 22, 2004 18:40
Localização: Braga

Mensagempor FR34K » Quinta Jan 06, 2005 15:21

Hy,

DIAABO, parabéns tens mais um post na tua 'conta' de anormalidade.
N keria komo e' obvio a papinha toda feita mas sim ajuda em algumas fuinções que va' usar komo nu cálculo especifico de quantos elementos passaram, quantos canibais ha' em cada lado.
Enfim, pedi umas luzes.
No entanto continuo sem perceber o ponto de vista do moisex. ao qual agradeço desde ja' o facto de ter respondido ao post .
Mas la esta' e' commo dizes vou ter ke kriar todos os kasos possiveis que o utilizador possa introduzir.


cheerz :)
FR34K
Novato
Novato
 
Mensagens: 8
Registado: Quinta Set 23, 2004 20:22

Mensagempor Kayn » Quinta Jan 06, 2005 15:28

conheces akela do Fernando Rocha "pa kem n tem asas abusas de *biip*?" :P :P

epa, eu vou tentar, mais uma vez, explicar te o ke te estamos a pedir.

eskece programacao. alguem te punha esse prob a frente e te pedia pra resolver. tu ias-te sentar com o papel a frente e um lapis e ias comecar a pensar e a tentar hipoteses ate chegares a uma solucao do problema. esse prob foi desenhado pra q qq pessoa o pudesse resolver mesmo ke nao tenha conhecimento absolutamente nenhum de prog. é só exercicio mental.

é exactamente esse raciocineo ke um gajo te ta a pedir aki. visto ke és tu ke tens ke fazer o prog, é legitimo ke sejas tu a aparecer com a solucao.

com isso, depois é so programar, mas só aí é ke o pessoal te pode e vai ajudar de certeza.
Imagem
Imagem
Kayn
Gurus
Gurus
 
Mensagens: 3038
Registado: Quarta Ago 04, 2004 3:34

Mensagempor moisex » Quinta Jan 06, 2005 15:43

Kayn Escreveu:conheces akela do Fernando Rocha "pa kem n tem asas abusas de *biip*?" :P :P

epa, eu vou tentar, mais uma vez, explicar te o ke te estamos a pedir.

eskece programacao. alguem te punha esse prob a frente e te pedia pra resolver. tu ias-te sentar com o papel a frente e um lapis e ias comecar a pensar e a tentar hipoteses ate chegares a uma solucao do problema. esse prob foi desenhado pra q qq pessoa o pudesse resolver mesmo ke nao tenha conhecimento absolutamente nenhum de prog. é só exercicio mental.

é exactamente esse raciocineo ke um gajo te ta a pedir aki. visto ke és tu ke tens ke fazer o prog, é legitimo ke sejas tu a aparecer com a solucao.

com isso, depois é so programar, mas só aí é ke o pessoal te pode e vai ajudar de certeza.


ora ai está!
agora é a minha vez :D
já ouviste falar em algoritmia?!
é a base de toda e qualquer programação!
com ela feita programas em qualquer linguagem tens é que saber a sintaxe!

Pronto

Para resolver o teu problema tens 3fases e por esta ordem e é assim que tens k fazer

1- Do inunciado resolveres o problema (não é preciso saber programar para isto e é isto que tamos a pedir)
2- elaborar 1algoritmo para passares a programar (algoritmo é como se fosse 1mapa d k tens k fazer)
3- Fazer a porra do programa (se tiveres o algoritmo feito demoras 1h sem algoritmo 25h :D )

percebes?

já agora em que ano tás e quantos anos tens a programar?
moisex
Membro de Prata
Membro de Prata
 
Mensagens: 386
Registado: Sexta Dez 03, 2004 10:03
Localização: VN GAIA - FEUP

Mensagempor DIAABO » Quinta Jan 06, 2005 15:56

para começar, obrigado pelo insulto.. gostei, ja nao era insultado ha uns tempos e ja sentia saudades...

agr tu se kisesses ajuda realmente era resolver o problema, pq programar toda a gente ajuda e gosta de ajudar, agora pelo menos eu nao estou para perder o meu tempo a resolver o enunciado... axo k pelo menos essa parte cabe-te a ti resolver...

FR34K Escreveu: DIAABO, parabéns tens mais um post na tua 'conta' de anormalidade.


gosto de saber k andas a seguir todos os meus posts :)
DIAABO
Membro de Ouro
Membro de Ouro
 
Mensagens: 952
Registado: Domingo Ago 22, 2004 18:40
Localização: Braga

Mensagempor Mr_coelho » Quinta Jan 06, 2005 16:23

é por estas e por outras que Portugal está cm tá, queirem a papinha toda feita :?

"Para ja a urgência era entregar o pseudo-código ou um fluxograma, no entanto como e' obvio ja' ng faz tais coisas. " -> ninguem faz? tens mm a certeza? por acaso nao terás de entregar uma relatorio no final onde isso tem de entrar?

"DIAABO, parabéns tens mais um post na tua 'conta' de anormalidade. " é por estas e por outras que o ppl deixa de ajudar :roll:

eu ate te ajudava mas tenho exame amanha :(
Avatar do Utilizador
Mr_coelho
Membro de Ouro
Membro de Ouro
 
Mensagens: 763
Registado: Terça Set 09, 2003 19:00
Localização: Portugal

Mensagempor Dr » Quinta Jan 06, 2005 17:55

A resolução do problema com 2 canibais e 2 missionários é facílima: basta mandar primeiro os dois canibais. Envia-se um de volta e manda-se os 2 missionários. Traz-se um gajo qualquer de volta para pegar o canibal que resta e está feito.

Com 3 de cada faz-se da seguinte maneira:
1ª ida - manda-se dois canibais;
1ª volta - vem um canibal;
2ª ida - envia-se os 2 canibais que ficaram;
2ª volta - volta um dos canibais;
3ª ida - vão dois missonários;
3ª volta - volta um missonário e um canibal;
4ª ida - vao dois missionários;
4ª volta - volta um canibal;
5ª ida - vão dois canibais;
5ª volta - volta um canibal ou um missionário (tanto faz);
6ª ida - vao os dois restantes (podem ser um canibal e um missionário ou dois canibais, dependendo da escolha anterior) e está o jogo terminado.
Se não me engano, está certo.
Nota - Esta é uma das soluções possíveis; existem mais, mas não vou ficar aqui o dia todo a resolver esta charada de todas as formas possíveis e imaginárias.

Quanto à maneira de programar isto, eu não sei programar em C, mas deduzo que basta criar uma instrução if em que o número de canibais nunca possa ser maior que o de missionários em situação nenhuma. Acho que é a maneira mais fácil de resolver o problema.

Cumprimentos e depois mostra-nos o trabalho ;-)
Dr
Membro de Ouro
Membro de Ouro
 
Mensagens: 903
Registado: Quarta Jan 21, 2004 3:50
Localização: Porto

Mensagempor moisex » Sexta Jan 07, 2005 11:48

E como tu keres? 1jogo em k há varias opçoes ou é p ir directo ao resultado final?
LG S1-P222P 2,5Gb RAM
EEEPC 901
moisex
Membro de Prata
Membro de Prata
 
Mensagens: 386
Registado: Sexta Dez 03, 2004 10:03
Localização: VN GAIA - FEUP

Próximo

Voltar para Programação

Quem está ligado:

Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante

cron