Escrever um algoritmo que lê o valor do primeiro termo, o valor da razão de
uma P.A. (progressão aritmética) e o número de ordem (n) , calcula e escreve o
valor do n-ésimo termo dessa p.a. Dados: an = primeiro + (n -1 ) * razao.
Escrever um algoritmo que lê o valor do primeiro termo, o valor da razão de
uma P.G. (progressão geométrica) e o número de ordem (n) , calcula e escreve
o valor do n-ésimo termo dessa p.g. Dados: an = primeiro * razao ^ (n – 1).
Como eu programo seguindo as seguintes expressões das questões?
A primeira vc pode escrever no código exatamente como esta ali:
// Declare as variáveis antes só pra ficar mais fácil
int primeiro, razao, n, an;
/* Aqui é onde vc vai dar um jeito de ler os valores
pra preencher as variáveis acima. Dê uma olhada
em como usar a classe Scanner. */
an = primeiro + ( n - 1 ) * razao;
A classe Scanner
é a que vai usar para pegar os dados que o usuário inserir através do teclado. Mas, para fins de testes, vc poderia inserir estes valores manualmente só pra ver funcionando.
A dificuldade maior pode ficar por conta da segunda que envolve potência. Para te ajudar existe a classe Math
que tem vários métodos estáticos (veja mais aqui) pra realizar este tipo de operações. Ficaria assim a expressão:
double an = primeiro * Math.pow( razao, (n - 1) );
// repare no detalhe que a variável an passou a ser do tipo double
A primeira questão, pode ser feita dessa forma?
import javax.swing.JOptionPane;
public class Ex6 {
public static void main(String args []){
int inicial=1,
razao=2,
an=inicial,
n=10;
System.out.printf("Elementos da PA, de valor inicial 1 e razão 2, menores que 10", inicial, razao, n );
while(an<=(n-1)*2){
System.out.println(an);
an += razao;
}
}
}
Você pode demonstrar a primeira se estiver errado e a segunda como iria ficar? por favor?
Não sei se entendi direito, mas a expressão:
an = primeiro + ( n - 1 ) * razao;
Já lhe retorna o enésio termo.