Help!! programar em fortran 90..alguma alma caridosa m acuda

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Help!! programar em fortran 90..alguma alma caridosa m acuda

Mensagempor bintoito » Quarta Set 15, 2004 17:57

Boas
Eu sei que este tópico seria em "programação", mas aqui será visto provavelmente por + pessoal.
é o seguinte: tenho exame 6ª de fortran90 (compaq visual fortran) e precisava de fazer um programa pra practicar que já saiu noutro exame..
então é assim, o que fiz até agora é:

program exercicio
implicit none
integer::N
real, dimension(5)::taxarecobri, capacidade, areaespecifica &
quantadsorvida, p, media1, media2, media3
real, parameter:: k=7.16
real, parameter:: avog=6.02e23
real, parameter:: nmetalico=1.54e19
integer, parameter:: nniquel=2
call leitura(N, p, quantadsorvida)
call calculo(N, p, quantadsorvida, capacidade, k, avog, nniquel &
nmetalico, taxarecobri, areaespecifica)
media1(N)=taxarecobri(N)/5
media2(N)=capacidade(N)/5
media3(N)=areaespecifica(N)/5
write(*,*)media1, media2, media3
stop
endprogram


subroutine leitura(N, p, quantadsorvida)
implicit none
integer, dimension(5)::N
real, dimension(5)::p, quantadsorvida
open(unit=1, file='dados.txt', status=unknown)
do N=1,5
read(1,*) p(N), quantadsorvida(N)
end do
return
endsubroutine


subroutine calculo(N, p, quantadsorvida, capacidade, k, avog, nniquel &
nmetalico, taxarecobri, areaespecifica)
implicit none
integer, dimension(5)::N, nniquel
real, dimension(5)::p, quantadsorvida, capacidade, k, avog, nniquel &
nmetalico, taxarecobri, areaespecifica)
do N=1,5
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
capacidade(N)=taxarecobri(N)*quantadsorvida(N)
areaespecifica(N)=(capacidade(N)*avog*nniquel)/nmetalico
end do
return
endsubroutine

e isto dá-me logo 30 erros, supondo eu que 30 é o máx que ele permite por cada compilação.

O que eles kerem é basicamente, um prog principal pra abrir duas subrotinas, uma pra ler um ficheiro de dados, e outra pra calcular as coisas todas. no prog principal é tratar disso td, e fazer só as medias dos resultados obtidos na subrotina calculo.
Alguém que me ajude, please...já perdi as conta ás x´s que já chumbei a esta cadeira do 1º ano, e francamente já nem posso vêr isto à frente.
Abraço e obrigado desde já
Queria mandar um attachment que era o enunciado do prob. mas n tou a ver aki nenhiuma opção para isso...[/img]
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Mensagempor Mr_coelho » Quarta Set 15, 2004 18:17

axo k nao é por ser visto por mais ppl k o deves por aki

senao colocavamos tds os topicos aki :?
Avatar do Utilizador
Mr_coelho
Membro de Ouro
Membro de Ouro
 
Mensagens: 763
Registado: Terça Set 09, 2003 19:00
Localização: Portugal

Mensagempor Stu3s » Quarta Set 15, 2004 19:04

Tópico movido
Stu3s
Moderador
Moderador
 
Mensagens: 1558
Registado: Quarta Set 11, 2002 17:58
Localização: aveiro

Mensagempor ig37055 » Quarta Set 15, 2004 19:59

n podias ser mais especifico nos erros k da? nunca dei essa linguagem mas pela experiencia k tenho basta por exemplo faltar um parentesis algures no inicio para o resto do codigo tar todo com erro.

saudações
LG LW65 Express with Ubuntu 7.10

http://desciclo.pedia.ws/wiki/Chuck_norris
ig37055
Membro de Ouro
Membro de Ouro
 
Mensagens: 738
Registado: Terça Mar 02, 2004 21:44
Localização: Porto

Mensagempor bintoito » Quarta Set 15, 2004 20:57

Eh pah..isto erros não faltam por aqui:

Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(4) : Error: Syntax error, found '&' when expecting one of: ( * , <END-OF-STATEMENT> ; [ / = =>
real, dimension(5)::taxarecobri, capacidade, areaespecifica &
--------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(5) : Error: Syntax error, found ',' when expecting one of: ( : % . = =>
quantadsorvida, p, media1, media2, media3
----------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(11) : Error: Syntax error, found '&' when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. ...
call calculo(N, p, quantadsorvida, capacidade, k, avog, nniquel &
------------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(12) : Error: Syntax error, found ',' when expecting one of: ( : % . = =>
nmetalico, taxarecobri, areaespecifica)
-----------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(12) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>
nmetalico, taxarecobri, areaespecifica)
-----------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(13) : Error: This name has not been declared as an array. [MEDIA1]
media1(N)=taxarecobri(N)/5
--------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(13) : Error: This name does not have a type, and must have an explicit type. [TAXARECOBRI]
media1(N)=taxarecobri(N)/5
------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(14) : Error: This name has not been declared as an array. [MEDIA2]
media2(N)=capacidade(N)/5
--------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(14) : Error: This name does not have a type, and must have an explicit type. [CAPACIDADE]
media2(N)=capacidade(N)/5
------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(15) : Error: This name has not been declared as an array. [MEDIA3]
media3(N)=areaespecifica(N)/5
--------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(15) : Error: This name does not have a type, and must have an explicit type. [AREAESPECIFICA]
media3(N)=areaespecifica(N)/5
------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(25) : Error: This name does not have a type, and must have an explicit type. [UNKNOWN]
open(unit=1, file='dados.txt', status=unknown)
----------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(25) : Error: A CHARACTER data type is required in this context. [STATUS]
open(unit=1, file='dados.txt', status=unknown)
---------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(26) : Error: An array name is invalid in this context. [N]
do N=1,5
-------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(33) : Error: Syntax error, found '&' when expecting one of: ( , <END-OF-STATEMENT> ; <IDENTIFIER> ) [ /
subroutine calculo(N, p, quantadsorvida, capacidade, k, avog, nniquel &
------------------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(34) : Error: Syntax error, found ',' when expecting one of: ( : % . = =>
nmetalico, taxarecobri, areaespecifica)
-----------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(34) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>
nmetalico, taxarecobri, areaespecifica)
-----------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(37) : Error: Syntax error, found '&' when expecting one of: ( * , <END-OF-STATEMENT> ; [ / = =>
real, dimension(5)::p, quantadsorvida, capacidade, k, avog, nniquel &
----------------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(38) : Error: Syntax error, found ',' when expecting one of: ( : % . = =>
nmetalico, taxarecobri, areaespecifica)
-----------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(38) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>
nmetalico, taxarecobri, areaespecifica)
-----------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(40) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: , )
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
-------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(39) : Error: An array name is invalid in this context. [N]
do N=1,5
-------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(40) : Error: This name has not been declared as an array. [TAXARECOBRI]
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
--------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(40) : Error: This name does not have a type, and must have an explicit type. [K]
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
-----------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(40) : Error: This name does not have a type, and must have an explicit type. [P]
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
-------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(40) : Warning: This argument's data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL.
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(40) : Error: This name does not have a type, and must have an explicit type. [SQRT]
taxarecobri(N)=(sqrt(k*p(N)))/(1+(sqrt(k*p(N)))
------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(41) : Error: This name has not been declared as an array. [CAPACIDADE]
capacidade(N)=taxarecobri(N)*quantadsorvida(N)
--------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(41) : Error: This name does not have a type, and must have an explicit type. [QUANTADSORVIDA]
capacidade(N)=taxarecobri(N)*quantadsorvida(N)
-------------------------------------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(42) : Error: This name has not been declared as an array. [AREAESPECIFICA]
areaespecifica(N)=(capacidade(N)*avog*nniquel)/nmetalico
--------^
C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(42) : Error: This name does not have a type, and must have an explicit type. [AVOG]
areaespecifica(N)=(capacidade(N)*avog*nniquel)/nmetalico
-----------------------------------------^
(48) : Severe: Too many errors, exiting
Error executing df.exe.

exameee.obj - 30 error(s), 1 warning(s)

ps: desculpem têr posto o post no sitio errado, mas foi mesmo por causa da urgência da coisa:)
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Mensagempor ig37055 » Quarta Set 15, 2004 21:27

realmente isso são mtos erros 8)

eu nunca peguei nessa linguagem mas s fosse a ti o k eu fazia era:
-primeiro estudava mais um pouco a linguagem não me parece nada dificil :twisted:
-depois tentava resolver o primeiro erro. :wink: é um erro de sintaxte portanto deve ser facil. a partir dai e com calma vais ver como os resolves todos. reparei tambem k parece k usas variaveis sem primeiro as declarar com um tipo. vê lá isso bem

saudações
LG LW65 Express with Ubuntu 7.10

http://desciclo.pedia.ws/wiki/Chuck_norris
ig37055
Membro de Ouro
Membro de Ouro
 
Mensagens: 738
Registado: Terça Mar 02, 2004 21:44
Localização: Porto

Mensagempor bintoito » Quarta Set 15, 2004 21:34

ok, vou tentar "from the top".
a questão é que eu não sou de info. e a sebenta do prof não vale mer**
agora ir perder-me em calhamaços já com décadas de pó em cima tb não me irá resolver muito, visto já não têr tempo para isso.
mas dpx digo qqr coisa
Thx
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Mensagempor ig37055 » Quarta Set 15, 2004 21:37

procura na net rapaz! é o k eu faço smp. olha aki por exemplo: http://gershwin.ens.fr/vdaniel/Doc-Loca ... /Tutorial/
LG LW65 Express with Ubuntu 7.10

http://desciclo.pedia.ws/wiki/Chuck_norris
ig37055
Membro de Ouro
Membro de Ouro
 
Mensagens: 738
Registado: Terça Mar 02, 2004 21:44
Localização: Porto

Mensagempor bintoito » Quarta Set 15, 2004 21:48

eh lahh, já reduzi pra quinze erros eheheh
simplesmente por ter tirado akeles & que juçguei que se tinham de pôr qndo se mudava de linha..
ig37055, akilo é +- o que anda na minha sebenta, apesar de ser 77..há algumas difs de 77 pra 90 mas vou continuar a ver.
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Mensagempor bintoito » Quarta Set 15, 2004 22:07

eh pah...já consegui reduzir pra dois erros, mas acho que já não consigo passar daki :(
é quando inicio um ciclo do
do N=1,5
diz-me: C:\Program Files\Microsoft Visual Studio\Common\MSDEV98\My Projects\exameee.for(26) : Error: An array name is invalid in this context. [N]
do N=1,5

e isto para os dois ciclos do que tenho..anyone?! please?!
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Mensagempor ig37055 » Quarta Set 15, 2004 22:16

v s declaras bem o array ou inicializas bem o ciclo. v tb s é 1,5 ou 1.5
LG LW65 Express with Ubuntu 7.10

http://desciclo.pedia.ws/wiki/Chuck_norris
ig37055
Membro de Ouro
Membro de Ouro
 
Mensagens: 738
Registado: Terça Mar 02, 2004 21:44
Localização: Porto

Mensagempor bintoito » Quarta Set 15, 2004 22:21

não o que do n=1, 5 é que é pra ele fazer o n, 5 vezes, isto é de 1 até 5.
valores esses que irá buscar a um file dados.txt do tipo
xxxxx yyyyy
xxxxx yyyyy
xxxxx yyyyy
xxxxx yyyyy
xxxxx yyyyy
valores diferentes
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Mensagempor Tretabyte » Quarta Set 15, 2004 23:45

Boas,
sem duvida fortran nao é das minhas linguagens de programacao adoradas... mas para te "obrigarem" a teres que mamar com isso deves de ser de um curso de matematica ou fisica.

sem mais
Tretabyte
Avatar do Utilizador
Tretabyte
Gurus
Gurus
 
Mensagens: 5333
Registado: Sábado Jan 17, 2004 13:17
Localização: Lx

Mensagempor OverFlow » Quarta Set 15, 2004 23:50

ah???
desculpem mas eu n percebo nd do k estao prai a dizer :lol: :oops:
-» AMD Athlon XP 2500+@2800+
-» ATI Radeon 9600 XT 256mb
-» 2 x 256 mb ddr333
-» QDI Qudoz 7x
-» Fonte Tt PurePower 420 wats
OverFlow
Aprendiz
Aprendiz
 
Mensagens: 73
Registado: Sexta Ago 20, 2004 0:27

Mensagempor bintoito » Quinta Set 16, 2004 0:28

Tretabyte, fazia sentido que sim, mas não tou em engª química
ele impigem-nos isto, 1º pq acho que deve ser a unica ling cus profs la do curso devem saber, dpx pq é suposto ser a linguagem ideal para fazer programecos idiotas como o que ando a tentar resolver, que em abono da verdade se faziam às 3 pancadas com uma simples máquina de calcular!!
deve ser só pra ficar bem no curriculo, pra podermos dizer que usamos uma linguagem em (quase) completo desuso...
bintoito
Membro de Prata
Membro de Prata
 
Mensagens: 318
Registado: Terça Jul 06, 2004 17:35
Localização: Coimbra

Próximo

Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 2 visitantes

cron