0

Algoritmo Tabuada com laços de repetição

Michael Carvalho
Michael Carvalho

Criei esse algoritmo em resposta ao desafio da aula de lógica de programação essencial, porém, gostaria que vocês avaliassem a qualidade e me dessem um feedback quanto à legibilidade do código... acho que ainda estou pecando na indentação do código.

Tem uma parte onde ele pede pra você responder se deseja realizar uma nova consulta, mas se você responder com qualquer valor alfanumérico ele dá aquele crash tosco kkkk queria saber como contornar isso, pois não consegui fazer o "escolha-caso" receber valores de string, daí tive que usar valores inteiros.

Agradeço desde já.

Abraço!


//Descrição do Algoritmo: Tabuada
//Diferencial: Nesta versão você pode fazer múltiplas consultas usando os laços de repetição
//Autor: Michael Carvalho


programa
{
	
	funcao inicio()
	{
		inteiro contador,limite,resultado,resposta,condicao,retorno
		cadeia validacao
		
		
		contador = 0
		limite = 10
		condicao = 1
		validacao = "válido"


		escreva("Olá! Por favor, informe o número que deseja consultar a tabuada.")
		escreva("\n")
		escreva("Sua resposta: ")
		leia(resposta)


		
		
		faca
		{
			faca
			{
				resultado = resposta * contador
				escreva(resposta + " x " + contador + " = " + resultado + "\n")
				contador++
			}enquanto (contador <= limite)


			contador = 0
			
			escreva("\nDeseja realizar uma nova consulta?\n")
			escreva("1 = Sim \n")
			escreva("0 = Não \n")
			escreva("Sua resposta: ")
			leia(retorno)


			escolha (retorno)
			{
				caso 1:
				condicao = 1
				validacao = "válido"
				escreva("\nÓtimo! Agora informe um novo valor para consulta:\n")
				escreva("Sua resposta: ")
				leia(resposta)
				escreva("\n")
					
				pare
				
				caso 0:
				condicao = 0
				validacao = "válido"
				escreva("\nObrigado por testar meu algoritmo!\n")
				escreva("\nBons estudos! E que a força esteja com você.")
				escreva("\nAtenciosamente, Michael.")
				
				pare


				caso contrario:
				condicao = 1
				validacao = "inválido"
			}
						
			enquanto (validacao == "inválido")
			{
				escreva("\n*******************************************************\n")
				escreva("\nResposta inválida. Digite '1' para 'Sim' ou '0' para 'Não'.\n")
				escreva("Tente novamente: ")
				leia(retorno)


					escolha (retorno)
					{
					caso 1:
					condicao = 1
					validacao = "válido"
					pare
					
					caso 0:
					condicao = 0
					validacao = "válido"
					escreva("\nObrigado por testar meu algoritmo!\n")
					escreva("\nBons estudos! E que a força esteja com você.")
					escreva("\nAtenciosamente, Michael.")
					pare
	
					caso contrario:
					condicao = 1
					validacao = "inválido"
					}
				
			}
		
		}enquanto (condicao > 0)
		
	}
}
0
2

Comentários (1)

0
William silva

William silva

27/06/2021 12:35

		escolha (retorno)
			{
				caso 1:
				condicao = 1
				validacao = "válido"
				escreva("\nÓtimo! Agora informe um novo valor para consulta:\n")
				escreva("Sua resposta: ")
				leia(resposta)
				escreva("\n")
					
				pare
				
				caso 0:
				condicao = 0
				validacao = "válido"
				escreva("\nObrigado por testar meu algoritmo!\n")
				escreva("\nBons estudos! E que a força esteja com você.")
				escreva("\nAtenciosamente, Michael.")
				
				pare


				caso contrario:
				condicao = 1
				validacao = "inválido"
			}

para caso com String voce deve colocar o valor entre aspas " ".


caso "Sim":
<comando a ser execudado...>
pare

caso "Nao":
<comando a ser execudado...>
pare

caso contrario:
<comando a ser execudado...>
pare


None

Brasil