Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Fortran: Polní výzbroj

RS
RS (neregistrovaný)
13. 8. 2007 8:27 Nový

Fortran, pomoc prosim

celé vlákno
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.
RS
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 :-)
Vladimír Fuka aura:100
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.
Vladimír Fuka aura:100
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
Jaroslav Hájek aura:79
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
RS
RS (neregistrovaný)
13. 8. 2007 11:35 Nový

Re: Fortran, pomoc prosim

celé vlákno
díky všem
Fik
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?
Pavel Tišnovský aura:98
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.
Jaroslav Hájek aura:79
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.
Jirka
Jirka (neregistrovaný)
13. 8. 2007 17:55 Nový

Re: dynamicka/automatick a pole

celé vlákno
Podle mne zalezi na prekladaci...
q
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
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
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
Jaroslav Hájek aura:79
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.
Zasílat nově přidané příspěvky e-mailem