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')
}
}
