Relatório de Avaliação Intercalar do primeiro trabalho prático da cadeira de Programação em Lógica

Tamanho: px
Começar a partir da página:

Download "Relatório de Avaliação Intercalar do primeiro trabalho prático da cadeira de Programação em Lógica"

Transcrição

1 Relatório de Avaliação Intercalar do primeiro trabalho prático da cadeira de Programação em Lógica Trabalho escolhido: Luta de Cavalos Elementos do Grupo: Carlos Eduardo Mesquita Frias: Nuno Ricardo Mesquita Pereira da Mota: Programação em Lógica Página 1

2 Resumo: Com este trabalho pretende-se implementar um jogo de tabuleiro, Luta de Cavalos, em Prolog. O jogo irá ter diversos níveis de dificuldade, bem como diferentes modos de jogo, nomeadamente, Humano vs Humano, Humano vs Computador e Computador vs Computador. Posteriormente, o jogo será implementado num ambiente tridimensional. 1. Introdução: Os principais objectivos do trabalho são os seguintes: familiarização com a linguagem Prolog e os paradigmas de programação em lógica; desenvolvimento de um jogo muito interessante e a possibilidade de conseguir trabalhar já um pouco com inteligência artificial, que é algo muito motivador. Efectuamos a escolha deste jogo pois achamos que, não tendo um elevado grau de dificuldade, é desafiante tanto no âmbito do jogador humano como para o programador que terá de desenvolver o programa de modo que o computador pense e efectue a cada momento a melhor jogada possível. Pensamos que tratando-se uma linguagem não procedimental, e nunca por nós utilizada até ao momento, e o grau de inteligência que terá de ser fornecida ao computador, nos trará motivação extra para a implementação deste jogo. Programação em Lógica Página 2

3 2. Descrição do Problema: O Jogo a desenvolver, Luta de Cavalos, foi inventado por Andy Lewicki e é um jogo que combina estratégia e gestão de território com a contagem de pontos. Como se desenrola o jogo? Num tabuleiro quadrangular com cem casas são colocados, aleatoriamente, os números inteiros entre 0 e 99. A Figura 1 representa um estado inicial possível para o jogo: Figura 1: Estado inicial do jogo. O jogo envolve dois jogadores que utilizam como única peça de jogo um cavalo de Xadrez. Os movimentos dessa peça serão idênticos aos movimentos num tabuleiro de Xadrez, isto é, cada cavalo movimenta-se em L, duas casas para direita e uma casa para baixo, por exemplo. Os objectivos do jogo são, fundamentalmente, dois: acumular mais pontos que o adversário e ir prejudicando ou limitando as movimentações possíveis do adversário. Como se acumula os pontos? A primeira jogada consiste em colocar o cavalo branco numa das casas da primeira linha, isto é, numa das casas entre A1 e J1. O número da casa escolhida ficará a ser a pontuação inicial do cavalo branco. Se esse número for um número com dois algarismos diferentes, por exemplo 35, então o número trocado, isto é, o número que resulta da troca dos dois algarismos, neste caso o 53 é retirado do tabuleiro, ficando essa casa inacessível a cada um dos dois cavalos durante o resto do jogo. Se o número da casa escolhida pelo cavalo for um número duplo, isto é, com dois algarismos iguais, por exemplo 44, então esse jogador terá a possibilidade de retirar, à Programação em Lógica Página 3

4 sua escolha, outro qualquer número duplo que ainda se encontre disponível no tabuleiro. Essa posição ficará também inacessível a cada um dos cavalos durante o restante jogo. Figura 2: Estado do tabuleiro após colocação do cavalo branco. À primeira jogada do cavalo branco segue-se a primeira jogada do cavalo preto que irá ser colocado numa das casas da última linha do tabuleiro, isto é, numa das casas entre A10 e J10. O número da casa será a pontuação inicial do cavalo preto e a casa correspondente ao número trocado será removida do tabuleiro e a posição ficará inacessível durante o resto do jogo. Figura 3: Estado do tabuleiro após colocação do cavalo preto. Como se efectuam os movimentos das peças? Após a colocação das duas peças, as jogadas seguintes serão efectuadas através do típico saldo de cavalo, utilizado no Xadrez tradicional. Programação em Lógica Página 4

5 Os números correspondentes às casas pelas quais os dois cavalos vão passando vão sendo acumulados às pontuações do respectivo cavalo. As posições já percorridas e as posições dos respectivos números trocados irão sendo removidas e tornadas inacessíveis no resto do jogo. Figura 4: Estado do tabuleiro após quatro jogadas. Obviamente, um cavalo nunca poderá saltar para uma casa que esteja inacessível nem para a casa onde se encontre o cavalo adversário. Como termina o jogo? O jogo termina quando um dos jogadores estiver impedido de movimento, isto é, quando o seu cavalo não poder saltar para outra casa por estar inacessível e/ou por lá estar o cavalo adversário. Neste momento é determinado o vencedor do jogo que será aquele com máxima pontuação. Se ambos os jogadores tiverem as mesmas pontuações o jogo termina empatado. 3. Representação do Estado do Jogo: Como o jogo se desenrola num tabuleiro 10X10 entendemos representar os valores para cada posição do tabuleiro numa estrutura de dados do tipo Lista. Como cada linha do tabuleiro tem dez elementos é relativamente fácil trabalhar as posições como sendo as posições de uma lista com cem elementos. Poderíamos ter utilizado ao invés de uma lista com cem elementos, uma lista com dez sub-listas com dez elementos Programação em Lógica Página 5

6 cada, representando cada sub-lista, cada uma das linhas do tabuleiro. O grau de dificuldade na utilização destas duas estruturas é praticamente o mesmo 1. O tabuleiro inicial é construído da seguinte forma: é criada uma lista com os números de 0 a 99 por ordem decrescente, em seguida essa lista é baralhada para que fiquem distribuídos de forma aleatória. Figura 5: Um tabuleiro de início 2 Com o desenrolar do jogo os elementos da lista, a qual vamos designar de tabuleiro, vão sendo substituídos pelo símbolo ## nas casas correspondentes às casas que vão ficando inacessíveis e aquelas pelas quais um dos cavalos passou. Os elementos da lista correspondentes às posições de cada cavalo num dado momento são substituídos por cb e cp, respectivamente, cavalo branco e cavalo preto. 1 Se porventura posteriormente entendermos ser mais fácil utilizar uma lista de listas, efectuaremos as alterações necessárias. 2 Representamos a lista referida em modo de texto de forma que se visualize um tabuleiro 10X10. Representamos as colunas por letras de A a J e as linhas com números de 1 a 10. Programação em Lógica Página 6

7 Figura 6: Tabuleiro após três jogadas do cavalo branco e duas jogadas do cavalo preto. 4. Representação de um movimento: Apesar de ainda não termos implementado, em concreto, os movimentos que cada jogador pode efectuar, já podemos adiantar sumariamente como irão ser processados em termos do algoritmo a utilizar. Como as peças efectuam saltos de cavalo e como usamos apenas uma lista para representar o tabuleiro, então na maior das possibilidades um cavalo poderá efectuar 8 saltos possíveis, isto considerando todas as casas estarem acessíveis. Se um cavalo está na posição Pos então poderá saltar para as posições {Pos-8; Pos+8; Pos-12; Pos+12; Pos-19; Pos+19; Pos-21; Pos+21}. Evidentemente que, para cada uma destas possibilidades, é necessário verificar se é uma posição válida, isto é, se está entre 0 e 99 (os índices da lista), verificar se a casa está acessível e analisar casos particulares, por exemplo, o caso do cavalo estar nas linhas ou colunas das margens do tabuleiro. Em termos de escolha da melhor jogada, isto é do melhor salto de cavalo a cada momento, haverá duas abordagens: aquela que possibilita uma maior acumulação de pontos e aquela que impede o adversário de jogar. Estamos a pensar utilizar os seguintes predicados 3 para efectuar os movimentos: lista_jogadas(+tab,+cavalo,-listajogadas): predicado que devolverá no terceiro argumento uma lista contendo as posições possíveis para a próxima jogada, consoante o estado do tabuleiro (Tab) e o Cavalo que irá efectuar o salto. Este predicado poderá também ser utilizado para determinar o final do jogo, pois se devolver uma lista vazia significa que o jogo terminou. movimento_valido(+coluna,+linha,+cavalo,+tab): predicado que determinará se determinado movimento a efectuar será ou não válido. Os dois primeiros argumentos indicam, no fundo, as coordenadas da nova posição para o cavalo no tabuleiro. executa_movimento(+coluna,+linha,+cavalo,+tab,-novotab): predicado que se satisfizer o anterior irá efectuar o movimento e devolver no último argumento o estado do tabuleiro após o movimento. 3 Estes predicados poderão sofrer alterações até ao final do trabalho, na medida em que se encontre ou não, alternativas mais eficientes. Programação em Lógica Página 7

8 5. Visualização do Tabuleiro: A representação do tabuleiro consiste em imprimir no ecrã de uma forma mais ou menos ou menos linear todos os elementos da lista Tabuleiro à medida que esta vai sofrendo alterações, isto é, no inicio do jogo e imediatamente após cada jogada. A tabela seguinte mostra como estão implementados os principais predicados que permitem a visualização do tabuleiro a cada instante. visualiza_estado(tabuleiro):- write(' Tabuleiro de Jogo '),nl, write(' Luta de Cavalos '),nl, write(' A B C D E F G H I J'),nl, write(' '),nl, escreve(tabuleiro,1), write(' '),nl, write(' A B C D E F G H I J'),nl. lista(0,[]):-!. % cria a lista ordenada. lista(n,[a Tail]):- A is N-1, lista(a,tail). %cria uma lista que representa o estado inicial do tabuleiro cria_tabuleiro(tab):- lista(100,tabordenado), shuffle(tabordenado,tab). escreve([],_). escreve([a,b,c,d,e,f,g,h,i,j Tail],N):- N =< 10, M is N, write1(m),write(' '), write1(a),write(' '), write1(b),write(' '), write1(c),write(' '), write1(d),write(' '), write1(e),write(' '), write1(f),write(' '), write1(g),write(' '), write1(h),write(' '), write1(i),write(' '), write1(j),write(' '),write1(m),nl, escreve(tail,m+1). write1(x):- integer(x), X >= 10, write(x). write1(x):- integer(x), X < 10, write('0'),write(x). write1(x):- write(x). Tabela 1: Predicados que permite visualizar o tabuleiro O predicado visualiza_estado(+tabuleiro) recebe como argumento a lista contendo os elementos a colocar no tabuleiro a cada instante. Este predicado socorre-se de outro predicado que é escreve(+tab,+n) que recebe dois argumentos, a lista a imprimir no ecrã e um número que corresponderá, em cada iteração, ao número da linha que está a ser impressa. Este predicado é, portanto, recursivo e imprime a cada chamada de si mesmo cada uma das linhas do tabuleiro, este predicado termina a sua execução quando a lista a imprimir for a lista vazia. Programação em Lógica Página 8

9 De salientar que, foi necessário implementar um predicado write1(+x) com duas finalidades, a saber: imprimir com um zero à esquerda os números com apenas um algarismo e imprimir os átomos cb, cp e ##, respectivamente, representando o cavalo branco, o cavalo preto e uma casa inacessível. Finalmente o predicado cria_tabuleiro(-tab) que surge na tabela 1, é utilizado no início de jogo quando se pretende preencher o tabuleiro com os números de 0 a 99, distribuídos aleatoriamente. Este predicado, basicamente, cria primeiramente uma lista ordenada decrescentemente com os números de 99 a 0 e em seguida baralha essa lista ao invocar o predicado shuffle(+tabordenado,-tab). As figuras 1 até 6 representam estados dos tabuleiros à medida que o jogo vai decorrendo. 6. Conclusões e Perspectivas de Desenvolvimento: Analisando o trabalho efectuado até ao momento podemos concluir que está correr como previsto e de uma forma satisfatória. Tratando-se de uma linguagem e de um paradigma de programação para os quais não estavam habituados em utilizar, a sua assimilação está a ser feita um pouco lentamente, no entanto, estamos optimistas que conseguiremos alcançar os resultados desejados. Quanto a possibilidades de desenvolvimento, será interessante após o desenvolvimento e visualização em modo texto, dar-lhe um aspecto mais atractivo com uma visualização em três dimensões. Interessante, também seria, implementar o jogo numa plataforma on-line, possibilitando que pessoas à distância pudessem jogá-lo de forma interactiva. Bibliografia: [Bramer, Max] Logic Programming with Prolog, Springer, [Stobo, John] Problem Solving with Prolog, Taylor & Francis e-library, Eugénio Oliveira e Luís Paulo Reis, Materiais da Disciplina de Programação em Lógica, disponível online a partir de (Consultado em Setembro e em Outubro de 2008). Programação em Lógica Página 9

10 Código 4 : Anexos /*========================================================================== = Jogo de Tabuleiro - Luta de Cavalos =========================================================================== ==*/ /*criar uma lista com os n.os interios de 0 a 99 e baralhar os elementos dessa lista*/ %lista(+n,-l). %devolve no segundo argumento uma lista com N inteiros por ordem decrescente %a partir de N-1 até 0. lista(0,[]):-!. lista(n,[a Tail]):- A is N-1, lista(a,tail). %cria uma lista que representa o estado inicial do tabuleiro cria_tabuleiro(tab):- lista(100,tabordenado), shuffle(tabordenado,tab), visualiza_estado(tab),!. /*esta ultima instrução é para teste apenas*/ %Transforma uma lista(com 100 elemento no caso em concreto) %em listas com sublistas de 10 elementos e vise versa lista_de_listas([],[]):-!. lista_de_listas([a,b,c,d,e,f,g,h,i,j Tail1],[[A,B,C,D,E,F,G,H,I,J] Tail2]):- lista_de_listas(tail1,tail2). /*baralha os elementos de uma lista*/ /*os dois predicados seguintes foram retirados de: */ %% shuffle(+listin,-listout) - randomly shuffles 4 O código apresentado está ainda numa fase inicial, muitos dos predicados apresentados são apenas para efectuar testes. Programação em Lógica Página 10

11 %% ListIn and unifies it with ListOut shuffle([], []). shuffle(list, [Element Rest]) :- choose(list, Element), delete(list, Element, NewList), shuffle(newlist, Rest). %% choose(+list,-elt) - chooses a random element %% in List and unifies it with Elt. choose([], []). choose(list, Elt) :- length(list, Length), random(0, Length, Index), nth0(index, List, Elt). visualiza_estado(tabuleiro):- write(' Tabuleiro de Jogo '),nl, write(' Luta de Cavalos '),nl, write(' write(' A B C D E F G H I J'),nl, '),nl, escreve(tabuleiro,1), write(' write(' '),nl, A B C D E F G H I J'),nl. escreve([],_). escreve([a,b,c,d,e,f,g,h,i,j Tail],N):- N =< 10, M is N, write1(m),write(' '), write1(a),write(' '), write1(b),write(' '), write1(c),write(' '), write1(d),write(' '), write1(e),write(' '), Programação em Lógica Página 11

12 write1(f),write(' '), write1(g),write(' '), write1(h),write(' '), write1(i),write(' '), write1(j),write(' '),write1(m),nl, escreve(tail,m+1). write1(x):- integer(x), X >= 10, write(x). write1(x):- integer(x), X < 10, write('0'),write(x). write1(x):- write(x). %calcula o número Y com dois algarismos que é o número que resulta da troca dos %dois algarimos do número X. Se X tem apenas um algarismo o valor de Y será dez %vezes o valor de X. troca(x,y):- troca(x,y):- X > 9,X < 100, DigitoUnidades is X mod 10, DigitoDezenas is (X-DigitoUnidades)/10, Y is DigitoDezenas+10*DigitoUnidades. X > 0,X =< 9, Y is X*10. /*========================================================================== == zona de testes =========================================================================== ===*/ %troca os algarismos de todos os elementos de uma lista % n serve pra nada... Programação em Lógica Página 12

13 troca_lista([],[]). troca_lista([x Cauda1],[Y Cauda2]):- troca(x,y), troca_lista(cauda1, Cauda2). %predicado de teste que serve para apresentar o tabuleiro inicial joga_teste:- cria_tabuleiro(_). inicio:- cria_tabuleiro(tab), primeira_jogada(tab,tab2), visualiza_estado(tab2), lista_jogadas(tab2,listajogadas), nl,write(listajogadas). primeira_jogada([x Tail1],[c1 Tail2]):- troca(x,y), subst(y,'##',tail1,tail2). jogada(coluna,linha,cavalo,tab1,tab2):- Pos is 10*(Linha-1)+(Coluna-1), nth0(pos,tab1,num), subst(num,cavalo,tab1,tab3), troca(num,numtrocado), subst(numtrocado,'##',tab3,tab2). teste:- cria_tabuleiro(tab), jogada(5,1,cb,tab,tab2), jogada(2,10,cp,tab2,tab3), subst(cb,'##',tab3,tab4), jogada(6,3,cb,tab4,tab5), subst(cp,'##',tab5,tab6), jogada(4,9,cp,tab6,tab7), subst(cb,'##',tab7,tab8), Programação em Lógica Página 13

14 jogada(8,4,cb,tab8,tab9), visualiza_estado(tab9). /*substituir um número X de uma lista por o atomo Y */ subst(_,_,[],[]):-!. subst(x,y,[cab1 Tail1],[Cab1 Tail2]):-X \= Cab1, subst(x,y,tail1,tail2). subst(x,y,[x Tail1],[Y Tail2]):- subst(x,y,tail1,tail2). lista_jogadas(tab,listajogadas):- nth0(pos,tab,c1), P1 is Pos-8,P2 is Pos+8, P3 is Pos-12,P4 is Pos+12, P5 is Pos-19,P6 is Pos+19, P7 is Pos-21,P8 is Pos+21, L=[P1,P2,P3,P4,P5,P6,P7,P8], findall(x, (member(x,l),x >= 0,X < 100),ListaJogadas). Programação em Lógica Página 14

Spider 4 em Linha. (Trabalho 12) Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica

Spider 4 em Linha. (Trabalho 12) Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica Spider 4 em Linha (Trabalho 12) Grupo 55 (Turma 5) 80509011 ei08011@fe.up.pt André Daniel Moreira Pinto Riboira

Leia mais

Mestrado Integrado em Engenharia Informática e Computação

Mestrado Integrado em Engenharia Informática e Computação Mestrado Integrado em Engenharia Informática e Computação Relatório Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica 2008/2009 Luta de Cavalos Autores: David Manuel Rodrigues de

Leia mais

RELATÓRIO DE AVALIAÇÃO INTERCALAR DO 1º TRABALHO PRÁTICO DA DISCIPLINA DE PROGRAMAÇÃO EM LÓGICA

RELATÓRIO DE AVALIAÇÃO INTERCALAR DO 1º TRABALHO PRÁTICO DA DISCIPLINA DE PROGRAMAÇÃO EM LÓGICA RELATÓRIO DE AVALIAÇÃO INTERCALAR DO 1º TRABALHO PRÁTICO DA DISCIPLINA DE PROGRAMAÇÃO EM LÓGICA Jogo seleccionado: Angela Silva angela.silva@fe.up.pt Carlos Aldeias carlos.aldeias@fe.up.pt Faculdade de

Leia mais

Gatos & Cães Simon Norton, 1970s

Gatos & Cães Simon Norton, 1970s Gatos & Cães Simon Norton, 1970s Um tabuleiro quadrado 8 por 8. 28 peças gato e 28 peças cão (representadas respectivamente por peças negras e brancas). Ganha o jogador que realizar a última jogada. zona

Leia mais

Semáforo Autor: Alan Parr. Avanço Autor: Dan Troyka, Material Um tabuleiro quadrado 7 por peças brancas e 14 peças negras.

Semáforo Autor: Alan Parr. Avanço Autor: Dan Troyka, Material Um tabuleiro quadrado 7 por peças brancas e 14 peças negras. Avanço Autor: Dan Troyka, 2000 Material Um tabuleiro quadrado 7 por 7. 14 peças brancas e 14 peças negras. Objectivo posição inicial Um jogador ganha se chegar com uma das suas peças à primeira linha do

Leia mais

Gatos & Cães Simon Norton, 1970s

Gatos & Cães Simon Norton, 1970s Gatos & Cães Simon Norton, 970s Um tabuleiro quadrado 8 por 8. 8 peças gato e 8 peças cão (representadas respectivamente por peças negras e brancas). Ganha o jogador que realizar a última jogada. zona

Leia mais

REGRAS DOS JOGOS do CNJM15

REGRAS DOS JOGOS do CNJM15 REGRAS DOS JOGOS do CNJM15 Semáforo Autor: Alan Parr 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores. Ser o primeiro a conseguir uma linha de três peças da mesma cor na horizontal,

Leia mais

JOGOS LIVRO REGRAS M AT E M Á T I CO S. 11.º Campeonato Nacional

JOGOS LIVRO REGRAS M AT E M Á T I CO S. 11.º Campeonato Nacional Vila Real JOGOS M AT E M Á T I CO S.º Campeonato Nacional LIVRO DE REGRAS Semáforo Autor: Alan Parr Material Um tabuleiro retangular por. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores.

Leia mais

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

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo SME0230 - Introdução à Programação de Computadores Primeiro semestre de 2017 Professora: Marina Andretta (andretta@icmc.usp.br) Monitores: Douglas Buzzanello Tinoco (douglas.tinoco@usp.br) Amanda Carrijo

Leia mais

Semáforo. Um tabuleiro retangular 4 por 3. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores.

Semáforo. Um tabuleiro retangular 4 por 3. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores. Semáforo Autor: Alan Parr Um tabuleiro retangular por. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores. Ser o primeiro a conseguir uma linha de três peças da mesma cor na horizontal,

Leia mais

Distribuição de Jogos por Ciclo

Distribuição de Jogos por Ciclo REGRAS DOS JOGOS Distribuição de Jogos por Ciclo 1º CEB 2º CEB 3º CEB Sec. Semáforo x Gatos & Cães x x Rastros x x x Produto x x x Avanço x x Flume x 2 Semáforo Autor: Alan Parr 8 peças verdes, 8 amarelas

Leia mais

Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica

Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica Capa Relatório de Avaliação Intercalar do 1º Trabalho Prático da Disciplina de Programação em Lógica Jogo Escolhido: Elementos do Grupo: Daniel Augusto Gama Castro Silva: Vasco Hugo Vinhas Gonçalves Moreira:

Leia mais

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

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15 Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-1 Aula Prática 15 No jogo Inventei, cada posição do tabuleiro é representada por suas coordenadas x e y e contém um número. O tabuleiro pode ser representado

Leia mais

livro das regras (provisório)

livro das regras (provisório) livro das regras (provisório) Avanço Autor: Dan Troyka, 2000 Um tabuleiro quadrado 7 por 7; 14 peças brancas e 14 peças negras. Um jogador ganha se chegar com uma das suas peças à primeira linha do adversário,

Leia mais

Implementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers. Jhonny Moreira

Implementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers. Jhonny Moreira Implementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers Jhonny Moreira Introdução Introdução Na área da inteligência artificial (IA), a motivação é conseguir colocar os computadores

Leia mais

Pente. Autores André Santos Cardoso João Nuno Ferrreira Batista Ricardo Simão Garcez

Pente. Autores André Santos Cardoso João Nuno Ferrreira Batista Ricardo Simão Garcez Aplicação em Prolog para um Jogo de Tabuleiro: Pente Autores André Santos Cardoso João Nuno Ferrreira Batista Ricardo Simão Garcez Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia

Leia mais

Este é um jogo para 1 a 4 pessoas com um tempo de jogo aproximado de 15 minutos por jogador.

Este é um jogo para 1 a 4 pessoas com um tempo de jogo aproximado de 15 minutos por jogador. LIVRO DE REGRAS Nã o q u er l Veja er as regr o a www video em s? 1 - Introdução.meb o.pt Em Portugal, durante o Verão, existem muitas festas populares, onde as pessoas se encontram na rua para festejar.

Leia mais

OPI Modalidade Programação. Fase 1

OPI Modalidade Programação. Fase 1 OPI 2014 Modalidade Programação Fase 1 23 de Agosto de 2014 Este caderno contém 5 problemas A PROVA TERÁ DURAÇÃO DE DUAS HORAS E TRINTA MINUTOS LEIA ATENTAMENTE AS INSTRUÇÕES ABAIXO ANTES DE INICIAR A

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

1ª Colocação 10 pontos. 2ª Colocação 08 pontos. 3ª Colocação 06 pontos

1ª Colocação 10 pontos. 2ª Colocação 08 pontos. 3ª Colocação 06 pontos Regras: Jogo do Xadrez 1. Sorteio: Os confrontos serão definido através de sorteio e relacionados no chaveamento da competição; A ordem de disputa será de acordo com a ordem de retira no sorteio. PS: 2

Leia mais

a) Defina em Prolog iguais/1, um predicado que recebe um estado do jogo e que verifica que todas as pilhas têm o mesmo número de peças.

a) Defina em Prolog iguais/1, um predicado que recebe um estado do jogo e que verifica que todas as pilhas têm o mesmo número de peças. Introdução à Inteligência Artificial 2ª Época 29 Janeiro 2015 Nº Aluno: Nome Completo: Exame com consulta. Responda às perguntas nesta própria folha, nos espaços indicados. (I) O jogo do Nim (também chamado

Leia mais

5ª Lista de Exercícios de Programação I

5ª Lista de Exercícios de Programação I 5ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. Questões que envolvam leitura de matrizes, a construção dessas matrizes pode ser realizada através da geração

Leia mais

Aprendendo a jogar Xadrez

Aprendendo a jogar Xadrez O núcleo de xadrez da nossa Escola continua particularmente activo, e dando continuidade ao material produzido para o número anterior da nossa revista, onde detalhou a forma como se procede à anotação

Leia mais

Inteligência Artificial Projecto 2

Inteligência Artificial Projecto 2 Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem

Leia mais

XADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de

XADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de XADREZ REGRAS BÁSICAS INTRODUÇÃO O xadrez, diferentemente de muitos jogos, não depende de sorte. O desenvolver do jogo não depende do resultado de dados ou das cartas que são tiradas do baralho. O resultado

Leia mais

TÓPICO. Fundamentos da Matemática II INTRODUÇÃO ÀS PROBABILIDADES14. Licenciatura em Ciências USP/ Univesp. Vanderlei S. Bagnato

TÓPICO. Fundamentos da Matemática II INTRODUÇÃO ÀS PROBABILIDADES14. Licenciatura em Ciências USP/ Univesp. Vanderlei S. Bagnato INTRODUÇÃO ÀS PROBABILIDADES14 TÓPICO Vanderlei S. Bagnato Fundamentos da Matemática II 14.1 Introdução 14.2 Definição de Probabilidade 14.3 Adição de probabilidade 14.4 Multiplicação de Probabilidades

Leia mais

Zooloretto. Um jogo de Michael Schacht para 2 a 5 jogadores dos 8 anos em diante

Zooloretto. Um jogo de Michael Schacht para 2 a 5 jogadores dos 8 anos em diante Zooloretto Um jogo de Michael Schacht para 2 a 5 jogadores dos 8 anos em diante Resumo: Cada jogador é o proprietário de um zoo. Os jogadores ganham pontos por atraírem tantos visitantes ao seu zoo quanto

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do exame 12 de Janeiro de 2018 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)

Leia mais

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Primeira Parte 1 Nim Nim é um jogo de estratégia matemática, que pode ser jogado casualmente usando um conjunto de objectos dispostos

Leia mais

PACRU SÉRIE 302. Linguagens e Informação Extra. Três Jogos: Shacru, Azacru & Pacru

PACRU SÉRIE 302. Linguagens e Informação Extra. Três Jogos: Shacru, Azacru & Pacru PACRU SÉRIE 302 Linguagens e Informação Extra Se esta informação não está na sua linguagem, vá a www.pacru.com, seleccione a linguagem e imprima as regras. Neste folheto estão todas as informações necessárias

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Raciocínio Lógico AULA 02 O que é Raciocínio Lógico? É um processo de estruturação do

Leia mais

O peão Se um peão consegue chegar até a outra extremidade do tabuleiro(linha 8), ele é promovido. Um peão promovido é substituído, ainda na mesma jogada em que o movimento foi feito, por um cavalo, bispo,torreoudamadamesmacor.

Leia mais

Fundamentos da Programação. Ano lectivo Segundo Projeto. Picross

Fundamentos da Programação. Ano lectivo Segundo Projeto. Picross Fundamentos da Programação Ano lectivo 205-6 Segundo Projeto Picross O jogo Picross é um quebra-cabeças sobre uma imagem binária, em que as células de uma grelha devem ser coloridas ou deixadas em branco

Leia mais

Backtracking. Pequenos Bispos

Backtracking. Pequenos Bispos Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC202 - Estruturas de Dados I Professores: Túlio A. Machado Toffolo

Leia mais

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02 . CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence

Leia mais

12 = JL (DE UMA A TRÊS CASAS EM QUALQUER DIREÇÃO, INCLUSIVE R1 PARA OS PEÕES)

12 = JL (DE UMA A TRÊS CASAS EM QUALQUER DIREÇÃO, INCLUSIVE R1 PARA OS PEÕES) XADREZ DA SORTE MATERIAL UM TABULEIRO COMUM DE 64 CASAS. DOIS DADOS COMUNS. AS 32 PEÇAS DO JOGO DE XADREZ. PONTUAÇÃO DOS DADOS A PONTUAÇÃO PARA MOVIMENTAÇÃO É A SEGUINTE: 2 = R1 (RETORNA UMA CASA) 3 =

Leia mais

PROJETO CLUBE DE MATEMÁTICA

PROJETO CLUBE DE MATEMÁTICA CLUBE DE MATEMÁTICA "O jogo é um tipo de atividade que alia raciocínio, estratégia e reflexão com desafio e competição de uma forma lúdica muito rica." EB1/PE da Vargem Ano letivo 2016/2017 Índice PROJETO

Leia mais

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

MAC 115 Introdução à Ciência da Computação ROTHELO MAC 115 Introdução à Ciência da Computação INSTITUTO DE FÍSICA - BACHARELADO NOTURNO SEGUNDO SEMESTRE DE 2010 Terceiro Exercício-Programa (EP3) Data de entrega: até 06 de dezembro de 2010 (2a.feira) ROTHELO

Leia mais

21090 Programação e-fólio A 2016/2017. E-fólio A

21090 Programação e-fólio A 2016/2017. E-fólio A E-fólio A Alínea A) O e-fólio A é constituído por 4 alíneas, valendo 1 valor cada, devendo as mesmas serem realizadas sequencialmente, e podendo ser reutilizado código entre alíneas. A cotação total do

Leia mais

Programação Aplicada de Computadores. Trabalho 1 Freecell

Programação Aplicada de Computadores. Trabalho 1 Freecell Programação Aplicada de Computadores Trabalho 1 Freecell 1. Objetivo O objetivo deste trabalho é implementar o jogo Freecell utilizando a estrutura de dados Pilha (stack). Freecell é um jogo de cartas

Leia mais

Santo Cristo, RS. 14 de novembro de 2015.

Santo Cristo, RS. 14 de novembro de 2015. 2 a Olimpíada Escolar de Jogos Lógicos de Tabuleiro Santo Cristo, RS 14 de novembro de 2015. Apresentação Esta é a segunda edição da Olimpíada de Jogos Lógicos de Tabuleiro promovida pela Universidade

Leia mais

2

2 Go Ludus História OGoé um jogo tradicional do Oriente. Surgiu na China há mais de 00 anos e foi introduzido no Japão em 00 d.c., sendo muito popular nos dois países. É um jogo de influência, com regras

Leia mais

jogos romanos jogos romanos

jogos romanos jogos romanos Moinho» Na sua vez, cada jogador coloca 1 ficha no tabuleiro tentando colocar 3 peças em linha;» Quando todas as peças estiverem colocadas, os jogadores tentam movimentá- las de modo a colocar as fichas

Leia mais

Jogos e Brincadeiras I. 1. Brincadeiras

Jogos e Brincadeiras I. 1. Brincadeiras Polos Olímpicos de Treinamento Curso de Combinatória - Nível 1 Prof. Bruno Holanda Aula 1 Jogos e Brincadeiras I 1. Brincadeiras Nesta primeira parte da aula resolveremos duas questões retiradas da Olimpíada

Leia mais

Utilização do Conjunto de Cantor para a resolução da Torre de Hanoi

Utilização do Conjunto de Cantor para a resolução da Torre de Hanoi Utilização do Conjunto de Cantor para a resolução da Torre de Hanoi Filipe Daniel Lemos FEUP 030509045 Dezembro de 2004 Resumo Segundo trabalho para a cadeira de Física dos sitemas dinâmicos do curso de

Leia mais

Fixação de conteúdo teórico

Fixação de conteúdo teórico BCC701 Programação de Computadores (2019-01) Universidade Federal de Ouro Preto - MG Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 [Aula 12] Estruturas de Repetição (prática 2) Fixação

Leia mais

PEGUE 10. Quantidade: 08 unidades

PEGUE 10. Quantidade: 08 unidades 1 PEGUE 10 Materiais Um tabuleiro e 66 cartas redondas com os numerais de 1 a 7 nas seguintes quantidades: 1 22 cartas; 6-2 cartas; 2-16 cartas; 7-2 cartas; 3-12 cartas; Coringa 1 carta. 4-7 cartas; 5-4

Leia mais

Nº de jogadores 2 Tempo de jogo 15 minutos Idade a partir dos 10 anos

Nº de jogadores 2 Tempo de jogo 15 minutos Idade a partir dos 10 anos Nº de jogadores 2 Tempo de jogo 15 minutos Idade a partir dos 10 anos 1 Introdução: Neste jogo, cada jogador tem uma família de 3 elementos (Pai,Mãe e filho). Cada membro da família tem uma Escala de Poupança

Leia mais

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Segunda Parte 1. Liberta o quadrado

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Segunda Parte 1. Liberta o quadrado Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Segunda Parte 1 Liberta o quadrado O jogo Liberta o quadrado é um quebra-cabeças em que o jogador é confrontado com um tabuleiro de

Leia mais

Exercícios de Excel com Programação em VBA. Luís Vieira Lobo

Exercícios de Excel com Programação em VBA. Luís Vieira Lobo Exercícios de Excel com Programação em VBA Luís Vieira Lobo Enunciados 1) Considere o seguinte livro Excel constituído pelas folhas de cálculo Pauta e Exame (ver Fig. 1 e Fig. 2). Fig. 1 Folha de cálculo

Leia mais

Programação II. Trabalho 2 Freecell

Programação II. Trabalho 2 Freecell Programação II Trabalho 2 Freecell 1. Objetivo O objetivo deste trabalho é implementar o jogo Freecell utilizando o Tipo Abstrato de Dados (TAD) Pilha (stack). Freecell é um jogo de cartas que tem por

Leia mais

Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina

Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina Anatomia do motor de um programa de xadrez Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina Conteúdo Objetivo O que é um motor de xadrez? Arquitetura Entrada e saída Representação do tabuleiro

Leia mais

Integrantes do subgrupo

Integrantes do subgrupo Nome do Objetivo do Jogo 1: GANHA CEM PRIMEIRO Ganha quem formar o grupão primeiro: que é o amarrado de dez grupos de dez palitos. Quem primeiro formar o grupão levanta a mão com ele e declara em voz alta:

Leia mais

Expansão/Redução de imagens no domínio das frequências

Expansão/Redução de imagens no domínio das frequências Faculdade de Engenharia da Universidade do Porto LEEC 5ºAno/1ºSemestre Televisão Digital 2006/2007 Trabalho 1: Expansão/Redução de imagens no domínio das frequências Grupo 8: Pedro Cunha (ee00047@fe.up.pt)

Leia mais

O Manual do Kiriki. Albert Astals Cid Eugene Trounev Tradução: José Pires

O Manual do Kiriki. Albert Astals Cid Eugene Trounev Tradução: José Pires Albert Astals Cid Eugene Trounev Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Como Jogar 6 3 Regras do Jogo, Estratégias e Sugestões 8 3.1 Regras do Jogo........................................ 8 4

Leia mais

CLAIM IT! THE CLAIM-JUMPING GAME de 2-5 jogadores, a partir dos 8 anos

CLAIM IT! THE CLAIM-JUMPING GAME de 2-5 jogadores, a partir dos 8 anos [pg 1] CLAIM IT! THE CLAIM-JUMPING GAME de 2-5 jogadores, a partir dos 8 anos O tempo: 1855. A localidade: O oeste americano Você é um pesquisador de ouro, que alinha o seu território de sondagem e o defende

Leia mais

CAPÍTULO 1. Os elementos. O jogo de xadrez é um desafio para a mente. J. W. von Goethe O TABULEIRO DE XADREZ

CAPÍTULO 1. Os elementos. O jogo de xadrez é um desafio para a mente. J. W. von Goethe O TABULEIRO DE XADREZ CAPÍTULO 1 Os elementos O jogo de xadrez é um desafio para a mente. J. W. von Goethe O TABULEIRO DE XADREZ Joga-se xadrez sobre um tabuleiro quadrado, formado por 64 casas quadradas, sendo sua cor, alternadamente,

Leia mais

2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.

2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados. Capítulo 5 Abstracção de dados 5. Exercícios de revisão. Diga o que é um tipo abstracto de informação.. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.

Leia mais

Introdução a Algoritmos Aula 1

Introdução a Algoritmos Aula 1 Introdução a Algoritmos Aula 1 Professor: Maurício Archanjo Nunes Coelho Metodologia Aulas expositivas Transparências Quadro negro Material disponível em PDF Resolução de exercícios Leitura/Estudo do material

Leia mais

JOGOS Bruno Holanda, Fortaleza CE

JOGOS Bruno Holanda, Fortaleza CE JOGOS Bruno Holanda, Fortaleza CE Nível Iniciante Problemas sobre jogos estão entre os mais atrativos para a maioria dos alunos que estão iniciando o seu gosto pela matemática e, por isso, vêm ganhando

Leia mais

Alguns Exercícios de Inteligência Artificial

Alguns Exercícios de Inteligência Artificial Alguns Exercícios de Inteligência Artificial Ana Paula Tomás Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {apt,nam}@ncc.up.pt 1997 1. Números

Leia mais

Inteligência Artificial Taguspark

Inteligência Artificial Taguspark Inteligência Artificial Taguspark Repescagem do Primeiro Teste 22 de Julho de 2006 9H00-10H30 Nome: Número: Este teste tem 7 perguntas e 12 páginas. Escreva o número em todas as páginas. Deve ter na mesa

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor

Leia mais

INTRODUÇÃO ÀS PROBABILIDADES15

INTRODUÇÃO ÀS PROBABILIDADES15 INTRODUÇÃO ÀS PROBABILIDADES15 Vanderlei S. Bagnato 15.1 Introdução 15.2 Definição de Probabilidade 15.3 Adição de probabilidade 15.4 Multiplicação de probabilidades Referências Licenciatura em Ciências

Leia mais

Neste jogo, cada jogador assume o papel de um turista que visita Portugal, procurando sempre as melhores fotos de cada região.

Neste jogo, cada jogador assume o papel de um turista que visita Portugal, procurando sempre as melhores fotos de cada região. Livro de regras Introdução PORTUGAL está na moda. Repleto de monumentos únicos e paisagens deslumbrantes, o país merece a tua visita. Viaja de Norte a Sul pelas diferentes regiões e guarda as recordações

Leia mais

Refinamentos sucessivos

Refinamentos sucessivos Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos

Leia mais

O JOGO DE XADREZ. Vamos conhecer as peças que compõe o jogo: O Tabuleiro

O JOGO DE XADREZ. Vamos conhecer as peças que compõe o jogo: O Tabuleiro O JOGO DE XADREZ O xadrez é um esporte intelectual, disputado entre duas pessoas que possuem forças iguais (peças) sobre um tabuleiro. Este jogo representa uma batalha em miniatura, onde cada lado comanda

Leia mais

1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:

1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: Capítulo 8 Dicionários 1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: l_nomes = [{ nome :{ nomep : Jose, apelido : Silva }, morada :{ rua : R. dos douradores,

Leia mais

Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos

Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos TCC - Jan/09 Daniel Tré - ISTCCP Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos p. 1/2 O que são Redes Neurais Artificiais

Leia mais

Equipamento. 6 Ladrilhos Iniciais mostrando a famosa Fonte dos Leões.

Equipamento. 6 Ladrilhos Iniciais mostrando a famosa Fonte dos Leões. Alhambra Um jogo para 2 a 6 jogadores A partir dos 8 anos Duração de 45 a 60 minutos Copyright 2003 Queen Games, D-53842 Troisdorf, Germany Autor : Dirk Henn Design : Bernd Dietrich Os melhores mestres

Leia mais

Problema A Bolhas e baldes Nome do arquivo fonte: bolhas.c, bolhas.cpp ou bolhas.java

Problema A Bolhas e baldes Nome do arquivo fonte: bolhas.c, bolhas.cpp ou bolhas.java Problema A Bolhas e baldes Nome do arquivo fonte: bolhas.c, bolhas.cpp ou bolhas.java Andrea, e Marcelo são muito amigos e passam todos os finais de semana à beira da piscina. Enquanto Andrea se bronzeia

Leia mais

DIGO VEZES PARA GANHAR!

DIGO VEZES PARA GANHAR! DIGO VEZES PARA GANHAR! São objetivos deste jogo: promover um suporte visual que se constitua como modelo para a relação de soma de parcelas iguais com a multiplicação; evidenciar, através das cores, diferentes

Leia mais

Aula 2: Algoritmos: Intuição

Aula 2: Algoritmos: Intuição Aula 2: Algoritmos: Intuição Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 1 / 27 Agenda 1 Revisão

Leia mais

Inteligência Artificial Projecto 1

Inteligência Artificial Projecto 1 Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem

Leia mais

INTELIGÊNCIA ARTIFICIAL 2008/09

INTELIGÊNCIA ARTIFICIAL 2008/09 INTELIGÊNCIA ARTIFICIAL 2008/09 JOGOS Ex. 1) ( Teste 2005/06) Considere a seguinte árvore de procura de dois agentes. Reordene as folhas de modo a maximizar o número de cortes com uma procura da esquerda

Leia mais

Marco Pacheco M. Conceição Sousa M. João Pessanha Teresa Jacob

Marco Pacheco M. Conceição Sousa M. João Pessanha Teresa Jacob Marco Pacheco M. Conceição Sousa M. João Pessanha Teresa Jacob O que é o O SuperTmatik cálculo mental éum jogo de cartas destinado ao treino do cálculo mental das operações básicas da matemática. Foi

Leia mais

Algoritmos de retrocesso

Algoritmos de retrocesso Algoritmos de retrocesso Algoritmos em que se geram escolhas que vão sendo testadas e eventualmente refeitas Problemas para os quais não existem algoritmos eficientes: retrocesso é melhor que pesquisa

Leia mais

1.1. O jogo Neste jogo parte-se de um tabuleiro com um número ímpar de discos (no caso da figura abaixo são 9), dispostos em linha,

1.1. O jogo Neste jogo parte-se de um tabuleiro com um número ímpar de discos (no caso da figura abaixo são 9), dispostos em linha, 1. Jogo dos saltos 1.1. O jogo Neste jogo parte-se de um tabuleiro com um número ímpar de discos (no caso da figura abaixo são 9), dispostos em linha, e por um conjunto de fichas de 2 cores diferentes

Leia mais

CARTAS EMPREENDEDORAS

CARTAS EMPREENDEDORAS CARTAS EMPREENDEDORAS ENSINO SECUNDÁRIO / PROFISSIONAL Ensino Secundário / Profissional Breve descrição Nesta atividade realiza-se um jogo em que as equipas jogam alternadamente, utilizando diferentes

Leia mais

Projecto de Algoritmos e Estruturas de Dados

Projecto de Algoritmos e Estruturas de Dados Projecto de Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrotécnica e de Computadores Licenciatura em Engenharia Electrónica 1 o ano, 2 o Semestre, 2005/2006 Instituto Superior Técnico

Leia mais

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a  e começar a jogar. Manual do Utilizador Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a http://mega.ist.utl.pt/~jsnl/sudoku/ e começar a jogar. O que preciso para jogar? Precisa de um computador, ligação

Leia mais

Um jogo de estratégia e inteligência passado num arquipélago paradisíaco, para 2 a 5 jogadores a partir dos 8 anos

Um jogo de estratégia e inteligência passado num arquipélago paradisíaco, para 2 a 5 jogadores a partir dos 8 anos Um jogo de estratégia e inteligência passado num arquipélago paradisíaco, para 2 a 5 jogadores a partir dos 8 anos Os mares do sul águas de um azul cristalino fluem suavemente por entre numerosas ilhas

Leia mais

Fernando Silva DCC-FCUP. Estruturas de Dados

Fernando Silva DCC-FCUP. Estruturas de Dados 3. Recursividade, Bactracking e Dividir-para-Conquistar Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 3. Recursividade, Bactracking e Dividir-para-Conquistar Estruturas de Dados

Leia mais

Módulo 1. Tabuleiro, peças, movimentos e capturas

Módulo 1. Tabuleiro, peças, movimentos e capturas Módulo 1 Tabuleiro, peças, movimentos e capturas O Tabuleiro O Xadrez é praticado entre duas pessoas, que comandam seus exércitos (brancas e negras). O objetivo do jogo é dar Xeque Mate ao rei adversário,

Leia mais

Algoritmos de retrocesso

Algoritmos de retrocesso Algoritmos de retrocesso Algoritmos em que se geram escolhas que vão sendo testadas e eventualmente refeitas Problemas para os quais não existem algoritmos eficientes: retrocesso é melhor que pesquisa

Leia mais

» O jogo: - é dividido em 3 semanas, cada uma com 7 dias/turnos. Cada turno divide-se em 2 fases:

» O jogo: - é dividido em 3 semanas, cada uma com 7 dias/turnos. Cada turno divide-se em 2 fases: » Preparação do jogo: - coloca-se o Supervisor (peão branco) na casa central da estrada no tabuleiro. - coloca-se um cubo branco na casa I do contador de semanas (I a III) e um cubo branco na casa 1 do

Leia mais

PROBLEMA A TROCA DE CARTAS

PROBLEMA A TROCA DE CARTAS PROBLEMA A TROCA DE CARTAS Nome do arquivo fonte: troccard.c, troccard.cpp ou troccard.java Alice e Beatriz colecionam cartas de Pokémon. As cartas são produzidas para um jogo que reproduz a batalha introduzida

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória

UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória Exercícios: 1. Maria inventou uma brincadeira. Digitou alguns algarismos na primeira linha de uma folha. Depois, no segunda linha, fez

Leia mais

Classificação Externa: Intercalação de Partições Classificadas

Classificação Externa: Intercalação de Partições Classificadas Classificação Externa: Intercalação de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Relembrando: Modelo da Classificação Externa 2 Aula Passada: Etapa

Leia mais

Desenvolvimento de um Jogo de Xadrez em Java

Desenvolvimento de um Jogo de Xadrez em Java Desenvolvimento de um Jogo de Xadrez em Java Bruno Fontana Canella 1, Fabricio Giordani 2 1 Acadêmico do curso de Ciência da Computação Unidade Acadêmica de Ciências, Engenharias e Tecnologias - Universidade

Leia mais

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela

C o m p u t a ç ã o M ó v e l. André Siqueira Ruela C o m p u t a ç ã o M ó v e l André Siqueira Ruela Sumário Revisão sobre AGs. Codificação de uma Rede Neural. AG em treinamento supervisionado. AG em treinamento não supervisionado. Revisão: Algoritmos

Leia mais

(Sistema Especialista)

(Sistema Especialista) Torneio de Truco (Sistema Especialista) Prof. Dr. Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades da USP Roteiro Contexto Educativo Descrição do Jogo de Truco Objetivo Descrição do

Leia mais

ADAPTAÇÃO PEGA VARETAS (Números Inteiros Negativos)

ADAPTAÇÃO PEGA VARETAS (Números Inteiros Negativos) 1 ADAPTAÇÃO PEGA VARETAS (Números Inteiros Negativos) Objetivos Introduzir o conceito de números inteiros negativos; Desenvolvimento O professor confeccionará o jogo com os alunos ou distribuirá os jogos

Leia mais

Ficheiros de Valores Separados por Vírgulas (CSV)

Ficheiros de Valores Separados por Vírgulas (CSV) Ficheiros de Valores Separados por Vírgulas (CSV) Programação II Universidade de Lisboa Faculdade de Ciências Departamento de Informática Licenciatura em Tecnologias da Informação Vasco Thudichum Vasconcelos

Leia mais

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009 PPM PROGRAMAÇÃO PARA MANUFATURA CONTEÚDO Lógica de programação Programação para manufatura Sistemas supervisorios 1 LÓGICA DE PROGRAMAÇÃO Abrangência Introduzir os conceitos básicos relacionados à lógica

Leia mais

Romildo Martins da S Bezerra Julho 2001

Romildo Martins da S Bezerra Julho 2001 Algoritmo do Kalah Romildo Martins da S Bezerra Julho 2001 Índice 1. O Jogo...3 2. Mudanças para Implementação...3 3. O Algoritmo...4 3.1 MINIMAX...4 3.2 Poda Alpha-Beta...4 3.3 Estrutura Utilizada...5

Leia mais

O Manual do KFourInLine. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Tradução: José Pires

O Manual do KFourInLine. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Tradução: José Pires Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Como Jogar 6 3 Regras, estratégias e dicas do jogo 7 3.1 Ligações Remotas......................................

Leia mais

Arquivos Seqüenciais: Intercalação

Arquivos Seqüenciais: Intercalação Arquivos Seqüenciais: Intercalação Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Cenário Diversos arquivos sequenciais ordenados Problema: gerar um único arquivo ordenado a partir

Leia mais

1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:

1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: Capítulo 8 Dicionários 1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: l_nomes = [{ nome :{ nomep : Jose, apelido : Silva }, morada :{ rua : R. dos douradores,

Leia mais

Exercícios da cadeira de Inteligência Artificial. Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos

Exercícios da cadeira de Inteligência Artificial. Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos Exercícios da cadeira de Inteligência Artificial Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos Ano Lectivo 2001/2002 1 Prefácio Este documento reúne os exercícios

Leia mais