Ir ao conteúdo

Posts recomendados

Postado

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 +...

Postado

@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
Postado

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.

Postado
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
Postado
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 !

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!