aula 130

Dúvida | Como calcular a tabuada várias vezes com limite definido pelo usuário?

Vamos a mais uma dúvida aqui em nosso Curso de Algoritmos e Lógica de Programação? Vamos aprender hoje como calcular a tabuada várias vezes inclusive com limite definido pelo usuário.

Normalmente estamos acostumados com a tabuada de zero a dez, mas, e se desejarmos um limite superior maior, diferente de 10? Bom, basta pedir ao usuário o limite desejado, como feito a seguir.

		inteiro limite

		escreva("Digite o limite desejada: ")
		leia(limite)

Agora que já temos o limite, precisamos pedir ao usuário qual o valor ele deseja calcular a tabuada. Como queremos que esse valor seja maior que zero, precisamos verificar o valor digitado e repetir a leitura caso seja zero ou um valor negativo, como feito a seguir.

			faca{
				escreva("Digite um valor maior que zero: ")
				leia(x)
			}enquanto(x <= 0)

Agora que já temos o limite e o valor cuja tabuada o usuário deseja calcular, basta uma repetição de zero até limite calculando e imprimindo a tabuada na tela, assim:

			para(i = 0; i <= limite; i++){
				escreva(x, " * ", i, " = ", x * i,"\n")
			}

Contudo, o exercício diz que ao final, deve perguntar ao usuário se ele deseja continuar calculando tabuadas. Caso ele digite S (Sim) o processo deve ser repetido. Para fazer isso, basta colocar a leitura do valor e o cálculo da tabuada dentro de uma repetição do tipo faça enquanto (faça enquanto for digitado S), assim:

		faca{
			faca{
				escreva("Digite um valor maior que zero: ")
				leia(x)
			}enquanto(x <= 0)
	
			para(i = 0; i <= limite; i++){
				escreva(x, " * ", i, " = ", x * i,"\n")
			}
	
			escreva("\nDeseja continuar? (S/N)\n")
			leia(opcao)
		}enquanto(opcao == 'S')

Código completo em Portugol para calcular a tabuada

programa{
	
	/*
	 *	Código escrito por Wagner Gaspar
	 *	Maio de 2021
	 *	
	 *	aula 130 - tabuada 
	 *	- Pedir o limite para multiplicação e no lugar do 10
	 *	- Implementar a pergunta "Deseja continuar calculando tabuadas(S/N)?"
	 */
	
	funcao inicio(){
		inteiro x, i, limite
		caracter opcao

		escreva("Digite o limite desejada: ")
		leia(limite)

		faca{
			faca{
				escreva("Digite um valor maior que zero: ")
				leia(x)
			}enquanto(x <= 0)
	
			para(i = 0; i <= limite; i++){
				escreva(x, " * ", i, " = ", x * i,"\n")
			}
	
			escreva("\nDeseja continuar? (S/N)\n")
			leia(opcao)
		}enquanto(opcao == 'S')
	}
}

Deixe um comentário

5 + oito =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.