Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal to com um exercicil aqui q ja esta respondindo ñ sei si ta certo gostaria de saber qual é a logica desse exercicio é assim: Ler o número de termos da série (N) e imprimir o valor de S, sendo
s = 1/n + 2/n-1+3/n-2+...+n-1/2+n
a resposta ta assim
var
n : inteiro
s :real
inicio
escreva("entre com o valor de n: ")
leia (n)
s := 1/n + (2/(n-1)) + (3/(n-2)) + ((n-1)/2) + n
escreval ("o valor de s = ",s)
fimalgoritmo
e como eu poderia resouvelo se possivel você me dar o comoçe dele e uma ideia de como dar seguimento eu agradeço
Cara ..e ssa última fração está certo mesmo ? pq euacho que n... pois não tem uma sequência lógica se ele for assim mesmo...
eu consegui fazer um algoritmo para somar n números desse seqüencia ai até o 3/n-2+... ou seja.. com esse algoritmo..só bastaria você saber o n. mas como a ultima fração ai é completamente diferente.. eu achei estranho.
tem que ver até quanto ele quer repetir... por isso que ele colocou
+...+n-1/2+n
pela dica de Raphael_Suporte entedi q tem q criar um laço
preferencia para,mas ainda ñ entendo esse algoritmo
>
tem que ver até quanto ele quer repetir... por isso que ele colocou
+...+n-1/2+n
han?
mas essa não seria a "formula" da seqüencia..
veja só..
se no caso... n fosse 5,no divisor (parte de baixo) teria mos o seguinte:
tomando como base que a ultima equação esteja correta (n-1/2+n)
5 4 3 2 1 0 1 2 3 4 5 6 7
como você podem ver...se a formula estivesse certa...em uma determinada hora,teria que ter uma divisão por 0..o que matematicamente não é possível.
por isso achei que esse ultima equação está errada...
então, algoritmo está certo?
>
han?
mas essa não seria a "formula" da seqüencia..
sim, porem a formula está faltando uma Parte que é o que indica que vai até algum lugar
tipo
i = n 1 + n 2... n * n
eu estou querendo multiplicar n até qye chegue ao valor de, porem eu ainda não eu vou entrar com um valor qualquer... é a mesma coisa em cima...
ele colocou o progresso, mais qual é a condição de saída da formula?
até onde irei dividir e somar o numero??
observem esse exercicio
Dada a formula : H = 1 + 1/2! + 1/3! + 1/4! + .... + 1/N! .
Construa um algoritmo que calcule o número H . dado o numero inteiro N.
var
h, n, FatParc: real
cont, cont1 : inteiro
inicio
escreva('Informe o valor de n: ')
leia(n)
h := 0
para cont de 1 ate n faca
FatParc := 1
para cont1 de 1 ate cont faca
FatParc := FatParc * contl
fimpara
h := h + 1 / FatParc
fimpara
fimalgoritmoseria a mesma forma de resouver
Pessoas, falta um pouco de interpretação aí...
Não é (n-1)/(2+n)
[cite]1/n + (2/(n-1)) + (3/(n-2)) + ((n-1)/2) + n[/cite]
O final da série é n/1.
n = 1 => 1
n = 2 => 1/2 + 2/1
n = 3 => 1/3 + 2/2 + 3/1
n = 4 => 1/4 + 2/3 + 3/2 + 4/1
n = 5 => 1/5 + 2/4 + 3/3 + 4/2 + 5/1
....sim, porem a formula está faltando uma Parte que é o que indica que vai até algum lugar
foi o que eu quis dizer amigo.. essa ultima fração não está batendo bem...
o algoritimo eu sei fazer.. mas só que a ultima fração é que tá lascando...
mas eu consegui fazer. veja bem:
Código:
Var
Real N,S;
Inteiro i;
Inicio
Escreva( Digite o valor de n);
Leia (n);
S=1/N;
Para (i=1, i<N, i++) Faça
S=S+i+1/(n-1);
Escreva ( a Soma é ,S);
Fim;
Antes de mais nada acompanhe o raciocínio...
para N=5 Temos o seguinte:
S=1/N;
aqui o algoritmo define que antes de qualquer coisa.. a soma receberá o valor de 1/n.Só depois ele entrará no laço.
Para (i=1, i<N, i++) Faça
nessa parte é o laço propriamente dito. o que ele está dizendo ai e o seguinte: o "i" começará do valor 1 e irá até a o ultimo valor antes de N. pois assim satisfaria a condição da ultima fração (n-1) parte de cima.E vai incrementando de um em um.
S=S+i+1/(n-1);
nessa parte que é é feita a operação...
vejam bem ..até agora temosque o N=5 e o S=1/5 (primeira fração da soma) e que i=1 logo..
S=1/5+1+1/(5-1)
S=1/5+2/4
ou seja..temos a primeira fração mais a segunda fração .Isso na primeira execução do laço... na segunda temos i=2 e temos o seguinte.
S=tudo o que tem acima(fração1+fração2) + 2+1/(5-2)
e assim por diante.....
e esse laço será repetido até que N seja igual a 4.já que a condição da ultima fração diz que o dividendo tem que ser o valor de N-1.
espero ter ajudado...
vejam bem ..até agora temosque o N=5 e o S=1/5 (primeira fração da soma) e que i=1 logo..
S=1/5+1+1/(5-1)
S=1/5+2/4
De onde você tirou que 1+1/4 = 2/4???
N = 4 :: (Resultado da sequencia: 77/12)
S = 1/4
(i=3) => S = 1/4 + 1 + 1/3 + 2 + 1/3 + 3 + 1/3 = 29/4
Teu codigo nao funciona.
S := 1/N;
J := N-1;
FOR I:=2 TO N DO
BEGIN
S := S + I/J;
J := J - 1;
END;agora q complicou tudo
Tá...realmente, dessa forma está errado mesmo..fiz as preças pois tinha que sair.. mas ó..o seu tb não está certo..pois ele incluiria o N.....e isso não é pra acontecer... se colocar a soma da fração de cima em uma variável aux dá certo..veja ...
Var
Real N,S,aux1,aux2;
Inteiro i;
Inicio
Escreva( Digite o valor de n);
Leia (n);
S=1/N;
Para (i=1, i<N, i++) Faça
aux1=i+1
aux2=n-i
S=S+aux/aux2;
Escreva ( a Soma é ,S);
Fim;
para N=4 i=1
S=1/4+2/3
para N=4 i=2
S=1/4+2/3+3/2
para N=4 i=3
S=1/4+2/3+3/2+4/1
S=77/12
Esse funciona!! ..
Mas a sequencia inclui o N:
s = 1/n + 2/n-1+3/n-2+...+n-1/2+n <= não existe parênteses no denominador (é diferente de (n-1)/(2+n))
A seqüência é 1/n + 2/(n-1) + 3/(n-2) + ... + (n-1)/2 + n/1 (Consegue ver o padrão nisso? Se não existir padrão,não se consegue escrever um algoritmo)
Fazendo de 1 ate 4:
N = 1 => 1
N = 2 => 2,5
N = 3 => 1/3 + 2/2 + 3/1 = 1/3+ 4 = 4.3333333
N = 4 => 1/4 + 2/3 +3/2 + 4 = 0.25 + 0.666666+ 1.5 + 4 = 6.416666
Reescrevendo meu código em C:
#include <stdio.h>
int main() {
int N = 4;
float S;
int i,j,k;
printf("Avaliando de 1 ate %d\n",N);
for(k=1;k<=N;k++) {
printf("Atual:%d\t",k);
j = k-1;
S = 1/(float)k;
for(i=2;i<=k;i++) {
S = S + i/(float)j;
j--;
}
printf("%f\n",S);
}
}
Executando o código:
ib03@talisker:~/src\:./a.out Avaliando de 1 ate 4
Atual:1 1.000000
Atual:2 2.500000
Atual:3 4.333333
Atual:4 6.416667
e maluco o que eu perdi?? to viajando já!! cara tem algo errado, não é para ir mostrando e sim mostra no final..
Mas a sequencia inclui o N:
em cima não ... pois termina com n-1 . mas se for para colocar o n é só fazer isso:
Var
Real N,S,aux1,aux2;
Inteiro i;
Inicio
Escreva( Digite o valor de n);
Leia (n);
S=1/N;
Para (i=1, i<=N, i++) Faça
aux1=i+1
aux2=n-i
S=S+aux/aux2;
Escreva ( a Soma é ,S);
Fim;
Pronto! problema resolvido..pois além de incluir o n ( coisa que eu acho que não precisa pois termina com n-1(numerador)) ele ( o algoritmo) tb só imprime o resultado final.pois além de incluir o n ( coisa que eu acho que não precisa pois termina com n-1(numerador))
Criatura,olhe a sequencia que o cara postou:
pessoal to com um exercicil aqui q ja esta respondindo ñ sei si ta certo gostaria de saber qual é a logica desse exercicio é assim: Ler o número de termos da série (N) e imprimir o valor de S, sendos = 1/n + 2/n-1+3/n-2+...+n-1/2+n
Ela inclui,sim, o N como um inteiro (N / 1).Logo,NÃO termina com n-1 no numerador.
cara tem algo errado, não é para ir mostrando e sim mostra no final..
só tirar os printf do meio e colocar no final. So coloquei pra mostrar q essa bagaca de algoritmo ta certa.
cara... eu estou falando é aqui :
n-1/2+n
!
e não em : n-1/2+n
se o n for 4 ele terminará com 3 em cima.. eu digo o valor final
mas o algoritmo funciona sim... postei os dois jeito .. com e sem o n.
pq pelo quie eu entendi ele seria algo assim
for (i = 1; i = n; i++){
s = s + i/n-(i-1)
}
e depois fazer ao contrario
for (i = 1; i = n; i++){
s = s + n-(i-1)/i
}
ele vai até um ponto depois ele repete o com a fração invertidao problema é que se i for igual a n no numerador, a ultima fração não seria satisfeita.
ex:
n=4
i=4
pela sua formula ficaria :
S= ...+ 4/4 - ( 4 - 1 )
S=... + 4/4-3
S =... +4/1
ou seja é diferente de n-1/2+n onde no caso de n=4 ficaria 4-1/2+4 (3/6)
>
o problema é que se i for igual a n no numerador, a ultima fração não seria satisfeita.
ex:
n=4
i=4
pela sua formula ficaria :
S= ...+ 4/4 - ( 4 - 1 )
S=... + 4/4-3
S =... +4/1
ou seja é diferente de n-1/2+n onde no caso de n=4 ficaria 4-1/2+4 (3/6)
mas olhe a sequencia da fração
1/n + 2/n-1... ou seja quando incrementar o numerador, é subtraido do n, -1 dele( -1 quando 2,-2 quando 3 ,e assim vai), bom e ate onde vi ele começa com 1/n que invertido é n/1 ou simplesmente n o que minha seqüência tb faria
(1/n) + (2/n-1) + (3/n-2 )+...+(n-1/2) + n então não estaria errado
(1/n) + (2/n-1) + (3/n-2 )+...+(n-1/2) + n
nesse code que você colocou ,na ultima fração está dizendo o seguinte
que você vai pegar o n-1 , dividir por 2 e só depois somar com n .pois matematicamente se faz primeiro o que está entre parênteses ..
é isso mesmo ?
outra você tem certeza que a ultima fração é n-1/2+n ?
cara... eu estou falando é aqui :
n-1/2+n
e não em : n-1/2+n
se o n for 4 ele terminará com 3 em cima.. eu digo o valor final
mas o algoritmo funciona sim... postei os dois jeito .. com e sem o n.
ou seja é diferente de n-1/2+n onde no caso de n=4 ficaria 4-1/2+4 (3/6)
você matava as aulas de matemática??? N É NUMERADOR!!! A fração N/1 = N FAZ PARTE da seqüência.
Teu primeiro algoritmo depois do 1+1/4 = 2/4 inclui o N sim.Vou ter que fazer teste de mesa no fórum?
S=1/N;
Para (i=1, i<N, i++) Faça
aux1=i+1
aux2=n-i
S=S+aux/aux2
N = 3
>> S = 1/3
>> i = 1 : aux1 = 2 , aux2 = 2 , S = 1/3 + 2/2
>> i = 2 : aux1 = 3 , aux2 = 1 , S = 1/3 + 2/2 + **3/1** (Olha aqui o N que você diz que não inclui => A sequencia termina em N e você NAO TEM QUE DAR VALOR DE NADA)
j = N-1;
S = 1/(float)N;
for(i=2;i<=N;i++) {
S = S + i/(float)j;
j--;
}
N = 3
>> j = 2;
>> S = 1/3
>> i = 2: S = 1/3 + 2/2 , j = 1
>> i = 3: S = 1/3 + 2/2 + **3/1**
outra você tem certeza que a ultima fração é n-1/2+n ?
A última fração não é (n-1)/(2+n).É n/1.
Pra quem não tá entendendo chondas do que tá escrito:
http://www.homeschoolmath.net/teaching/rat...s-countable.php
Sigam as diagonais p/ a esquerda a partir da primeira linha (1/N). Essa coisa aí é a serie que o cara postou.
bom certo creio q naum esta pq esses '...' mostram q tem um intervalo de operações!
[]'s