Buscar

Resposta - Pseudocódigo Mapa do Maroto-1

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

******Mapa do Maroto - Resposta em Pseudocódigo******
//Primeiro, declaramos o nome do nosso programa
ALGORITMO Mapa_do_Maroto
//Agora declaramos as variáveis que iremos usar e seus tipos
VARIÁVEIS
x1, y1, x2, y2, professor_x, professor_y: inteiros;
destino, caminho, professor: string;
//Indicamos o início do programa e o valor das variáveis
INICIO
ESCREVA("Digite a coordenada inicial no eixo x"):
LER (x1, x2);
ESCREVA("Digite a coordenada inicial no eixo y"):
LER (y1, y2);
ESCREVA("Digite a coordenada de localização do professor em x e y:")
LER (professor)
//No caso das coordenadas da variável professor, repare que recebemos a entrada de dois valores, então iremos separar esses valores das coordenadas x, y para a localização do professor:
professor_x <-- professor[0]; //índice "zero" indica o valor da primeira posição recebida.
professor_y <-- professor[2]; //índice "dois" indica o valor da segunda posição recebida.
SE (x1 == professor_x) ou (y1 == professor_y)
	ESCREVA("Você não pode começar no mesmo corredor em que está o professor. Digite uma nova coordenada para a localização do professor:") 
	LER (professor)
professor_x <-- professor[0];
professor_y <-- professor[2];
ESCREVA("Digite o caminho a percorrer, sendo N para norte, O para oeste, L para leste e S para sul. Exemplo - NNOLLS:")
LER(destino);
caminho <-- destino;
// Agora que recebemos o caminho, temos que criar um sistema que irá contabilizar quantas vezes iremos nos locomover nos eixos X e Y de acordo com a entrada (letras N, S, L e O). Faremos isso para cada entrada, considerando cada letra da entrada como uma variável (n) que está dentro da variável "destino" para descobrir as coordenadas do destino final que queremos alcançar:
PARA (variável n EM destino)
	TROCAR n
		CASO n == "N", FAZER:
			y1++
			PARAR;
		CASO n == "S", FAZER:
			y1--
			PARAR;
		CASO n == "L", FAZER:
			x1++
			PARAR;
		CASO n == "O", FAZER:
			x1--
			PARAR;
		SENÃO, ESCREVA: ("Caminho inválido.)
			REINICIAR;
// No entanto, ainda não sabemos se conseguiremos chegar a esse destino, pois precisamos avaliar se iremos cruzar algum corredor em que está o professor. Para tanto, nós agora iremos avaliar nosso caminho:
PARA (variável n EM caminho)
	TROCAR n
		CASO n == "N", FAZER:
			y2++
			SE (y2 == professor_y)
				y2--
				PARAR;
		CASO n == "S", FAZER:
			y2--
			SE (y2 == professor_y)
				y2++
				PARAR;
		CASO n == "L", FAZER:
			x2++
			SE (x2 == professor_x)
				x2--
				PARAR;
		CASO n == "O", FAZER:
			x2--
			SE (x2 == professor_x)
				x2++
				PARAR;
// Agora nós temos as variáveis do caminho que realmente foi percorrido, e iremos comparar essse caminho com as variáveis de destino. Se nós tivermos conseguido avançar sem passar por um professor, então nossas variáveis x1 e y1 serão iguais a x2 e y2:
SE (x1 == x2) e (y1 == y2)
	ESCREVA("Você conseguiu chegar ao destino nas coordenadas x1, y1");
SENÃO
	ESCREVA("Você não conseguiu chegar ao destino e parou nas coordenadas x2, y2");
ESCREVA("Tentar novamente? Digite S para SIM ou N para NÃO");
LER(jogar);
ENQUANTO (jogar !S) ou (jogar !N)
	ESCREVA("Valor incorreto. Digite S para jogar novamente ou N para sair do jogo");
	LER(jogar);
	SE (jogar == S)
		REINICIAR;
	SE (jogar == N)
		SAIR;
PARAR;
// Este é o final do nosso programa.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais