Saturday, October 1, 2016

Fortran 90 Moving Average

Inleiding tot Fortran se Intrinsieke funksies Opdrag: Lees Hoofstuk 4, en voorbeeld trig. f. Begin Huiswerk 4, Te danke 31/01 Lank voor daar wetenskaplike sakrekenaars, wetenskaplikes en ingenieurs besef dat hulle maklike maniere om resultate van algemene funksies soos sin, cos, natuurlike logaritme, en nog vele meer kry wat nodig is. Hierdie behoeftes in ag geneem is met mekaar Fortran standaard, wat lei tot 'n lang lys van ingeboude funksies (intrinsieke funksies) om jou lewe makliker te maak. Ek sal nie dek al die funksies in die huidige standaard (Fortran 90), maar sal jy 'n paar belangrike mense in hierdie en later besprekings gee. Die sintaksis vir die gebruik van intrinsieke funksies kan baie bekend is aan jou wees nie, want hulle het ook verskyn in sigblaaie. As ek die grootte van 'n snelheid in boks A1, en die hoek tussen die snelheid en die x-as (in radiale) in boks A2 betree, dan kan ek die x-komponent van die snelheid in boks A3 bereken met die formule A1 COS (A2). In Fortran kan hierdie resultaat verkry word met 'n opdrag verklaring soos velx vel cos (angrad) Voordat ons 'n eenvoudige definisie nodig. In die voorbeeld hierbo angrad is 'n argument van die funksie cos. 'N paar basiese Intrinsieke Funksies ABS (x) - Absolute waarde van x iabs (I) - Absolute waarde van 'n heelgetal ek (pre-90 Fortran abs didn t soos heelgetal argumente.) Sin (x) - Wys die sinus van x (x nie 'n heelgetal) cos (x) - Wys die kosinus van x (x is nie 'n heelgetal) tan (x) - Gee die tangens van x (x is nie 'n heelgetal) exp (x) -. bereken e (2,7183) te die x krag (x is nie 'n heelgetal) log (x) - word bereken dat die natuurlike logaritme van x (x is nie 'n heelgetal en 0) log10 (x) - bereken basis 10 logaritme van x (x is nie 'n heelgetal en 0) asin (x) - Gee die boogsinus (omgekeerde sinus) van x (x is 'n ware) Inligting en veiligheid (x) - Gee die boogkosinus (omgekeerde kosinus) van x (x is 'n ware) atan (x) - Gee die arctustangens (omgekeerde raaklyn) van x (x is 'n ware) sqrt (x) - Gee die vierkantswortel van x (x is nie 'n heelgetal en 0) nint (x) - Gee die naaste heelgetal tot die werklike getal x min (x1, x2.) - Opbrengste die minimum van x1, x2. Max (argumente moet dieselfde tipe wees) (x1, x2.) - Wys die maksimum van x1, x2. (Argumente moet dieselfde tipe wees) Die maksimum en min funksies is ongewoon in dat hulle 'n aantal argumente. Die generiese vorms min en max is nie 'n manditory deel van die Fortran 77 standaard, maar is in Fortran 90. In baie Fortran 77 kodes wat jy sal funksioneer sien: (. X1, x2) amax1 - Wys die maksimum van x1, x2. as 'n reële getal (argumente is real) amax0 (I1, I2.) - Wys die maksimum van i1, i2. as 'n reële getal (argumente heelgetal) max0 (I1, I2.) - Wys die maksimum van i1, i2. as 'n heelgetal (argumente heelgetal) max1 (x1, x2.) - Wys die maksimum van x1, x2. as 'n heelgetal (argumente is real) Soortgelyke vorms verskyn vir min. Daarbenewens log en log10 was opsionele vorms in Fortran 77. Ouer programme gebruik dikwels alog en alog10 om die funksie naam begin met 'n brief kenmerk van 'n ware eerder as heelgetal waarde. In die algemeen Fortran 77 was meer van jou afhanklik is spesifiek pluk 'n funksie geskik is vir die tipe argument en tipe waarde teruggegee moet word. Terwyl hy op die onderwerp van Fortran 90 intrinsieke funksies, is dit opmerklik twee wat jy gesien het in die voorbeeld ranges. f. en een verwante funksie, wat nuttig in programme wat uitgevoer word op 'n verskeidenheid van masjiene. klein (x) - Gee die kleinste positiewe getal wat voorgestel kan word op die huidige rekenaar vir werklike argument x groot (x) - Gee die grootste positiewe getal wat voorgestel kan word op die huidige rekenaar vir werklike argument x presisie (x) - Opbrengste die 'n geskatte desimale presisie beskikbaar op die huidige rekenaar vir die werklike argument x Sommige Kommentaar Speed ​​Jy moet dat trigonometriese besef, teken, en exp intrinsieke funksies is relatief duur in terme van die rekenaar tyd wat benodig word. As jy die waarde van die sonde (0.1) moet gereeld, gebruik die funksie keer in 'n opdrag soos: sin0p1 sonde (0.1) gebruik dan die nuwe veranderlike sin0p1 waar die sonde (0.1) is nodig. Die hoë koste van exp en log word ook weerspieël in die gebruik van die operateur. Gewoonlik 'n uitdrukking soos x y resultate in die samesteller invoeging kode gelykstaande aan EXP (y log (x)). Maar die meeste opstellers is slim genoeg om te besef dat indien y 'n heelgetal is, kan hulle een of meer vermenigvuldiging (x 2 x x, x 3 x x x, ens) gebruik. Sulke opstellers bevat die logika om die gelykbreekpunt te weet, in terme van grootte van y, tussen sulke vermenigvuldiging en die kombinasie van exp en teken. Dit is altyd vinniger te programmeer x 2 as x 2,0, so wees versigtig in die keuse van soorte vir eksponente. Spoed is ook 'n faktor in die bestaan ​​van die sqrt intrinsieke funksie. Dit is 'n spesiale algoritme vir die berekening van die vierkantswortel van 'n getal, dit is altyd vinniger as die verhoging van die aantal van die 0,5 krag. Wanneer die opsie bestaan ​​gebruik sqrt (x) eerder as x 0,5. In my ervaring sqrt (sqrt (x)) is vinniger as x 0,25. Terwyl ons op die onderwerp van spoed, moet ons die relatiewe spoed van ander bedrywighede hersien. Optel en aftrek altyd die vinnigste. Vermenigvuldig kom tweede. Verdeel is stadiger as vermenigvuldig, maar aansienlik vinniger as sqrt. As jy gaan om te verdeel deur 'n veranderlike x gereeld (meer as 2 of 3 keer), is dit 'n goeie idee om 'n ander veranderlike te definieer sê RX met die vergelyking RX 1./x, vermenigvuldig jy met RX waar jy sou gedeel deur x. 'N Voorbeeld program met behulp van Intrinsieke funksies Bestudeer die voorbeeld program trig. f vir voorbeelde van intrinsieke funksies, en as 'n nuttige begin om jou nuutste huiswerkopdrag. Review Questions Toets jou kennis van hierdie materiaal met 'n paar hersieningsvrae. Een vlak / Home Hier is hulp in die omskakeling na Fortran 90 F ORTRAN 77 is 'n subset van Fortran 90. So, as jy 'n standaard FORTRAN 77, kan jy maklik oorskakel na Fortran 90. Hoewel daar baie nuwe taal funksies in Fortran 90, is jy nie nodig om dit te gebruik. Hierdie artikel beklemtoon die verskille tussen die FORTRAN 77 en Fortran 90 standaarde en gee 'n paar opstel voorbeelde om mee te begin op die pad na die omskakeling na Fortran 90. Om hierdie artikel te vul, het die SKW Tegniese Consulting Office 'n nuwe stel van Fortran 90 inligting geskep op sy aanlyn ConsultWeb. Die URL vir ConsultWeb is: Kies die Fortran 90 Info skakel. Die ConsultWeb Fortran 90 help site beklemtoon die praktiese kwessies van migreer vanaf die Cray CF77 om CF90 opstel van stelsels, insluitend die beheer van jou kode, samestelling en 'n skakel, taal veranderinge, UNIX omgewing, prestasie kwessies, nuwe funksies, bron bestuur met behulp van maak. herdrukke van SKW Computing Nuus van Fortran 90 artikels deur Jeanne Adams, 'n Fortran 90 Tutoriaal deur Zane Dodson (Universiteit van New Mexico), en 'n Fortran 90 Vrae (FAQ) lys. Hoekom sit toe die Cray programmeer omgewing 2.0 hierdie jaar vrygestel is, die Cray Fortran 90 (CF90) samesteller vervang die CF77 opstel van stelsel vir CRAY PVP stelsels soos die ondersteuning Fortran samesteller. Omskakeling na Fortran 90 het 'n hoë prioriteit omdat SCD n Cray C90 dat die CRAY Y-LP (antero) vervang verkry. SKW het ook verkry 'n Cray J90se, Ouray. Die enigste Fortran samesteller van hierdie masjiene is die Fortran 90 samesteller (CF90). As ander nuwe Crays verkry, sal hulle ook CF90 het as die enigste Fortran samesteller. Wat sal gebeur met CF77 Hoewel SCD kan steeds in staat wees om die CF77 opstel van stelsel bied op ons ouer stelsels, soos die CRAY Y-LP (shavano), al die nuwe Cray stelsels kom met CF90 as die standaard opstel van stelsel. CF77 moet in ag geneem word as slegs 'n oorgang samesteller, met die klem op om kodes hardloop met behulp van CF90 so gou as moontlik. Gebruikers van plan om uit te voer op die C90 (antero) moet hulle kodes nou omskep in Fortran 90. Omskakeling na Fortran 90: Kwessies en antwoorde Is jy met behulp van standaard Fortran (77 of 90) Dan moet omskakeling van 'n briesie wees. FORTRAN 77 gebruikers sal moet baie min veranderinge aan te bring om 'n FORTRAN 77 program om dit te omskep in Fortran 90, met dien verstande al die stellings wat gebruik word is bona fide FORTRAN 77 state. Soos hierbo genoem, Fortran 90 is 'n superstel van die FORTRAN 77 tale. Sommige van die probleme van die omskakeling programme kom uit stellings wat Cray uitbreidings aan die FORTRAN 77 standaard wat nie in die Fortran 90 standaard is. As die stellings in die FORTRAN 77 standaard, sal daar baie min veranderinge (indien enige) uit te voer met behulp van die Fortran 90 samesteller. Natuurlik, is daar beheer lêer en command line veranderinge wat noodwendig kom met die verandering aan enige nuwe samesteller. En 'n nuwe samesteller sal optimalisering funksies wat verskillend kan wees om iemand wat reeds in die verlede gebruik het. Die werk van bekering nie nodig veranderende DO lusse om die Fortran 90 vektornotasie (wat, by the way, kan gedoen word met behulp van verskeie omskakeling roetines). Jy kan gebruik maak van die nuwe funksies te neem op 'n later tyd, ná jou programme word op die Fortran 90 samesteller. Daar is verskillende benaderings tot die omskakeling van 'n bron-kode, afhangende van watter soort stelling is betrokke. Standard FORTRAN 77 kodes moet saamstel sonder probleme, met die uitsondering van 'n paar voorbehoude hieronder bespreek. Standard FORTRAN 77 state: 'n Paar voorbehoude Fortran 77 standaard state sal stel, met 'n paar uitsonderings, op standaard Fortran 90. Een van die uitsonderings is met name van jou gebruiker verskaf funksies wat dieselfde as nuwe name in die lys standaardtoerusting is Fortran 90 funksies. 'N Voorbeeld sou wees MATMUL in Fortran 90, wat 'n oorsig het vermeerder op numeriese of logiese matrikse. As jy ook 'n funksie genoem MATMUL en wil jou eie roetine gebruik, moet jy verklaar jou roetine eksterne of sy naam verander. Nog 'n algemeen gebruikte naam wat konflikte kan veroorsaak is die Fortran 90 intrinsieke funksie som. Die G-formaat wysig descriptor produseer 0.0E 00 op uitset, terwyl Fortran 90 lewer 'n 0.0. Fortran 90 nie leeg pad na 'n lys gerig karakter as die aantal karakters in die lys minder as die aantal karakters in die rekord. FORTRAN 77 verlaat hierdie verwerker afhanklik. As jy staatmaak op hierdie funksie, gebruik PAD NR in die ope verklaring. Wanneer 'n ware konstante gebruik word om 'n dubbele presisie konstante inisialiseer, word slegs die akkuraatheid van die werklike konstante gebruik in Fortran 90. FORTRAN 77 toegelaat meer presisie te gebruik. As data is geïnisialiseer in 'n data-verklaring, Fortran 90 state wat die data het die SAVE skryf FORTRAN 77 maak hierdie verwerker afhanklik. Cray Fortran stellings wat Fortran 90 en Cray Fortran stellings wat FORTRAN 77 uit te brei, maar wat nie in Fortran 90: Daar is geen dubbele komplekse tipe in 'n Fortran standaard. Cray NAMELIST is anders as die Fortran 90 NAMELIST. Beide vorms is in die Fortran 90 samesteller aanvaar. As jy van plan is om die hawe van jou program na 'n ander stelsel, gebruik die standaard konformerende NAMELIST. Enkellopend-letter afkortings soos. T. vir. TRUE. en Een voorsien vol. vir. En. ens is nie in die standaard, maar is toegelaat om in die Cray CF77 samesteller. Die Cray CF77 samesteller is permissief in hierdie gevalle. Die interpretasie van die logiese intrinsieke operateurs lei tot 'n logiese waarde (waar of vals) in Fortran standaarde. Dit is nie geïnterpreteer word as 'n maskering operateur in 'n Boole-uitdrukking as in Cray Fortran. XOR. is 'n bykomende operateur bygevoeg deur Cray. Daar is 'n aantal stelsel biblioteek roetines in Cray CF77 Fortran wat nie in die standaard. Dit sal egter hierdie roetines in die Cray Fortran 90 samesteller vir verenigbaarheid bly. Sommige van die tasking voorskrifte is in die vorige Cray CF77 Fortrans is vervang deur EXIT en die saak konstruk in standaard Fortran 90. Die DO GLOBAL is vervang deur die doen alles verklaring, wat nie in standaard Fortran 90. Die DOEN ALLE stelling Cray Fortran 90. REAL 4, ens is nie standaard konformerende in Fortran 90 die parameter KIND plaas gebruik word in die standaard. Maar beide vorms is in Cray Fortran 90. Rekursie was in Cray FORTRAN 77, maar in 'n effens ander vorm. In Fortran 90, moet die woord rekursie verskyn op rekursiewe prosedures. Dit is wat nodig is in die standaard as gevolg van doeltreffendheid oorwegings vir samesteller skrywers, aangesien rekursie is oor die algemeen oneffektief en impak optimalisering. Beide Cray wysers en Fortran 90 wysers in Cray Fortran 90. Terwyl hierdie twee implementering verskil, het hulle nie in stryd as die gebruiker stokke om een ​​van die ander vorm of. Cray wysers is nie-standaard konformerende egter. Fortran 90 is meer streng met tipe kontrole as CF77. Wysers is nie verwissel met die tipe integer as in CF77. In Fortran 90, wysers is hul eie soort en dui op 'n spesifieke tipe van data. Reguit vertaling van Cray Fortran verwysings na Fortran 90 standaard wenke kan aansienlike oorhoofse voeg as gevolg van die skep, kopiëring om, en deallocating tydelike skikkings. Fortran 95 konsep standaard state Fortran 95 is nog steeds hersien en balloted. Die finale balloting moet vroeg in 1997 voltooi Daar is slegs 'n paar nuwe funksies in hierdie standaard. Dit sluit in die FORALL verklaring en bou, suiwer en ELEMENTAL funksies, 'n paar nuwe intrinsieke funksies (nul en SVE-tyd) en wyser verstek inisialisering. Baie verduideliking is gemaak om Fortran 90 in die voorbereiding van die Fortran 95 konsepdokument. Fortran 90/95 taal argitektuur: Moving oor hoe om 'n taal van onbepaald groei tot 'n baie groot omvang en hoe om toe te laat ou sagteware te loop op 'n nuwe stelsel te hou is twee sake wat moeilik is om op te los is. Om hierdie rede, is 'n taal argitektuur ontwikkel vir Fortran 90 wat bepaal watter funksies oud, nuut, verouderende, en nie standaard is nie (geskrap). Die lys van verouderende funksies is afgelei van dié wat min gebruik, en / of oortollige met 'n ander funksie, moontlik 'n nuwe een. Die geskrap funksies is gekies elke standaard hersiening siklus van die lys van die huidige verouderde funksies. Maar nie al hierdie eienskappe is verwyder, veral as gebruikers kla in 'n publieke insae siklus. Ten minste een standaard hersiening siklus word vereis voordat 'n funksie van die taal is verwyder. Tabel 1. DELETED KENMERKE Hantering verwyder en uitgediende funksies Alle uitgediende funksies is steeds in die standaard. Voeg nuwe Fortran 90 funksies geleidelik Jy het nou reeds kennis gemaak met die basiese verskille tussen FORTRAN 77 en Fortran 90 en moet in staat wees om te begin die omskakeling na Fortran 90. As jy 'n standaard voldoen FORTRAN 77 program om te skakel, moet jy nie nodig het om te gebruik enige van die nuwe funksies van Fortran 90 aanvanklik. Hierdie nuwe funksies kan ingestel word in die program soos dit is gerieflik. Die skikking notasie, modules, geneste WAAR bou, en die gebruik van baie nuwe intrinsieke prosedures is onder die lys van die dinge wat nuut in Fortran 90. Daar is baie handboeke en handleidings beskikbaar om te help jy begin om nuwe funksies te gebruik. Afskrifte van die Fortran 90 standaard is beskikbaar in die SKW Consulting, Kamer 17 van die Mesa Laboratorium. Hier is 'n paar voorbeelde te wys hoe om die Cray Fortran 90 samesteller roep. Beheer lêer veranderinge en opdrag lyne: Die gebruik van die Fortran 90 samesteller op die Cray stelsels gedetailleerde inligting oor die Cray Fortran 90 samesteller kan aanlyn in die F90 man bladsy gevind word, en geval-tot-geval bystand kan verkry word by die SKW Tegniese Consulting Office . Let wel: Die standaard vlak van optimalisering onder cf77 en F90 op Cray stelsels is - O 2 (matige optimalisering). In vergelyking, word geen optimalisering wat onder F77 op 'n Sparc platform. cf77: cf77 o File. exe file. f cf90: F90 o File. exe file. f Skakel outomatiese multitasking: cf77: cf77 - Zp file. f cf90: F90 - O task2 file. f Moenie gebruiker multitasking voorskrifte nie interpreteer : cf77: cf77 file. f cf90: F90 - O task0 file. f interpreteer gebruiker multitasking voorskrifte: cf77: cf77 - Zu file. f cf90: F90 file. f cf90: F90 - O TAAK1 file. f cf77: cf77 file. f - L / usr / local / lib - lncarm - lncaro cf90: F90 file. f - L / usr / local / lib - lncarm - lncaro Stel met NCAR Grafiese biblioteke: cf77: cf77 file. f - L / usr / local / lib - lncarg - lncarg GKS - lncarg c-lX11 cf90: cf90 file. f - L / usr / local / lib - lncarg - lncarg GKS - lncarg c-lX11 Stel-net (vir gebruik met make): cf77: cf77-c lêer. f cf90: F90-c file. f Link-net (vir gebruik met make): cf77: cf77 file1.o file2.o cf90: F90 file1.o file2.o Stel met statiese geheue: cf77: cf77: cf77 - a statiese file. f cf90: F90 - ev file. f Stel met veranderlikes gestel dat onbepaalde waardes: vir meer inligting vir meer inligting en bystand in die omskakeling van kodes van CF77 om CF90, bel die SKW Consultants by 303-497-1278, druppel vir die consulting kantoor by Mesa Lab Kamer 17, of stuur 'n e-pos aan consult1 ncar. ucar. edu. Skikkings en die uitleg I / O Doelwitte Teen die einde van hierdie werkkaart jy in staat te wees om: Verstaan ​​die gebruik van skikkings Verbeter die voorkoms van jou uitset skikkings Kom ons dink dat ons wil hê dat die gemiddelde van 10 nommers vind. Een (ru) metode word in die volgende program. Hierdie benadering is slordig, behels 'n baie tik en is geneig om foute. Stel jou voor dat ons te doen gehad met duisende nommers reg rondom dit is om skikkings gebruik. 'N skikking is 'n lys wat ons kan bekom deur middel van 'n onderskrif. Om aan te dui tot Fortran dat ons met behulp van 'n verskeidenheid, het ons net spesifiseer die grootte wanneer ons verkondig. Dit kodebrokkie ken 100 geheue plekke om die skikking x. Om toegang tot 'n individu plek, genaamd 'n verskeidenheid element. Ons gebruik 'n onderskrif hier ons toeken die nommer 4 op die 66 element van verskeidenheid x en 3 om die 1ste element. Nou laat se terugkeer na program av aan die begin van hierdie werkkaart, ons sal weer skryf dit met behulp van 'n verskeidenheid. Let daarop dat as ons tik die program sal die hele inhoud van die skikking uit te druk. Die bykomende voordeel van hierdie program is dat met baie min veranderinge, kan ons dit doen met enige aantal items in die lys. Ons kan verbeter op hierdie nog verder deur gebruik te maak van die parameter data tipe: Let op hierdie is 'n voorbeeld van goeie ontwikkeling. Die kode is maklik onderhoubare al wat ons moet doen om 'n gemiddeld van 'n lys van getalle van enige grootte te vind is net so groot soos die parameter Imax verander. Ons kan ook die grootte van die skikking te hardloop tyd toeken deur dinamiese toekenning van geheue. Die volgende program toon die gebruik van skikkings waar ons nie die grootte van die skikking te leer ken. Die program staan ​​bekend as alloc. f95 en kan kopieer van die webblad. Let veral op na die vetdruk lyne. Die nuwe manier van vertel van die skikking vektor vertel die samesteller dat dit toedeelbare dws die grootte sal bepaal te hardloop tyd. Ons sal kyk na dit verder in Afdeling 7. Oefening 5.1 Skryf 'n program wat die gebruiker hoeveel nommers wat hulle wil betree vra, noem dit waarde Imax. Ken Imax elemente om twee skikkings, a en b. Lees in Imax getalle om 'n en dieselfde doen om b. Druk die skikkings A, B en druk die som van a en b. Vergelyk jou poging met sumalloc. f95. Array magie Een van die voordele van skikkings is dat jy maklik bedrywighede kan doen op elke element deur die gebruik van eenvoudige rekenkundige operateurs. Oefening 5.2 Kopieer program ramagic. f95 en lêer DATA. TXT om jou eie rekenaar. Begin die program en kyk na die uitset. Oefening 5.3 Skryf 'n program wat 'n 10 element samestelling x met waardes tussen 0 en 0,9 in stappe van 0,1 vul. Druk die waardes van sin (x) en cos (x) met behulp van die eienskappe van skikkings om jou program te vereenvoudig. Vergelyk jou antwoord met ramagic2.f95. Multi-dimensionele skikkings Die skikkings ons kyk na tot dusver een dimensionele was. dit is 'n enkele lys van getalle wat verkry word met behulp van 'n enkele onderskrif. In konsep, 1 dimensionele skikkings werk in 'n soortgelyke manier om vektore. Ons kan ook gebruik twee dimensionele skikkings wat konseptueel is gelykstaande aan matrikse. stel 'n stoorplek met 25 heelgetal plekke. Die volgende program skep 'n 2 dimensionele skikking met 2 rye en 3 kolomme. Dit vul al die plekke in kolom 1 met 1, kolom 2 met 2, kolom 3 met 3 en so aan. FORTRAN kan eintlik die gebruik van skikkings van tot 7 dimensies, 'n funksie wat selde nodig is. Oefening 5.4 Die gebruik van 'n 4 4 verskeidenheid te skep 'n identiteitsmatriks, dit is, 'n oorsig van die vorm:: Om 'n uitgebreide presisie 3 dimensionele skikking b met onderskrifte wissel van 1 tot 10 1 tot 20 en 1-30 sou ons skryf spesifiseer en uitset dit. Wouldn t lekker wees as ons kon eintlik uitset die matriks elemente in rye en kolomme Aan die einde van hierdie afdeling sal ons sien presies hoe om dit te doen. Opmaak jou uitset Jy kan nou wonder of daar enige manier om beter beheer oor wat jou uitset lyk het. Tot dusver het ons al met behulp van die standaard uitset opsie wat is wat die e is in die skryf en druk state: Oefening 5.5 Kopieer format. f95, en voer dit kan jy sien dat die skryf en formaat state kom in pare. Ons gebruik in hierdie voorbeeld 'n as die afvoertoestel met ander woorde, die skerm. Die formaat verklaring kan eintlik gaan oral in die program, maar deur konvensie ons gewoonlik plaas dit net na die verband skryf of almal saam aan die einde van die program. Dit is net 'n kwessie van smaak. Die moeilike gedeelte is die spesifikasie. Daar is verskillende spesifikasies vir integer en real en karakter veranderlikes. Integer spesifikasie Reg geregverdig m is die aantal karakter ruimtes voorbehou vir die druk (insluitend die teken as daar een is) As die werklike breedte minder as m is, spasies gedruk N is die aantal heelgetalle tot uitset per lyn. As weggelaat, een getal is uitset per lyn. Drywende punt spesifikasie Reg geregverdig m is die aantal voorbehou vir die druk karakter ruimtes (insluitend die teken as daar een is), en die desimale punt. As die werklike breedte minder as m is, is spasies gedruk N is die aantal reële getalle om uitset per lyn. As weggelaat, een getal is uitset per lyn. d is die aantal spasies gereserveer vir die breukdeel van die getal vol 0 s as minder ruimtes is nodig. As die breukdeel is te wyd dit is afgerond. As die totale breedte vir uitset (m) is te klein, FORTRAN sal net uitset s. In wese, maak m mooi en wyd en jy gewen t enige probleme Eksponensiële spesifikasie Algemene vorm nEm. d Alternatiewe spesifikasie vir uitdruk werklike d is die aantal desimale plekke m is die totale breedte van die veld, insluitend die teken (indien enige), die karakter E en sy teken, die desimale punt en die aantal plekke van desimale. Weereens maak m mooi en wye om die veld te verseker behoorlik uitgedruk. N is die aantal eksponensiële nommers om uitset per lyn. As weggelaat, een getal is uitset per lyn. Voorbeeld Character spesifikasie Algemene vorm N A m n die aantal snare te druk m is die maksimum aantal karakters om uitset Voorbeeld: Oefening 5.6 Die gebruik van die formaat spesifikasies in formaat. f95 as 'n gids, produseer 'n tafel van, vir waardes van x in inkremente van 0.1. Skryf jou uitset na 'n lêer myoutput genoem. Maak seker dat jou produksie lyne netjies in kolomme. 'N Voorbeeld program is neatoutput. f95 is beskikbaar op die webwerf. Geïmpliseer Do Loop om skikkings Tot dusver skryf, die metode wat ons gebruik het vir toevoer en afvoer van skikkings is: Die probleem met hierdie metode is dat die rye en kolomme nie bewaar op uitset. 'N Alternatiewe, en netjieser metode is om te gebruik 'n stilswyende doen lus in die skryf verklaring. Oefening 5.7 In Oefening 5.4 jy 'n program om te produseer en identiteitsmatriks geskryf. Pas jou kennis van nou opmaak om 'n netjies geformateer matriks skerm maak. Daar is 'n voorbeeld identity1.f95 beskikbaar op die webwerf.


No comments:

Post a Comment