diff --git a/notebooks/pt/c02oo-java/s02lab/s01lombriga/lab-lombriga.ipynb b/notebooks/pt/c02oo-java/s02lab/s01lombriga/lab-lombriga.ipynb index 7294d7d..c9b6de1 100644 --- a/notebooks/pt/c02oo-java/s02lab/s01lombriga/lab-lombriga.ipynb +++ b/notebooks/pt/c02oo-java/s02lab/s01lombriga/lab-lombriga.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "round-edwards", + "id": "driving-notification", "metadata": {}, "source": [ "# Lombriga no Aquário\n", @@ -37,7 +37,7 @@ "\n", "## Se Movendo pelo Aquário\n", "\n", - "Note que a lombriga pode estar em qualquer posição do aquário, desde que ela caiba no espaço disponível.\n", + "Note que a lombriga pode estar em qualquer posição do aquário, desde que ela caiba no espaço disponível. A primeira posição no aquário é sempre 1 (e não 0 como em um vetor em Java).\n", "\n", "A lombriga pode se mover pelo aquário sempre para a direção para a qual ela está virada. No exemplo anterior, a lombriga daria um passo assim:\n", "\n", @@ -64,7 +64,7 @@ }, { "cell_type": "markdown", - "id": "compatible-discretion", + "id": "animal-invalid", "metadata": {}, "source": [ "# Tarefa\n", @@ -77,24 +77,24 @@ "\n", "## Métodos\n", "\n", - "* `construtor` - no construtor é informado como parâmetro: o tamanho do aquário, o tamanho da lombriga e a posição da lombriga no aquário (a primeira posição é um);\n", + "* `construtor` - no construtor é informado como parâmetro: o tamanho do aquário, o tamanho da lombriga e a posição da lombriga no aquário;\n", "* `crescer` - a lombriga cresce uma unidade dentro do aquário somente se houver espaço para ela crescer na direção oposta à cabeça -- a lombriga só cresce se houver espaço no aquário na direção do crescimento, caso contrário, ela não crescerá, mesmo que o método seja chamado;\n", "* `mover` - a lombriga se move uma unidade na direção para a qual está virada à cabeça; se ela estiver no limite do aquário (para o lado que ela está virada a cabeça) e for chamado este método ela vira de lado em vez de andar;\n", "* `virar` - a lombriga vira de lado;\n", - "* `apresenta` - retorna uma String contendo a apresentação da lombriga no aquário no estado atual, conforme foi descrito anteriormente." + "* `apresenta` - retorna uma String contendo a apresentação da lombriga no aquário no estado atual, conforme foi descrito anteriormente.\n" ] }, { "cell_type": "code", "execution_count": null, - "id": "induced-confirmation", + "id": "subtle-competition", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", - "id": "cloudy-ukraine", + "id": "pacific-contribution", "metadata": {}, "source": [ "# Animando a Lombriga no Aquário\n", @@ -107,12 +107,12 @@ "\n", "* `AA` - é um número (sempre ocupando dois caracteres) representando o tamanho do aquário; por exemplo, `08` representa um aquário de tamanho 8;\n", "* `LL` - é um número (sempre ocupando dois caracteres) representando o tamanho da lombriga; por exemplo, `04` representa uma lombriga de tamanho 4;\n", - "* `PP` - é um número (sempre ocupando dois caracteres) representando a posição inicial da lombriga no aquário -- a lombriga começa sempre virada para a direita, portanto trata-se da posição da ponta da cauda; por exemplo, `02` representa uma lombriga na posição 2.\n", + "* `PP` - é um número (sempre ocupando dois caracteres) representando a posição inicial da lombriga no aquário -- a lombriga começa sempre virada para a direita, portanto trata-se da posição da ponta da cauda; por exemplo, `03` representa uma lombriga na posição 3.\n", "\n", "A sequência:\n", "\n", "~~~\n", - "080402\n", + "080403\n", "~~~\n", "\n", "Representa um aquário de tamanho 8, com uma lombriga de tamanho 4, na posição 3:\n", @@ -127,23 +127,15 @@ " * `V` - a lombriga vira.\n", "\n", "~~~\n", - "080402MCMVM\n", + "080403MCMVM\n", "~~~\n", "\n", - "A lombriga do exemplo anterior os passos de animação são: se move, cresce, se move, vira e se move." + "A lombriga do exemplo anterior os passos de animação são: se move, cresce, se move, vira e se move.\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "czech-boost", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", - "id": "pressing-popularity", + "id": "catholic-idaho", "metadata": {}, "source": [ "# Tarefa\n", @@ -162,11 +154,11 @@ "\n", "Por exemplo, considere a animação do exemplo anterior:\n", "~~~\n", - "080402MCMVM\n", + "080403MCMVM\n", "~~~\n", "\n", "Considere que foi chamada a seguinte sequência de métodos:\n", - "* `construtor` - passa como parâmetro `080402MCMVM`;\n", + "* `construtor` - passa como parâmetro `080403MCMVM`;\n", "* `apresenta` - retorna `##@@@O##`\n", "* `passo` - executa primeira ação `M`\n", "* `apresenta` - retorna `###@@@O#`\n", @@ -177,54 +169,59 @@ "* `passo` - executa próxima ação `V`\n", "* `apresenta`- retorna `###O@@@@`\n", "* `passo` - executa próxima ação `M`\n", - "* `apresenta` - retorna `##O@@@@#`" + "* `apresenta` - retorna `##O@@@@#`\n" ] }, { "cell_type": "code", "execution_count": null, - "id": "fuzzy-laser", + "id": "polished-publisher", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", - "id": "failing-voluntary", + "id": "limiting-nothing", "metadata": {}, "source": [ "# Programa\n", "\n", - "Escreva um programa que use as suas classes para mostrar todos os passos da animação no console: `080402MCMVM`, conforme foi ilustrado anteriormente." + "Escreva um programa que use as suas classes para mostrar todos os passos da animação no console: `080403MCMVM`, conforme foi ilustrado anteriormente." ] }, { "cell_type": "code", "execution_count": null, - "id": "faced-valley", + "id": "stainless-lightning", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", - "id": "shaped-country", + "id": "metric-prototype", "metadata": {}, "source": [ - "# Versão Eclipse\n", + "# Versão Eclipse ou equivalente\n", "\n", - "Adapte todo o código que você desenvolveu para o Eclipse seguindo os critérios:\n", + "Adapte todo o código que você desenvolveu para ser rodado em console fora do Jupyter, usando o Eclipse ou equivalente seguindo os critérios:\n", "* todo o código deve estar no pacote: `mc322.lab03` -- não criar sub-pacotes;\n", "* o programa principal (main) deve estar em uma terceira classe chamada `AppLab03`." ] }, { - "cell_type": "code", - "execution_count": null, - "id": "automatic-national", + "cell_type": "markdown", + "id": "respiratory-meditation", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "# Observações Finais Importantes\n", + "\n", + "* O nome das classes e métodos deve ser rigorosamente como o especificado.\n", + "* Cada um tem a liberdade de decidir como tratar as condições excepcionais não especificadas, mas seguem sugestões de como tratá-las:\n", + "a. O que fazer se for especificada uma lombriga maior que o aquário? Aumentar o aquário para que a lombriga caiba.\n", + "b. O que fazer se a lombriga não couber na posição especificada no começo? Colocar a lombriga na posição 1." + ] } ], "metadata": {