Deitel 6 edição exercicio 7.21 tartaruga

20 respostas
L

ae pessoal, deitel tb pegou pesado com os exercicios alem de ser muitos…cada capitulos e de 33 apenas 4 sao divertidos de fazer… esse aqui achei um absurdo nao vou colar aqui toda a questao pq 1 delas a 7.21 do capitulo 7 - array… dar uma folha apenas a pergunta e outro da quase 2 folhas do programa q ele deseja. Um diz assim:

Simular uma tartaruga com uma caneta e cada lado q ela se vira o programa vai simulado os passos da tartaruga. quem tiver acesso a questao comenta ai a outra eh simular um cavalo correndo sabendo q ele corre apenas em forma de L e vc deve traçar uma meta ate onde ele pode correr.

Bom nao respondi esse exercicio. achei absurdo demais! quem ta lendo deitel sexta edição respondeu?

20 Respostas

A

camilolopes:
ae pessoal, deitel tb pegou pesado com os exercicios alem de ser muitos…cada capitulos e de 33 apenas 4 sao divertidos de fazer… esse aqui achei um absurdo nao vou colar aqui toda a questao pq 1 delas a 7.21 do capitulo 7 - array… dar uma folha apenas a pergunta e outro da quase 2 folhas do programa q ele deseja. Um diz assim:

Simular uma tartaruga com uma caneta e cada lado q ela se vira o programa vai simulado os passos da tartaruga. quem tiver acesso a questao comenta ai a outra eh simular um cavalo correndo sabendo q ele corre apenas em forma de L e vc deve traçar uma meta ate onde ele pode correr.

Bom nao respondi esse exercicio. achei absurdo demais! quem ta lendo deitel sexta edição respondeu?

Camilo…como você bem sabe…eu não respondi essas perguntas do deitel…e nem as outras…ahahaha que vadio eu não? :shock:
Mas se você achar muito díficil…marca a página…e deixa para fazer com calma…e se surgir a inspiração!:smiley:
essa do cavalo…eu tinha para fazer em C e eu não fiz na época…por que eu não tive saco!!hahahahaha

L

pior que é verdade!!

D

bom, não tenho livro nenhum mas não parece ser um bicho de sete cabeças… aliás não fala nada de hidras mesmo, só tartaruga e cavalo hehehe.

eu uma vez fiz um que acho ser parecido com isso, com matrizes também, vc tinha um labirinto, um queijo e um rato, e devia mostrar o caminho do rato ao queijo. fiz na época de faculdade, e tem até na minha página pra quem quiser ver… em programação acho.

se quiser passar pra mim ver o que é… fique a vontade :slight_smile:

L

infelizmente nao dar para colocar a questao toda por ser mais de uma pagina exatamente como o deitel deseja… :frowning:

A

Faça um resuminho…ai o pessoal pode ajudar você!:smiley:

D

Esse do cavalo é bem complicado, o da tartaruga eu fiz, mas já faz um tempo, e foi em C++, os exercícios são iguais nos 2 livros, o de Java e o de C++.

Se quiser posso procurar esse da tartaruga pra vc, mas nem sei se tenho mais, e nem sei se vai te ajudar…

A

diego2005:
Esse do cavalo é bem complicado, o da tartaruga eu fiz, mas já faz um tempo, e foi em C++, os exercícios são iguais nos 2 livros, o de Java e o de C++.

Se quiser posso procurar esse da tartaruga pra vc, mas nem sei se tenho mais, e nem sei se vai te ajudar…

vai ajudar sim!!!Linguagem c é completamente parecida com java…(alias é o contrário)

P

olá galera, eu comprei o mesmo livro dos Deitels e estou com dúvidas em umas questões e como tem pessoas que tem o mesmo livro, queria perguntar pro camilolopes se ele fez o exercicio 5.11 do cap 5?? Se fez me diz ae como tu fez pow, pq eu não consigui pegar os valores…

Pra quem quer vê a questão do livro é essa ae:

“Escreva um aplicativo que localiza o maior de vários inteiros. Assuma que o primeiro valor lido especifica o número de valores a serem inseridos pelo usuario.”

Ta aí a questão alguem saber ae me fala a resposta. Só lembrando que vc só pode utilizar instruções de controle.

VLW
Abraços

L

ae parceiro eu começei mas n terminei veja ai em anexo!!deitel eh meio louco uhau!

A

Eu qeu sou louco…ele é um véio feio mesmo!! :lol:

P

ae
camilolopes venho a vc de novo, quero te perguntar como vc fez os exercicios do cap.5, 5.15 e 5.24 onde tipow tem q fazer tipow uns desenhos com loops…Daqui uns dias temos q abrir nosso próprio tópico só com dúvidas dos exercicios huahuahauahua :smiley:

vlw ae
flw
8)

L

nao respondi nao!! olhei na pasta e nao ta!!heh nao lembro da questao!!!

D

Se a questão não for muito grande posta ai, as vezes a gente pode dar uma ajuda…

P

Blz então galera eu vou postar a questão… Ta aí… Mas tipow eu não tow pedindo ninguém pra fazer, pq eu entrei num post que o kra queria só uma dica numa questão e os outros membros faltaram esculhambar o kra pq ele simplesmente pôs a questão… É foda um negócio desses. Faça quem quiser e post aí uma dica de como fazer… :wink:

Questão:

Escreva um aplicativo que imprima a seguinte forma de losango. Você pode utilizar instruções de saída que imprimam um único asterisco(*), um único espaço ou um único caractere de nova linha. Maximize sua utilização de repetição(com instruções for aninhadas) e minimize o número de instruções de saída.

O losango que a questão se refere é esse:

*
 ***
*****



*****
 ***
   *

Fico grato pra quem pelo menos tentar ajudar :smiley:
vlw ae galera
flw

P

vixe o losango não saiu muito bem não, mas tipow é em forma de losango do mesmo jeito aí usando asteriscos…

vlw
flw

L

po n ao fiz esse nao! :frowning:

T

Sei que não é a melhor forma mas desse jeito parece que funcionou:

class Teste

{

public static void main(String[] args) throws Exception

{

for (int i=1; i <= 17; i+=2)

{

if (i <= 9){

for (int j = 1; j <= i; j++)

{

System.out.print("*");

}

}

else{
for (int j = 17; j >= i; j--)
			{
				System.out.print("*");
			}
		}
		System.out.println();
	}
}

}

tentei postar a lógica que usei (se é que tem alguma) mas não consegui explicar.

Espero ter ajudado.

P

Humm…
Acho q ficou bom sim. Vlw tiagoboy :thumbup:

t+ :stuck_out_tongue:

O

Ei cara! Eu consegui!

O

Estou postando dois códigos. O primeiro deve ser salvo como Logo.java e o segundo como Logo_Test.java
daí é só compilar e boa.Os comandos estão abaixo:

1 - levantar caneta
2 - abaixar caneta
3 - virar para a esquerda (Diferente do Deitel, preferi inverter)
4 - virar para a direita
5 - andar para frente (quando acionado, será requerido o número de passos
6 - mostra o desenho (depois dá pra continuar desenhando)
7 - (sem efeito)
8 - (sem efeito)
9 - encerra o programa e mostra o desenho

//Logo.java
import java.util.Scanner;

public class Logo {

	public static boolean floor[][] = new boolean[20][20];
	public static boolean usarCaneta;
	public static int 	l=0,
						c=0;
	private final byte UpPen   = 1;
	private final byte DownPen = 2;
	private final byte LEFT    = 3;
	private final byte RIGHT   = 4;
	private final byte ANDAR   = 5;
	private final byte DESENHAR= 6;
	private final byte FIM     = 9;
	//private static byte direcoes[] = {6, 2, 4, 8};
	private static int irPara = 6;
	
	public static int getIrPara() {
		return irPara;
	}

	public static void setIrPara(int irPara) {
		Logo.irPara = irPara;
	}

	Scanner r = new Scanner(System.in);
	
	public int comando(){
		System.out.print("LOGO: ");
		int com = Integer.parseInt(r.next());
		return com;
	}//fim do método comando()
	
	public int passos(){
		System.out.print("LOGO: passos--> ");
		int com = Integer.parseInt(r.next());
		return com;
	}//fim do método passos()
	
	public void mudarDirecao(int LeftOrRight){//muda direção da Tat
		
		int irParaAtual = getIrPara();
		
		if(LeftOrRight==LEFT){
			if(irParaAtual==2 ) setIrPara(6);
			if(irParaAtual==6 ) setIrPara(8);
			if(irParaAtual==8 ) setIrPara(4);
			if(irParaAtual==4 ) setIrPara(2);
			System.out.println("guinado para esquerda");
		}
		if(LeftOrRight==RIGHT){
			if(irParaAtual==2 ) setIrPara(4);
			if(irParaAtual==6 ) setIrPara(2);
			if(irParaAtual==8 ) setIrPara(6);
			if(irParaAtual==4 ) setIrPara(8);
			System.out.println("guinado para direita");
		}
	}
	
	public void desenhador(){
		int comand = 0;
		while(comand!=9){
			comand = comando();
			switch(comand){
				case UpPen: 	usarCaneta = false; break;
				case DownPen:	usarCaneta = true; break;
				case LEFT:		mudarDirecao(3); break;
				case RIGHT:		mudarDirecao(4); break;
				case ANDAR:		caminhar(); break;
				case DESENHAR:  mostrarQuadro(); break;
				case FIM: 		comand = FIM; break;
			}
		}
	}
	
	public boolean definirCelula(){
		boolean definicao=false;
		if(usarCaneta==true) definicao = true;
		return definicao;
	}
	
	public void caminhar(){
		int npassos = passos();
					
			if(getIrPara()==6){
				for(int i=0; i<npassos ; i++){
					c++;
					if(c>19) c = 19;
					if(usarCaneta==true)floor[l][c] = true;
				}
			}
			else if (getIrPara()==4){
				for(int i=0; i<npassos ; i++){
					c--;
					if(c><0) c = 0;
					if(usarCaneta==true)floor[l][c] = true;
				}
			}
			else if (getIrPara()==8){
				for(int i=0; i<npassos ; i++){
					l--;
					if (l><0) l = 0;
					if(usarCaneta==true)floor[l][c] = true;
				}
			}
			else if (getIrPara()==2){
				for(int i=0; i<npassos ; i++){
					l++;
					if(l>19) l = 19;
					if(usarCaneta==true)floor[l][c] = true;
				}
			}
			else System.out.println("\nDireção não identificada");		
	}//FIM do método CAMINHAR
	
	public void mostrarQuadro(){
		int a, b;
		for(a=0 ; a<floor.length ; a++){
			for(b=0 ; b><floor[0].length ; b++){
				if(floor[a][b]==true)
					System.out.print("O  ");
				if(floor[a][b]==false)
					System.out.print("   ");
			}
		System.out.println();
		}
	}
}

//Logo_Test.java

public class Logo_Test {

	public static void main(String[] args) {
		Logo logo = new Logo();
		
		logo.desenhador();
		logo.mostrarQuadro();
	}
}

Abração ae galera.... e vamos estudar hein!
>

Criado 15 de julho de 2006
Ultima resposta 1 de fev. de 2009
Respostas 20
Participantes 7