Ir ao conteúdo
  • Cadastre-se

Outro Preciso de uma super força com FORTRAN


Posts recomendados

Boa tarde pessoal, preciso fazer esse programa em FORTRAN, estou me batendo muito, não achei nada parecido em FORTRAN, se alguém conseguir me ajudar, ficarei grato. (Sim meu professor de programação usa fortran.)

 

Utilizando o comando DO, escreva um programa que calcule e apresente a soma dos 50 primeiros termos das seguinte série: S = 1000/1 - 997/2 + 994/3 - 991/4 +...

Link para o comentário
Compartilhar em outros sites

@Chefeloko

PROGRAM First
    IMPLICIT NONE
    INTEGER :: cont
    REAL :: soma = 0
    REAL :: sinal = 1
    REAL :: subtr = 0
    DO cont = 1, 50, 1
        soma = soma + (((1000 - subtr) * sinal) / cont)
        subtr = subtr + 3
        sinal = sinal * (-1)
    END DO
    PRINT *, soma
END PROGRAM First

Os 4 primeiros elementos: 1000.00000 -498.500000 331.333344 -247.750000 e a soma dos 4: 585.083374

 

Nunca havia tentado programar em Fortran, mas não parece muito difícil, foi uma boa experiência.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Nossa, muito obrigado ! Eu tenho dificuldade na parte lógica, meu professor passou 1 aula de lógica (mal e porcamente). Uma dúvida, no DO 1,50,1 , qual a função do 2° 1 ? Se não for pedir muito, tem uma 2 parte do exercício.

 

Durante o processamento da soma S, extraia e apresente o resultado intermediário quando o somatório chegar no termo número 33.

Link para o comentário
Compartilhar em outros sites

50 minutos atrás, Chefeloko disse:

Nossa, muito obrigado ! Eu tenho dificuldade na parte lógica, meu professor passou 1 aula de lógica (mal e porcamente). Uma dúvida, no DO 1,50,1 , qual a função do 2° 1 ? Se não for pedir muito, tem uma 2 parte do exercício.

 

Durante o processamento da soma S, extraia e apresente o resultado intermediário quando o somatório chegar no termo número 33.

O segundo 1 é o incremento, se fosse dois o contador seria 1, 3, 5, etc.

 

PROGRAM Second
    IMPLICIT NONE
    INTEGER :: cont
    REAL :: S = 0
    REAL :: sinal = 1
    REAL :: subtr = 0
    DO cont = 1, 50, 1
        S = S + (((1000 - subtr) * sinal) / cont)
        IF (cont == 33) THEN
            PRINT *, 'Termo 33:  ', S
        END IF
        subtr = subtr + 3
        sinal = sinal * (-1)
    END DO
    PRINT *, 'Soma Total:', S
END PROGRAM Second

 

No primeiro programa mude soma para S para ficar como no enunciado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

3 horas atrás, JorgeGus disse:

O segundo 1 é o incremento, se fosse dois o contador seria 1, 3, 5, etc.

 

PROGRAM Second
    IMPLICIT NONE
    INTEGER :: cont
    REAL :: S = 0
    REAL :: sinal = 1
    REAL :: subtr = 0
    DO cont = 1, 50, 1
        S = S + (((1000 - subtr) * sinal) / cont)
        IF (cont == 33) THEN
            PRINT *, 'Termo 33:  ', S
        END IF
        subtr = subtr + 3
        sinal = sinal * (-1)
    END DO
    PRINT *, 'Soma Total:', S
END PROGRAM Second

 

No primeiro programa mude soma para S para ficar como no enunciado.

Caramba, muito obrigado de vdd !

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!