Baixe o app para aproveitar ainda mais
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.
Compartilhar