• No results found

Introduktion till vetenskapliga ber¨akningar II. ¨Ovning 6, ht 2009

N/A
N/A
Protected

Academic year: 2021

Share "Introduktion till vetenskapliga ber¨akningar II. ¨Ovning 6, ht 2009"

Copied!
1
0
0

Loading.... (view fulltext now)

Full text

(1)

Introduktion till vetenskapliga ber¨ akningar II. Ovning 6, ht 2009 ¨

1. Skriv ett program som skriver ut de 500 f¨orsta heltalen formaterat till en fil, med tio tal per rad, ett blankt tecken i b¨orjan av varje rad, 5 kolumner f¨or varje heltal och tv˚a mellanrum mellan varje heltalsf¨alt. Skriv ett annat program som l¨aser in denna fil i en vektor, och skriver ut talen i motsatt ordning med 8 tal per rad p˚a sk¨armen.

2. Skriv ett Fortran-program till hj¨alp f¨or en f¨orfattare, som g¨or upp ett register f¨or en bok. Han sl˚ar sig ned i allsk¨ons ro vid sin dator och matar in nyckelord, j¨amte de sidnummer, d¨ar de f¨orekommer. Antag, att nyckelorden och sidnumren skrivs in p˚a en fil, som efter hand kan uppdateras (f¨orf. kanske beh¨over en kaffepaus el. dyl.). N¨ar alla ord blivit inf¨orda, sorteras orden alfabetiskt av programmet och skrivs ut i en annan fil, j¨amte de sidnummer d¨ar de f¨orekommer.

3. Antag, att ett spektrum av n˚agot slag blivit uppm¨att s˚a, att intensiteten i varje kanal anges som ett h¨ogst sjusiffrigt heltal och har skrivits ut i en textfil med 8 kanaler (tal) per rad. Det motsvarande Fortran-formatet ¨ar (8I8). Av n˚agon anledning vill man ”v¨anda om” spektret, dvs skriva intensiteterna i motsatt ordningsf¨oljd. Skriv ett Fortran-program, som l¨aser filens namn, kontrollerar dess existens, l¨aser in spektret i minnet, byter om intensiteternas ordningsf¨oljd, och skriver ut det konverterade spektret p˚a en ny fil.

4. Ekvationen f¨or en cirkel kan skrivas (x−x0)2+(y −y0)2 = r2, d¨ar punkten (x0, y0) ¨ar cirkelns medelpunkt, och r ¨ar dess radie. Konstruera en h¨arledd typ, som representerar en cirkel med dess namn, medelpunktens koordinater och radien. Anv¨and denna typ i ett Fortran 90 program som l¨aser in medelpunktens koordinater, och koordinaterna f¨or en punkt p˚a cirkelns periferi, samt d¨arur r¨aknar ut radien. Till sist skall programmet skriva ut koefficienterna i den allm¨anna formen av cirkelns ekvation ax2+ by2+ cx + dy + e = 0.

5. Skal¨arprodukten av tv˚a tredimensionella vektorer aaa och bbbaa bb definieras som aaaaa· bbbbb = a1b1+ a2b2+ a3b3, d¨ar aaa = aaa 1iiiii + a2j + ajjjj 3k och bbbkkkk bb = b1iiiii + b2j + bjjjj 3kk. Vektorprodukten avkkk de tv˚a vektorerna definieras som ccccc = aaaaa× bbbbb, d¨ar c1 = a2b3− a3b2, c2 = a3b1− a1b3 och c3 = a1b2− a2b1.

Skriv en Fortran-modul, som f¨orst genererar den vektortyp, som beskrevs p˚a f¨orel¨as- ningen, och d¨arp˚a definierar tv˚a funktionsrutiner, som r¨aknar ut skal¨arprodukten och vektorprodukten enligt ovanst˚aende formler. Du kan ocks˚a f¨ors¨oka konstruera tv˚a op- eratorer, t.ex. * och .x. enligt anvisningarna i f¨orel¨asningen f¨or att underl¨atta anv¨and- ningen av rutinerna. Anv¨and sedan modulen i ett program som ber¨aknar trippelskal¨ar- produkten av tre vektorer aaaaa, bbbbb och ccccc: aaaaa· (bbbbb× ccccc).

References

Related documents

A large molecular anion such as WF − 5 will probably support a rather large spectrum of ro-vibrationaly excited states which will be populated in the sputter source. There- fore we

The objective for these studies can be divided into three subgroups: structure studies, dynamic studies, and proof-of-principle experiments for applications of negative ions.. In

Var och en i gruppen hämtar något i skogen utan att visa de andra vad det är för något.. Turas om att beskriva saken

Beskriv till exempel färg och form, men säg inte vad det är för något.. Låt de

Fortran tolkar normalt alla variabler, vilkas namn b¨ orjar med n˚ agon av bokst¨averna A-H och O-Z som decimaltal (reella variabler), och alla ¨ ovriga variabler som heltal, om

Metoden kallas icke-framskridande (”non-advancing”) in- och utmatning, och kan anv¨andas endast vid formaterad behandling av sekventiella filer. I detta fall beh¨ over man inte

F¨ ors¨ ok f¨ orb¨ attra programmet genom pivotering, dvs upps¨ ok elementet med det st¨ orsta absoluta v¨ ardet i A(k:n,k) (observera, att k-1 m˚ aste adderas f¨ or att f˚ a

V¨ alj ett l¨ ampligt tidsin- tervall, som innesluter det kortaste avst˚ andet, och anv¨ and MATLAB–funktionen fmin (eller fminbnd) f¨ or att ber¨ akna detta avst˚