Ahoj,
začal jsem s Fortranem teprve nedávno a ani mi nejde o to, abych byl nějak moc zběhlý v programování, potřebuji pouze jednoduchý prográmek, který už skoro mám hotový, jediný problém, na který narážím (a v příručce, kterou mám je o tom napsáno příliš málo) je I/O funkce.
můžete mi někdo prosím vysvětli tohle?
pomocí OPEN otevřu existující soubor a potřebuji říct Fortranu, že data jsou ve formátu např:
154548.45454
154515.5454
45445.545454
můžete mi někdo vysvětlit formátování ve fortranu?
Díky.
Názory k článku
Fortran: Polní výzbroj
RS (neregistrovaný)
13. 8. 2007 8:30
Nový
Re: Fortran, pomoc prosim
celé vlákno
tohle je příklad z příručky
FORMAT(1X,’Stock is’,I4, 1X, A,’ at ’, F8.2, ’ each’)
předpokládám, že I je Integer, co ale znamená I4 nemám ponětí, můžete to prosím někdo vysvětlit? Dík.
P.S: jsem lama, tak se prosím nesmějte, že neumím programovat :-)
FORMAT(1X,’Stock is’,I4, 1X, A,’ at ’, F8.2, ’ each’)
předpokládám, že I je Integer, co ale znamená I4 nemám ponětí, můžete to prosím někdo vysvětlit? Dík.
P.S: jsem lama, tak se prosím nesmějte, že neumím programovat :-)
13. 8. 2007 9:42
Nový
Re: Fortran, pomoc prosim
celé vlákno
To je docela komplikovane, uvod je treba na www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap05/format.html, nebo hledejte "fortran format"
Uvedeny priklad pokud bude volan prikazem write by mel tusim posunout o jeden znak, vypsat 'Stock is', vypsat integer se sirkou 4 znaky, vypsat kompletni string ktery se mu zada, vypsat 'at', vypsat realne cislo v sirce osm znaku se dvema cislicemi za desetinou carkou a vypsat 'each'. Zkusenejsi necht me prosim opravi.
Uvedeny priklad pokud bude volan prikazem write by mel tusim posunout o jeden znak, vypsat 'Stock is', vypsat integer se sirkou 4 znaky, vypsat kompletni string ktery se mu zada, vypsat 'at', vypsat realne cislo v sirce osm znaku se dvema cislicemi za desetinou carkou a vypsat 'each'. Zkusenejsi necht me prosim opravi.
13. 8. 2007 10:02
Nový
Re: Fortran, pomoc prosim
celé vlákno
Zkuste si tento program
10 FORMAT(1X,'Stock is',I4, 1X, A,' at ', F8.2, ' each')
write (6,10) 156, 'bolts', 12.50
end
vystup je:
Stock is 156 bolts at 12.50 each
10 FORMAT(1X,'Stock is',I4, 1X, A,' at ', F8.2, ' each')
write (6,10) 156, 'bolts', 12.50
end
vystup je:
Stock is 156 bolts at 12.50 each
13. 8. 2007 10:10
Nový
Re: Fortran, pomoc prosim
celé vlákno
Nejjednodušší je načítat pomocí tzv. volného formátu, tedy
open(10,file='soubor.txt',action='read')
...
read(10,*) realna_promenna, realna_promenna2, ...
...
reálná proměnná může být i pole. V tomto režimu (formát je hvězdička) překladač
rozezná všechny možné typy formátování reálných a celých čísel co umí. Pokud
open(10,file='soubor.txt',action='read')
...
read(10,*) realna_promenna, realna_promenna2, ...
...
reálná proměnná může být i pole. V tomto režimu (formát je hvězdička) překladač
rozezná všechny možné typy formátování reálných a celých čísel co umí. Pokud
Fik (neregistrovaný)
13. 8. 2007 13:06
Nový
dynamicka/automatick a pole
celé vlákno
Nevim, jestli dobre chapu rozdil mezi dynamickym a automatickym polem, ale to dynamicke je umisteno v heapu, takze kdyz budu mit pole dost velke (trebas 2GB nebo i vic na 64-bit), tak ho musim udelat automaticky, protoze do heapu se nevleze?
13. 8. 2007 17:37
Nový
Re: dynamicka/automatick a pole
celé vlákno
Spis bych rekl, ze je to naopak (ale vychazim ze zkusenosti z Cecka apod. jazyku). Zasobnik byva docela maly, heap muze byt realokovat systemem do libovolne velikosti. Takze dynamicke pole by nemelo byt vlastne nijak omezene (asi se tam provadi klasicky malloc), ale automaticke by mohlo presahnout rozsah zasobniku.
14. 8. 2007 8:52
Nový
Re: dynamicka/automatick a pole
celé vlákno
Mate presny odhad. Pokud ve Fortranu pouzivate velka automaticka pole, tak nekdy pro dost velke vstupy program zacne padat z duvodu preteceni zasobniku. Dnesni prekladace jiz vetsinou maji volbu, ktera alokuje automaticka pole od urcite velikosti taky na heapu. Napr. EkoPath to ale resi tak, ze uz pri spusteni programu zkusi zvetsit stack na co nejvice.
ALLOCATE se obycejne implementuje pres malloc.
ALLOCATE se obycejne implementuje pres malloc.
Jirka (neregistrovaný)
13. 8. 2007 17:55
Nový
Re: dynamicka/automatick a pole
celé vlákno
Podle mne zalezi na prekladaci...
q (neregistrovaný)
13. 8. 2007 21:41
Nový
co to ma spolecne s linuxem ? server o nicem
celé vlákno
root.cz hnije a uz pekne dlouho
miro (neregistrovaný)
14. 8. 2007 0:17
Nový
Re: co to ma spolecne s linuxem ? server o nicem
celé vlákno
asi si zabudol, ze toto nie je abclinuxu.cz
Cooper (neregistrovaný)
14. 8. 2007 17:21
Nový
Diky za tento serial
celé vlákno
Zdravim,
timto chci podekovat autorovi za toto predstaveni Fortranu.
Resim ted v zamestnani jednu ulohu, kdy je znalost fortranu 77 a 95 nezbytnou nutnosti a nikde jsem narychlo nesehnal zadny pouzitelny zdroj jak s fortranem rychle zacit.
Mam totiz za ukol predelat jednu uzivatelskou rutinu z fortranu 77 do 95, kdy se navic zmenila struktura jejiho volani. Zde jsem dostal explicitni odpovedi na otazky, ktere jsem si zodpovedel jen intuitivne a ne vzdy zcela presne.
Tento serial svou ulohu plni na jednicku a doufam, ze pristi dil nebude posledni ;-)!
Diky
Cooper
timto chci podekovat autorovi za toto predstaveni Fortranu.
Resim ted v zamestnani jednu ulohu, kdy je znalost fortranu 77 a 95 nezbytnou nutnosti a nikde jsem narychlo nesehnal zadny pouzitelny zdroj jak s fortranem rychle zacit.
Mam totiz za ukol predelat jednu uzivatelskou rutinu z fortranu 77 do 95, kdy se navic zmenila struktura jejiho volani. Zde jsem dostal explicitni odpovedi na otazky, ktere jsem si zodpovedel jen intuitivne a ne vzdy zcela presne.
Tento serial svou ulohu plni na jednicku a doufam, ze pristi dil nebude posledni ;-)!
Diky
Cooper
14. 8. 2007 21:38
Nový
Re: Diky za tento serial
celé vlákno
Děkuji, ještě bude asi dva díly, pak mě čeká dovolená.
Nejlepší místo, kde online řešit problémy s Fortranem je Google diskuzní
skupina comp.lang.fortran (taky tam často chodím).
Můžete se klidně dotazovat i na můj email, ale to bude asi pomalejší.
Některé online materiály k Fortranu jsem uvedl v prvním díle; najdou se i další.
Případně je tu aktuální standard F2003, ale ten je samozřejmě velmi formální a
není úplně snadné se v něm vyznat.
Nejlepší místo, kde online řešit problémy s Fortranem je Google diskuzní
skupina comp.lang.fortran (taky tam často chodím).
Můžete se klidně dotazovat i na můj email, ale to bude asi pomalejší.
Některé online materiály k Fortranu jsem uvedl v prvním díle; najdou se i další.
Případně je tu aktuální standard F2003, ale ten je samozřejmě velmi formální a
není úplně snadné se v něm vyznat.

