Ir para conteúdo
Fórum Script Brasil
  • 0

Fortran


VitorFR

Pergunta

Olá pessoal, tudo bem .. estou com 2 exercicios de Fortran, porém estou com muitas duvidas...o primeiro é esse:

Escrever um programa em Linguagem Fortran capaz de armazenar nomes 70 de alunos com até 30 caracteres cada um e uma nota para cada aluno na memória do computador. Ao final deverá ser mostrada na tela, uma lista com nomes e notas( o nome e a nota devem estar na mesma linha), em ordem alfabética de nomes.

esse programa eu já fiz, porém não estou conseguindo colocar os nomes em ordem alfabetica..

e o outro exercicio q é esse:

Escrever um programa em Linguagem Fortran capaz de armazenar 48 numeros inteiros em uma matriz de 8 linhas por 6 colunas e outros 48 números reais em uma matriz de 6 linhas por 8 colunas. O programa deverá calcular o produto da segunda matriz pela primeira e mostrar as 3 matrizes devidamente identificadas na tela.

esse programa eu não estou conseguindo multiplicar as matrizes...

se alguém puder me ajudar.. Deus abençoeee abraços..

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
vai encontrar exemplos nesse link

http://www.dsc.ufcg.edu.br/~icc/Periodo-20...K-Capitulo4.htm

abraço

po amigo obrigado pela ajuda.. mas so que esse link não mostra como eu coloco em ordem alfabetica... se você puder me ajudar.. olha como eu fiz.. tau utilizando estrutra de controle..e so gostaria de saber como eu coloco em ordem alfabetica os nomes...

Program aluno

real,dimension(5):: notas

character(len=30),dimension(5)::nome

integer:: i,j

real:: aux_notas

character(len=30):: aux_nome

do i = 1,5

print *, " Digite o nome: "

read(*,FMT = "(A30)") nome(i)

print *, " Digite a nota:"

read(*,*) notas(i)

enddo

do i = 1,5

print *,nome(i), notas(i)

enddo

do i = 1,4

do j = i+1,5

if (notas(i)> notas(j)) then

aux_notas = notas(j)

notas(j) = notas(i)

notas(i) = aux_notas

aux_nome = nome(j)

nome(j) = nome(i)

nome(i) = aux_nome

end if

enddo

enddo

do i = 1,5

write(*,FMT = "(A30,f4.1)") nome(i),notas(i)

enddo

endprogram

abraços fica com Deus

Link para o comentário
Compartilhar em outros sites

  • 0

não tenho o fortran instalado aqui, mas vou te passar uma rotina em pascal e que voce pode converter para o fortran

Ordenar alfabeticamente

var
  NOME : array[1..10] of string; I, J: integer; X : string;
begin

  writeln('Listagem de nomes');
  writeln;

  { *** Entrada dos Dados *** }
  for I := 1 to 10 do
  begin
    write('Digite o ', I:2, ' o. nome: ');
    readln(NOME[I]);
  end;

  { *** Ordenação dos Nomes *** }
  for I := 1 to 9 do
    for J := I +1 to 10 do
       if (NOME[I] > NOME[J]) then
          begin
             X := NOME[I];
             NOME[I] := NOME[J];
             NOME[J] := X;
          end;

  { *** Apresentação dos Nomes *** }
  writeln;
  for I := 1 to 10 do
    writeln('Nome: ' , I:2, ' --> ', NOME[I]);
  writeln;
  writeln('Tecle <ENTER> para encerrar: ');
  readln;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
não tenho o fortran instalado aqui, mas vou te passar uma rotina em pascal e que voce pode converter para o fortran

Ordenar alfabeticamente

var
  NOME : array[1..10] of string; I, J: integer; X : string;
begin

  writeln('Listagem de nomes');
  writeln;

  { *** Entrada dos Dados *** }
  for I := 1 to 10 do
  begin
    write('Digite o ', I:2, ' o. nome: ');
    readln(NOME[I]);
  end;

  { *** Ordenação dos Nomes *** }
  for I := 1 to 9 do
    for J := I +1 to 10 do
       if (NOME[I] > NOME[J]) then
          begin
             X := NOME[I];
             NOME[I] := NOME[J];
             NOME[J] := X;
          end;

  { *** Apresentação dos Nomes *** }
  writeln;
  for I := 1 to 10 do
    writeln('Nome: ' , I:2, ' --> ', NOME[I]);
  writeln;
  writeln('Tecle <ENTER> para encerrar: ');
  readln;

abraço

Obrigado amigooo.. mas eu sou iniciante em fortran.. mas para min converter em Fortran é complicado.. você não teria como me da uma ajuda não? porque o professor na faculdade.. não explico como coloca em ordem alfabetica.. e todos os foruns que pedi ajuda.. o pessoal me ajudo em delphi, pascal, e etc.. você não tem como me ajuda a criar em Fortran?

Link para o comentário
Compartilhar em outros sites

  • 0
leia a apostila e substitua os comandos necessarios

exemplo

Pascal

NOME : array[1..10] of string;
I, J: integer; 
X : string;
Fortran
dimension Nome(10)
integer i,j
character*30 X

o resto é com voce ... ok ?

abraço

Amigo surgiu outra dúvida em outro exercicio.. aquele outro exercicio eu resolvi obrigado.. agora minha duvida é em outro relacionado a matrizes.. eu fiz a matriz multiplicaçao e gostaria de saber porque a matriz B.. do meu exercicio ele não ta na matriz 6 x 8.. na hora de compilar aparece ela como 16 x 5.. ta a estrutura abaixo:

!Escrever um programa em Linguagem Fortran capaz de armazenar 48 numeros inteiros em uma matriz de 8 linhas por 6 colunas e outros 48 números reais em uma matriz de 6 linhas por 8 colunas. O programa deverá calcular o produto da segunda matriz pela primeira e mostrar as 3 matrizes devidamente identificadas na tela.

Program multiplicacao_de_matrizes

integer,dimension(8,6):: M1

real,dimension(6,8):: M2

integer,dimension(3,3):: M3

integer:: i,j

! Valores de entrada da matriz A

do i =1,8

do j =1,6

print *, "Digite o valor da Matriz A", i,j

read(*,*) M1(i,j)

enddo

enddo

print*,"matriz A"

print *, "=============="

do i = 1,8

print *, (M1(i,j), j=1,6)

enddo

!valores de entrada da matriz B

do i = 1,6

do j = 1,8

print *, " Digite o valor da Matriz B", i,j

read(*,*) M2(i,j)

enddo

enddo

print *, "Matriz B"

print *, "=============="

do i = 1,6

print *, (M2(i,j), j =1,8)

enddo

!multiplicacao das matrizes

do i = 1,3

do j = 1,3

M3(i,j) = M2(i,j) * M1(j,i)

enddo

enddo

!ordenaçao da matriz resposta

print *, "matriz resposta"

print*, "========="

do i = 1,3

print *, (M3(i,j), j = 1,3)

enddo

endprogram

puder me ajudar em relaçao a esse erro obrigadoo..

Editado por VitorFR
Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigos, preciso de ajuda urgente pois meu TCC é com Fortran 90 mas não consigo um compilador e editor de texto, eu pretendo por interface gráfica mas as ferramentas que conseguir são muito fracas, Alguém conseguiria me orientar que programa usar e tudo mais? Posso pagar pela ajuda!

meu e-mail: nameisjunior@hotmail.com

Abração!

Link para o comentário
Compartilhar em outros sites

  • 0

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...