· 2022/2
3
Algoritmos e Programação de Computadores
UNICAMP
60
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
7
Algoritmos e Programação de Computadores
UNICAMP
5
Algoritmos e Programação de Computadores
UNICAMP
95
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
Texto de pré-visualização
04/12/2022 12:12 Laboratório 15 https://susy.ic.unicamp.br:9999/mc102/15/enunciado.html 1/4 Caça-Palavras Caça-palavras é um jogo muito divertido para a maioria da população. No jogo, dado um conjunto de palavras, os jogadores precisam encontrá-las em um amontoado de letras, podendo alinhar horizontalmente ou verticalmente para completar a palavra em questão. Cansado do modo padrão do jogo, você inventou uma nova modalidade de caça- palavras. Nela, é possível encontrar a próxima letra da palavra buscando em todas as posições da linha e da coluna da última letra encontrada da palavra. Um exemplo é dado a seguir. Nele, a palavra buscada é BOLA: PMLSDHUHO QUAVCEGZE ABNEPASMB Caso comece pela letra B na última posição da última linha, você deverá procurar na última linha e na última coluna pela letra O . Caso encontre a letra O (pode ser encontrada na primeira linha e última coluna do caça-palavras), deverá procurar a letra L na linha e na coluna em que se encontra a letra O (no caso, primeira linha e última coluna), e assim sucessivamente. Neste exemplo abordado, é possível completar a palavra BOLA, conforme indicado pelas letras em destaque: PMLSDHUHO QUAVCEGZE ABNEPASMB Como você já sabe programar, resolveu criar um código que realiza a busca da palavra no caça-palavras. Como entrada, o seu código lerá diversas linhas representando o caça-palavras, e, assim que ler o valor 0 , deverá parar a leitura. Na sequência, seu código deverá ler diversas palavras que serão procuradas no caça-palavras, e, assim que ler o valor 0 , deverá encerrar a leitura. Para cada palavra lida, seu programa deverá imprimir se a palavra foi ou não encontrada. Exemplos de entradas e saídas esperadas para o seu programa: Teste 01 Entrada 04/12/2022 12:12 Laboratório 15 https://susy.ic.unicamp.br:9999/mc102/15/enunciado.html 2/4 AOERPT ERRAGQ ITPALM UZNBFR TFVCSP QWASML 0 APERTO RATO REAL LUA LAPIS 0 Saída Palavra APERTO: encontrada Palavra RATO: encontrada Palavra REAL: encontrada Palavra LUA: nao encontrada Palavra LAPIS: nao encontrada Teste 02 Entrada NJNIMPAIEOL ZCPEOAIOLMN QEUURYTPEAL NNVHAERKASD HGJAQTPCMNV NAZOQUEPMEN ADNEMAIODNP NQZURPAMVBE UIABCPEPAMZ 0 JABUTI PADARIA TOMADA QUEIJO 0 Saída Palavra JABUTI: encontrada Palavra PADARIA: encontrada 04/12/2022 12:12 Laboratório 15 https://susy.ic.unicamp.br:9999/mc102/15/enunciado.html 3/4 Palavra TOMADA: nao encontrada Palavra QUEIJO: encontrada Teste 03 Entrada ASDMNZPEMVJ ZPMELGHTJPD BUPVERTZHAI TMANPUEWZXP MAPOELZMIPA FHRDIBCATAZ 0 PADARIA ZEBRA JIBOIA DADO 0 Saída Palavra PADARIA: encontrada Palavra ZEBRA: encontrada Palavra JIBOIA: nao encontrada Palavra DADO: encontrada Código Base No arquivo auxiliar lab15.py você irá encontrar um código base para dar início ao processo de elaboração desta tarefa. Para facilitar a implementação do seu programa, no código base, existe o cabeçalho de uma função com a descrição do que deve ser desenvolvido. A ideia é que a função desenvolvida para obter uma solução para o problema seja recursiva. def caca_palavras(m, posX, posY, seq): # ... Orientações Veja aqui a página de submissão da tarefa. O arquivo a ser submetido deve se chamar lab15.py.
3
Algoritmos e Programação de Computadores
UNICAMP
60
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
7
Algoritmos e Programação de Computadores
UNICAMP
5
Algoritmos e Programação de Computadores
UNICAMP
95
Algoritmos e Programação de Computadores
UNICAMP
2
Algoritmos e Programação de Computadores
UNICAMP
4
Algoritmos e Programação de Computadores
UNICAMP
3
Algoritmos e Programação de Computadores
UNICAMP
Texto de pré-visualização
04/12/2022 12:12 Laboratório 15 https://susy.ic.unicamp.br:9999/mc102/15/enunciado.html 1/4 Caça-Palavras Caça-palavras é um jogo muito divertido para a maioria da população. No jogo, dado um conjunto de palavras, os jogadores precisam encontrá-las em um amontoado de letras, podendo alinhar horizontalmente ou verticalmente para completar a palavra em questão. Cansado do modo padrão do jogo, você inventou uma nova modalidade de caça- palavras. Nela, é possível encontrar a próxima letra da palavra buscando em todas as posições da linha e da coluna da última letra encontrada da palavra. Um exemplo é dado a seguir. Nele, a palavra buscada é BOLA: PMLSDHUHO QUAVCEGZE ABNEPASMB Caso comece pela letra B na última posição da última linha, você deverá procurar na última linha e na última coluna pela letra O . Caso encontre a letra O (pode ser encontrada na primeira linha e última coluna do caça-palavras), deverá procurar a letra L na linha e na coluna em que se encontra a letra O (no caso, primeira linha e última coluna), e assim sucessivamente. Neste exemplo abordado, é possível completar a palavra BOLA, conforme indicado pelas letras em destaque: PMLSDHUHO QUAVCEGZE ABNEPASMB Como você já sabe programar, resolveu criar um código que realiza a busca da palavra no caça-palavras. Como entrada, o seu código lerá diversas linhas representando o caça-palavras, e, assim que ler o valor 0 , deverá parar a leitura. Na sequência, seu código deverá ler diversas palavras que serão procuradas no caça-palavras, e, assim que ler o valor 0 , deverá encerrar a leitura. Para cada palavra lida, seu programa deverá imprimir se a palavra foi ou não encontrada. Exemplos de entradas e saídas esperadas para o seu programa: Teste 01 Entrada 04/12/2022 12:12 Laboratório 15 https://susy.ic.unicamp.br:9999/mc102/15/enunciado.html 2/4 AOERPT ERRAGQ ITPALM UZNBFR TFVCSP QWASML 0 APERTO RATO REAL LUA LAPIS 0 Saída Palavra APERTO: encontrada Palavra RATO: encontrada Palavra REAL: encontrada Palavra LUA: nao encontrada Palavra LAPIS: nao encontrada Teste 02 Entrada NJNIMPAIEOL ZCPEOAIOLMN QEUURYTPEAL NNVHAERKASD HGJAQTPCMNV NAZOQUEPMEN ADNEMAIODNP NQZURPAMVBE UIABCPEPAMZ 0 JABUTI PADARIA TOMADA QUEIJO 0 Saída Palavra JABUTI: encontrada Palavra PADARIA: encontrada 04/12/2022 12:12 Laboratório 15 https://susy.ic.unicamp.br:9999/mc102/15/enunciado.html 3/4 Palavra TOMADA: nao encontrada Palavra QUEIJO: encontrada Teste 03 Entrada ASDMNZPEMVJ ZPMELGHTJPD BUPVERTZHAI TMANPUEWZXP MAPOELZMIPA FHRDIBCATAZ 0 PADARIA ZEBRA JIBOIA DADO 0 Saída Palavra PADARIA: encontrada Palavra ZEBRA: encontrada Palavra JIBOIA: nao encontrada Palavra DADO: encontrada Código Base No arquivo auxiliar lab15.py você irá encontrar um código base para dar início ao processo de elaboração desta tarefa. Para facilitar a implementação do seu programa, no código base, existe o cabeçalho de uma função com a descrição do que deve ser desenvolvido. A ideia é que a função desenvolvida para obter uma solução para o problema seja recursiva. def caca_palavras(m, posX, posY, seq): # ... Orientações Veja aqui a página de submissão da tarefa. O arquivo a ser submetido deve se chamar lab15.py.