Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vini Ortega

Simplificar o algoritmo

Recommended Posts

Fiz um algoritmo de um exercicio, soh que gostaria que me ajudasse a simplificar e obter o mesmo resultado

 

exercicio

 

criar um programa que calcule e some os 20 primeiros termos da série:

 

100/0 + 99/1 + 98/2 + 97/3 + 96/4 + ......... até os 20 primeiros

 

aih esta o algoritmo.

 

s,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20 : real

n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20 : real

d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,d18,d19,d20 : real

inicio

n2 <- 99

d2 <- 1

s2 <- n2/d2

n3 <- 98

d3 <- 2

s3 <- n3/d3

n4 <- 97

d4 <- 3

s4 <- n4/d4

n5 <- 96

d5 <- 4

s5 <- n5/d5

n6 <- 95

d6 <- 5

s6 <- n6/d6

n7 <- 94

d7 <- 6

s7 <- n7/d7

n8 <- 93

d8 <- 7

s8 <- n8/d8

n9 <- 92

d9 <- 8

s9 <- n9/d9

n10 <- 91

d10 <- 9

s10 <- n10/d10

n11 <- 90

d11 <- 10

s11 <- n11/d11

n12 <- 89

d12 <- 11

s12 <- n12/d12

n13 <- 88

d13 <- 12

s13 <- n13/d13

n14 <- 87

d14 <- 13

s14 <- n14/d14

n15 <- 86

d15 <- 14

s15 <- n15/d15

n16 <- 85

d16 <- 15

s16 <- n16/d16

n17 <- 84

d17 <- 16

s17 <- n17/d17

n18 <- 83

d18 <- 17

s18 <- n18/d18

n19 <- 82

d19 <- 18

s19 <- n19/d19

n20 <- 81

d20 <- 19

s20 <- n20/d20

s <- s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18+s19+s20

 

escreval (s)

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tente usar o comando de repetição FOR (PARA)talvez ajude a criar esse tipo de coisa sem precisar tantas variáveis. Você só precisará declarar a variavel de controle e mais umas duas váriveis. Uma pra receber os valores do user e outra para servir de acumuladora(onde estará seu resultado final)

 

Tenta ai com o FOR e depois diz o que conseguiu,

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Vini Ortega,

 

O algorítimo ficaria basicamente assim:

 

declare valor como 100;
declare incremento como -1;
declare soma como 0;
declare inicio como 1;
declare passos como 20;
declare i;

para cada i com valor inicial igual a inicio faça enquanto i for menor ou igual a passos
	soma = soma + ( valor / i );
	valor = valor + incremento;
	i = i + 1;
fim para

mostra soma;

Compartilhar este post


Link para o post
Compartilhar em outros sites

João não entendi mto bem sua explicação....

 

se voce tiver como postar os codigos que fez roda no visualg ficaria melhor pra mim ou tentar me ajudar o loop nesse algoritmo aki.... soh fiz dakele jeito pq nao consegui fazer pelo loop....

 

var

s: real

cont,n1,n2: inteiro

 

inicio

 

cont <- 0

n1<- 99

n2<- 1

s<- 0.0

 

inicio loop (execute o loop enquanto cont < 20)

 

s <- s + n1/n2

n1 <- n1 - 1

n2 <- n2 + 1

cont <- cont + 1

 

fim loop

 

escreva(s)

fim algoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta algo assim:

Para i de 0 até 19 faça
    soma = soma + (num/i);
    num = num - 1;
Fim_para

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Vini Ortega,

O algorítimo ficaria basicamente assim:

declare valor como 100;
declare incremento como -1;
declare soma como 0;
declare inicio como 1;
declare passos como 20;
declare i;

para cada i com valor inicial igual a inicio faça enquanto i for menor ou igual a passos
	soma = soma + ( valor / i );
	valor = valor + incremento;
	i = i + 1;
fim para

mostra soma;

@Vini Ortega,

O algorítimo ficaria basicamente assim:

declare valor como 100;
declare incremento como -1;
declare soma como 0;
declare inicio como 1;
declare passos como 20;
declare i;

para cada i com valor inicial igual a inicio faça enquanto i for menor ou igual a passos
	soma = soma + ( valor / i );
	valor = valor + incremento;
	i = i + 1;
fim para

mostra soma;

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.