READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen
|
|
- Ellen Fransson
- för 8 år sedan
- Visningar:
Transkript
1 forts. på föregående föreläsning: I allmänhet lönar det sig att sätta ut decimalpunkterna för reella tal. Om man inte enkelt kan skriva talen under varandra så kan det lätt uppstå fel vid inmatningen, vilket visas av följande exempel. Antag, att vi använder READ-satsen READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen Vid läsningen av den andra raden uppstår då ett fel (kan du se var?). Om inmatningen sker från en terminal, är det därför oftast bekvämare att använda ett fritt format (som anges med en asterisk (*)). När man läser in teckensträngar, räcker det med att använda A-formatet som sådant, utan att ange antalet tecken, eftersom teckensträngens längd anges i CHARACTER-deklarationen. Inga extra tecken kommer således att läsas in. Ett mindre antal tecken kan man däremot nog läsa in, såsom framgår av nedanstående exempel: Introduktion till vetenskapliga beräkningar II, Tom Sundius
2 CHARACTER (10) :: A... READ (10, 100) A 100 FORMAT (A1)... Här läses endast första tecknet in i A, de övriga 9 tecknen fylls ut med blanka tecken. Om det finns fält som man inte vill läsa in, kan man använda X-specifikationen (eller TR-specifikationen), som framgår av exemplet nedan: READ (5,100) X, Y 100 FORMAT (F5.2, 7X, F8.4) Man kan också hoppa över hela poster vid inmatningen, genom att använda formatspecifikationen /. Observera i detta fall, att t.ex. instruktionen READ (5, 100) X, Y 100 FORMAT (F5.2/F10.4) kommer läsa X från en post och Y från följande. Introduktion till vetenskapliga beräkningar II, Tom Sundius
3 Vill man verkligen hoppa över en post mellan X och Y, måste man använda formatet 100 FORMAT (F5.2//F10.4). Man kan också hoppa över en post vid inläsningen med ett tomt format: READ (5, 100) 100 FORMAT () För att läsa och skriva på andra enheter än en skärmterminal, används logiska enhetsnummer. I Fortran reserveras vanligen 5 för standard-in och 6 för standard-ut. För att läsa och skriva på skivfiler (t.ex.) kan man använda andra enhetsnummer. En skivfil öppnas i allmänhet för inmatning eller utskrift med en OPEN-sats. När man är färdig, stänger man den med en CLOSE-sats (observera, att huvudprogrammets END-sats också automatiskt stänger alla öppna filer). En OPEN-sats kan t.ex. se ut så här: OPEN (10, FILE= fil.dat, STATUS= NEW ). Denna sats kommer att öppna en skivfil i enhet 10 med namnet fil.dat, som inte existerar förut (om den existerar, använder man specifikationen STATUS= OLD ). Om man använder parametern STATUS= SCRATCH kommer filen att strykas, då programmet avslutas. OPEN-satsen innehåller som vi ser en serie specifikationer, åtskiljda av kommatecken (observera apostroferna, som omger namnet som står efter likhetstecknet). En annan viktig specifikation i OPEN-satsen är ACCESS, som antingen kan vara ACCESS= SEQUENTIAL eller ACCESS= DIRECT. Denna specifikation anger filtypen. I det förra fallet är filen sekventiell, dvs den kan läsas bara i en riktning (utgångsantagandet ifall man inte anger filtypen). I det senare fallet kan den läsas i vilken riktning som helst (direktaccess). Introduktion till vetenskapliga beräkningar II, Tom Sundius
4 Varje fil tänkes uppdelad på poster (eng. record ), som för textfiler kan tolkas som rader. Om filtypen tillåter direkt access, måste också storleken av varje post anges med specifikationen RECL=num, där num anger antalet bytes (t.ex. 80). CLOSE-satsen som stänger en fil, har också flere specifikationer, men vanligen används den i formen CLOSE (num) (eller CLOSE (UNIT = num)), där num anger enhetsnummern. En sats som är nyttig för sekventiella filer, är REWIND, som används för att börja behandla filen igen från början. Som ett exempel kan vi studera en del av ett program, som först skriver data på en fil, och sedan läser samma fil på nytt: OPEN (10, FILE= test.dat, STATUS= NEW ) WRITE (10, 10) x,y, (z(i), i=1,n) REWIND 10 READ (10,10) a,b, (c(k), k=1,n) 10 FORMAT (10F8.4) Observera, att data i en fil alltid läses på samma sätt som de skrivits! Istället för att skriva formaterade data, som i fallet ovan, kan man också skriva oformaterade data. Isåfall bör OPEN-satsen innehålla specifikationen FORM= UNFORMATTED, och formatnummern utelämnas då vid läsning och skrivning. I detta fall kommer data att skrivas i binär form, vilket leder till tätare packning (men gör det svårare att använda datafilen på en annan dator). Introduktion till vetenskapliga beräkningar II, Tom Sundius
5 Som ett exempel skall vi studera ett program, som läser en fil, som skrivits oformaterat, och skriver ut formaterade data på en annan fil. PROGRAM bin2text! Program som konverterar en binär fil till text IMPLICIT NONE REAL :: x(100), y(100), a(100,100) INTEGER :: i,j,k,n OPEN (10, FILE= bin.dat, FORM= UNFORMATTED, STATUS= OLD ) READ (10) n READ (10) (x(i), i=1,n),(y(i), i=1,n) READ (10) ((a(i,j),j=1,n), i=1,n) CLOSE (10) OPEN (20, FILE= asc.dat, STATUS= NEW ) WRITE (20, *) Elementen i vektorn x: WRITE (20, 100) DO i=1,n,8 WRITE (20, 100) (x(j), j=i,min(i+7,n)) WRITE (20, (/A) ) Elementen i vektorn y: WRITE (20, 100) DO i=1,n,8 WRITE (20, 100) (y(j), j=i,min(i+7,n)) Introduktion till vetenskapliga beräkningar II, Tom Sundius
6 WRITE (20, (/A) ) Elementen i matrisen A: DO i=1,n DO j=1,n,8 WRITE (20, 100) (a(i,k), k=j, min(j+7,n)) STOP 100 FORMAT (T1,8F9.4) END PROGRAM bin2text Som vi ser, kommer programmet att skriva (högst) åtta tal per rad (observera användningen av funktionen min!). Vid utskriften används implicerade DO-satser, som vi tidigare har nämnt. Formatbeteckningen (/A) leder till att texten föregås av en tom rad (anges av snedstrecket). Den binära filen bin.dat i ovanstående exempel skulle man t.ex. kunna alstra med programmet PROGRAM bintest! Program som genererar en binär testfil IMPLICIT NONE REAL :: x(100), y(100), a(100,100) INTEGER :: n, i, j! Läs in en lämplig dimension (högst 100): Introduktion till vetenskapliga beräkningar II, Tom Sundius
7 DO PRINT *, Matrisdimensionen (högst 100): READ *,n IF (n > 0.and. n <= 100) EXIT! Konstruera matriserna: DO i=1,n x(i) = 10.*i y(i) = i/10. DO j=1,n a(i,j) = i*j! Öppna filen och skriv ut matriserna OPEN (10, FILE= bin.dat, FORM= UNFORMATTED, STATUS= NEW ) WRITE (10) n WRITE (10) (x(i), i=1,n), (y(i), i=1,n) WRITE (10) ((a(i,j), j=1,n), i=1,n) STOP END PROGRAM bintest Introduktion till vetenskapliga beräkningar II, Tom Sundius
8 Matrisdimensionen testas här med en öppen DO-konstruktion för att kontrollera, att den håller sig innanför stipulerade gränser. Med n = 5 ser utskriften från bin2text ut på följande sätt: Elementen i vektorn x: Elementen i vektorn y: Elementen i matrisen A: Vi har tidigare beskrivit hur man öppnar filer för in- och utmatning i Fortran. Vi skall nu diskutera ytterligare några parametrar, som ingår i OPEN-satsen. Introduktion till vetenskapliga beräkningar II, Tom Sundius
9 En av dem är IOSTAT, som anger en heltalsvariabel, vars värde är lika med 0, om filen öppnats utan problem, men annars olika 0. Ett exempel på användningen ges av följande programfragment, som frågar efter namnet på en existerande fil, som öppnas. Ifall något problem uppstår, ges ett felmeddelande. PRINT *, "Ange filnamnet" READ (A), filnamn OPEN (UNIT=1, FILE=filnamn,STATUS="OLD",IOSTAT=ios) IF (ios /= 0) THEN PRINT *, "Kan inte öppna ",filnamn... END IF Parametern IOSTAT kan också användas i in- och utmatningssatser. Värdet 0 anger då att satsen utförts utan problem, medan ett positivt värde anger att ett fel uppstått. Vid in- och utmatning anger ett negativt värde (oftast) att filen tagit slut. Filens slut anges av ett särskilt sluttecken i filen, som skrivs med satsen ENDFILE n, där n anger enhetens nummer. Detta kan t.ex. utnyttjas om man vill lägga till data i slutet av en sekventiell fil, såsom visas av följande exempel: Introduktion till vetenskapliga beräkningar II, Tom Sundius
10 ...! Hoppa till slutet DO READ (UNIT=1, IOSTAT=ios) z IF (ios<0) EXIT! negativ status betyder slutet! Gå ett steg tillbaka BACKSPACE 1! Skriv ny information WRITE (1) x... Man kan också lägga till data i slutet av en fil genom att öppna den med parametern POSITION = APPEND. BACKSPACE-satsen behövs alltid, om filen innehåller ett sluttecken (beror på systemet). Ett dylikt sluttecken kan också explicit skrivas in i filen med ENDFILE-satsen. Istället för IOSTAT kan man i I/O-satser också använda parametern END = num, som överflyttar kontrollen till en instruktion med satsnummern num, ifall filen tar slut. Användningen av IOSTAT rekommenderas dock, eftersom den möjliggör bättre kontroll över vad som verkligen händer. Ytterligare exempel på filhantering ges i följande program, som söker upp ett namn i en fil som innehåller t.ex. namn på användare och användarkoder, och skriver ut användarkoden, ifall namnet kan hittas (för att avsluta sökningen, används * *). Introduktion till vetenskapliga beräkningar II, Tom Sundius
11 PROGRAM search! Program som söker upp användarnamn i en sekventiell fil IMPLICIT NONE CHARACTER(LEN=20) :: fil_namn, f_namn, t_namn, f_n, t_n, a_n INTEGER :: ios LOGICAL :: funnet! Ange filnamn och öppna filen: DO PRINT *, "Ange filnamn:" READ *, fil_namn OPEN (UNIT=1, FILE=fil_namn, STATUS="OLD", IOSTAT=ios) IF (ios == 0) EXIT PRINT *, "Fel på filen!"! Ange förnamn och tillnamn DO funnet =.FALSE. PRINT *, "Förnamn och tillnamn:" READ *, f_namn, t_namn IF (f_namn == "*".AND. t_namn == "*") EXIT REWIND (1)! Sök upp den rätta posten DO READ (UNIT=1, FMT=*, IOSTAT=ios) f_n, t_n, a_n Introduktion till vetenskapliga beräkningar II, Tom Sundius
12 IF (ios<0) THEN! Filen tog slut EXIT ELSE IF (ios>0) THEN! Fel i filen PRINT ("Fel nr ",I3," vid läsning av fil ",A),ios,fil_namn STOP END IF IF (f_namn == f_n.and. t_namn == t_n) THEN PRINT *, "Användarkoden = ",a_n funnet =.TRUE. END IF IF (.NOT. funnet) PRINT *, "Namnet ej funnet!" STOP END PROGRAM search Vid in- och utmatning i Fortran brukar satserna READ, WRITE och PRINT vanligen inleda behandlingen av en ny post. Det finns fall då man skulle vilja läsa endast en del av en post, och resten senare. Detta, som inte var möjligt med FORTRAN 77, kan göras med Fortran 90. Introduktion till vetenskapliga beräkningar II, Tom Sundius
13 Metoden kallas icke-framskridande ( non-advancing ) in- och utmatning, och kan användas endast vid formaterad behandling av sekventiella filer. I detta fall behöver man inte behandla en hel post såsom fallet är vid normal filhantering. Dessutom får man reda på antalet tecken som posten innehåller, samt underrättas om filen tagit slut under läsningen. Icke-framskridande in- och utmatning anges med parametern ADVANCE i en READ eller WRITE sats, som har formen ADVANCE = "YES" eller ADVANCE = "NO". I det förstnämnda fallet används den normala, framskridande metoden, medan man i det senare fallet använder den nya, icke-framskridande metoden. Om ADVANCE ="NO" ingår i en READ-sats, finns det tre möjligheter: 1) Posten lästes inte i sin helhet, och det uppstod inga fel under läsningen. I detta fall kommer nästa READ-sats att fortsätta med behandlingen av samma post. 2) Om posten blivit läst förbi sluttecknet (vilket kan testas med IOSTAT), kommer positionen i filen att vara omedelbart efter ifrågavarande post. Detta uppfattas dock inte som ett feltillstånd. 3) Om något fel inträffade under läsningen (t.ex. filen tog slut) kommer positionen i filen att vara omedelbart efter senast lästa post. För att få reda på hur många tecken som blivit lästa, används parametern SIZE. Sålunda kommer t.ex. den icke-framskridande READ-satsen Introduktion till vetenskapliga beräkningar II, Tom Sundius
14 READ (UNIT=1, FMT=100, ADVANCE="NO", SIZE =nc, & IOSTAT=ios) x,y,z att lagra antalet lästa tecken i variabeln nc, och heltalsvariabeln ios kommer att ange hur läsningen har lyckats. Vid icke-framskridande utmatning finns det bara två möjligheter, antingen uppstod inga fel, och då kommer nästa WRITE-sats att fortsätta med samma post, eller också uppstod det något fel, och positionen i filen kommer att vara efter senast skrivna post. De flesta filer, som vi hittills haft att göra med, har varit sekventiella, dvs de kan läsas och skrivas bara i en riktning. Men man kan också behandla posterna i en fil i en godtycklig ordning, om man öppnar filen med parametern ACCESS="DIRECT". I detta fall måste alla poster i filen ha samma längd, vilket anges genom specifikationen RECL =n, där n är ett heltal, som anger den konstanta postlängden. Posterna i en direktaccess-fil uppfattas vara numrerade. Sålunda kan man t.ex. skriva post 100 oformaterat med satsen WRITE (UNIT=1, REC=100) x,y,z. En formaterad utskrift av formen WRITE (UNIT=1, REC=100, FMT= (10I5) ) (m(i), i=1,100) anger att tio poster kommer att skrivas, utgående från post 100. Observera också då man öppnar en fil för direkt access, att parametern FORM = UNFORMATTED är underförstådd. Introduktion till vetenskapliga beräkningar II, Tom Sundius
15 Posterna i en fil med direkt access kan skrivas i vilken ordning som helst. En post som har blivit skriven, kan skrivas över på nytt, men inte strykas. Om postens längd är kortare än specifikationen RECL, kommer den att fyllas ut till rätt längd. Ett exempel på ett program som använder direkt access för att läsa en fil, skriven med direkt access, visas nedan. PROGRAM direct! Programmet testar direkt access IMPLICIT NONE CHARACTER :: post*80, fil_namn*30 INTEGER :: ios, post_nr! Ange filnamn och öppna filen: DO PRINT *, "Ange filnamn:" READ *, fil_namn OPEN (UNIT=1, FILE=fil_namn, ACCESS="DIRECT", & FORM="FORMATTED", STATUS="OLD", RECL=50, IOSTAT=ios) IF (ios == 0) EXIT PRINT *, "Fel på filen!"! Ange postnummer DO PRINT *, Ange postnummer (0 avslutar): Introduktion till vetenskapliga beräkningar II, Tom Sundius
16 READ *, post_nr IF (post_nr <= 0) EXIT! Sök upp posten, och skriv ut den READ (UNIT=1, FMT = (A), REC = post_nr, IOSTAT = ios) IF (ios == 0) THEN PRINT *, post ELSE PRINT *, "Läsfel!" END IF PRINT *, "Filen behandlad" STOP END PROGRAM direct post Om filen inte kunde öppnas, kommer heltalsvariabeln ios att få ett värde olika noll. Detta sker både ifall filnamnet är orätt skrivet, eller filen har fel format (t.ex. variabel postlängd, etc.). Om det angivna postnumret inte är positivt, avbryts programmet, medan postnumret i annat fall anges på nytt. Om man anger ett större postnummer än vad som finns i filen, kommer heltalsvariabeln ios att få ett värde olika noll, vilket anges som läsfel. Introduktion till vetenskapliga beräkningar II, Tom Sundius
17 Filer av det slag som vi tillsvidare diskuterat, brukar också kallas yttre filer för att skilja dem från s.k. inre filer, som egentligen inte är några filer, men beter sig som sådana. En inre fil är egentligen bara ett sätt att konvertera mellan olika format. En dylik fil är vanligen en variabel av typ CHARACTER. Bäst förklarar man användningen med ett exempel. CHARACTER (LEN=50) :: rad WRITE (UNIT=rad, FMT= (2F10.5,3I10) ) x,y,i,j,k READ (UNIT=rad, FMT= (2(F8.3,2X),3(I8,2X)) ) x,y,i,j,k WRITE-satsen kommer här att alstra en teckensträng i variabeln rad som består av värdena av de reella variablerna x och y med fem decimaler och tio tecken vardera, samt heltalsvariablerna i, j och k också med tio tecken var. Dessa variabler matas in i samma teckensträng och förkortas till åtta tecken var. Introduktion till vetenskapliga beräkningar II, Tom Sundius
18 2.9. Noggrannhet och precision vid numeriska beräkningar Nogrannhet i datorframställningen av ett flyttal bestäms av antalet bitar i mantissan, och vilka tal som kan framställas på detta sätt bestäms av vilka värden exponenten kan anta. Detta beror givetvis på datorns ordlängd, vilket ställer till med problem då man överför program mellan olika datorer. För att avhjälpa detta, har man infört parametriserade variabler i Fortran 90 vilket gör det möjligt att kontrollera precisionen och exponentens räckvidd. Parametriseringen sker med en särskild parameter KIND. Vi skall belysa detta med några exempel: REAL :: x, y, z REAL, DIMENSION(100) :: a REAL(KIND=4) :: b, c REAL(KIND=2) :: v(5) Variablerna x, y, z och vektorn a är alla vanliga variabler av typ REAL, medan b och c har KIND typ 4 och vektorn v har KIND typ 2. För att ta reda på KIND-typen, kan man använda en inbyggd funktion KIND. Sålunda kommer t.ex. satsen i = KIND(b), om b deklarerats som ovan, att ge värdet 4 åt variabeln i. Det är inte nödvändigt att utsätta parameternamnet KIND i en deklaration, det räcker att skriva t.ex. REAL(4), men det blir tydligare om man använder den fullständigare formen REAL(KIND=4). Introduktion till vetenskapliga beräkningar II, Tom Sundius
19 I allmänhet är KIND-typerna datorberoende, men det finns en möjlighet i Fortran 90 att konstruera KINDparametrar, som är helt datoroberoende. Detta sker med den inbyggda funktionen SELECTED REAL KIND, som kan ha två heltaliga argument, P och R (det finns även SELECTED INT KIND). Det förstnämnda argumentet P anger minimiantalet decimaler som behövs, och det andra argumentet R anger den minsta räckvidden för exponenten som behövs. Om man t.ex. deklarerar en variabel med satsen REAL(KIND=SELECTED REAL KIND (P=7,R=30)) :: a, så betyder det att man för att framställa a behöver minst 7 decimaler och att exponentens räckvidd bör vara minst 30. Om samma noggrannhet används i flera deklarationer, lönar det sig att definiera en särskild konstant för KIND-parametern, t.ex. på följande sätt: INTEGER, PARAMETER :: real_7_30 = SELECTED_REAL_KIND(P=7,R=30)... REAL(KIND=real_7_30) :: a... I de flesta datorer är det möjligt att lagra flyttal i enkel eller dubbel precision, och de har hårdvara för att utföra aritmetiska operationer med dem. Om datorn räknar med sex signifikanta siffor och har en exponenträckvidd av 40, kommer den i ovanstående fall att räkna med dubbel precisions noggrannhet, men om ordlängden å andra sidan är så lång, att enkel precision räcker till för att framställa tal med 15 signifikanta siffror, och exponentens räckvidd är 300, så räcker enkel precision till i detta fall. Introduktion till vetenskapliga beräkningar II, Tom Sundius
20 För att bättre inse betydelsen av precision vid numeriska beräkningar skall vi studera ett program, som beräknar uttrycket ( n 1 ) 2 ( ) 2 3 2n n 2n 1 för olika värden av n, och med olika stor precision (som man får om man ändrar argumentet P i SELECTED REAL KIND: PROGRAM prec_test IMPLICIT NONE INTEGER, PARAMETER :: real6 = SELECTED_REAL_KIND(P=6,R=32) REAL(KIND=real6) :: x, p, q, s INTEGER :: k, n DO PRINT *, Ge värdet av n= READ *,n IF (n <= 0) EXIT x = 1. p = 1. DO k=1,2*n-1 x = REAL(k) p = (x/(x+1.))*p x = 1. Introduktion till vetenskapliga beräkningar II, Tom Sundius
21 q = 1. DO k=1,2*n-1 x = REAL(k) q = ((x+1.)/x)*q s = SQRT(p*p)*q PRINT *, s STOP END PROGRAM prec_test Det matematiskt korrekta resultatet är 1, men avrundningsfel kommer att leda till fel, som är särskilt markanta vid låg precision (t.ex. 6 decimaler), vilket framgår av nedanstående exempel: OUTO...ADB_KURS>r prec_test2 Ge värdet av n= Ge värdet av n= Ge värdet av n= Introduktion till vetenskapliga beräkningar II, Tom Sundius
22 Om man ökar precisionen (t.ex. till 14 decimaler), minskar avvikelsen betydligt, vilket man ser genom att testköra en modifikation av programmet ovan: OUTO...ADB_KURS>r prec_test3 Ge värdet av n= Ge värdet av n= Ge värdet av n= Vi skall också studera hur KIND typerna kan användas för ange precision i numeriska metoder. En av de enklaste metoderna att numeriskt beräkna en rot till en ekvation brukar kallas funktionsiteration. Om man på något sätt kan skriva ekvationen f(x) = 0 i formen x = g(x), så kan man iterera fram en rot genom utgå från en approximation till roten, substituera den i högra membrum samt räkna ut en ny approximation till roten. Detta betyder att man beräknar roten genom successiva approximationer: x n+1 = g(x n ), n = 0, 1, 2,.... Beräkningen avbryts, då skillnaden mellan två på varandra följande approximationer är mindre än en given toleransgräns: x n+1 x n < ɛ. Introduktion till vetenskapliga beräkningar II, Tom Sundius
23 Metoden har tillämpats i följande program, som beräknar den reella roten till ekvationen x 3 2x 5 = 0. Denna ekvation, som studerades redan av Newton 1669, kan skrivas i formen x = (2x + 5) 1/3, vilket gör det möjligt att tillämpa funktionsiteration. MODULE precision! Modul som anger variablernas precison IMPLICIT NONE INTEGER, PARAMETER :: r=selected_real_kind(p=14,r=30) END MODULE precision MODULE functions IMPLICIT NONE CONTAINS FUNCTION fn(x) USE precision IMPLICIT NONE REAL(KIND=r) :: fn REAL(KIND=r), INTENT(IN) :: x fn = (2._r*x + 5._r)**(1._r/3._r) RETURN END FUNCTION fn END MODULE functions PROGRAM fun_it! Program för iterativ rotbestämning: x = fn(x) USE precision Introduktion till vetenskapliga beräkningar II, Tom Sundius
24 USE functions IMPLICIT NONE REAL(KIND=r) :: x, x1, dx INTEGER :: i, maxit PRINT *, "Ge en approximation till roten" READ *, x1 PRINT *, "Ge maximiantalet iterationer" READ *, maxit PRINT *, "Ge önskad precision" READ *, dx! Iterera: DO i=1,maxit x = fn(x1) IF (ABS(x-x1) < dx) EXIT x1 = x PRINT *, " x = ",x IF (i > maxit) PRINT *, "Proceduren har inte konvergerat" PRINT *, "Antal iterationer: ",i PRINT *, " x = ",x STOP END PROGRAM fun_it Introduktion till vetenskapliga beräkningar II, Tom Sundius
25 I detta program, liksom i det föregående programmet, användes 14 decimalers precision, som definierats i en särskild modul, kallad precision. Variabler med denna precision har deklarerats som REAL(KIND=r). På ett liknande sätt har också konstanter angetts med samma precision, t.ex. 2. r. Konvergensen är rätt snabb, med utgångsvärdet x = 2 fås ett resultat med tio korrekta decimaler efter 12 iterationer, och med utgångsvärdet x = 100 efter 15 iterationer: Ge en approximation till roten 2 Ge maximiantalet iterationer 30 Ge önskad precision 1.E-10 x = x = x = x = x = x = x = x = x = x = x = Antal iterationer: 12 x = Introduktion till vetenskapliga beräkningar II, Tom Sundius
2.4. Teckensträngar och logiska uttryck
2.4. Teckensträngar och logiska uttryck I Fortran sparar man text i variabler av typen CHARACTER. För varje tecken reserveras normalt 1 byte i minnet. För att deklarera en teckenvariabel TEXT och samtidigt
Läs merEnklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut
F5: Filhantering in- och utmatning (kap. 2 och 8) 1 Utskrift på skärm, inläsning från tangentbord (kap. 2) Spara och hämta variabler med save och load (kap. 2) Kommandot textread Mer avancerad filhantering:
Läs merTextsträngar från/till skärm eller fil
Textsträngar från/till skärm eller fil Textsträngar [Kapitel 8.1] In- och utmatning till skärm [Kapitel 8.2] Rekursion Gränssnitt Felhantering In- och utmatning till fil Histogram 2010-10-25 Datorlära,
Läs merDatorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer
Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma
Läs mer5 Grundläggande in- och utmatning
5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merTAIU07 Matematiska beräkningar med Matlab
TAIU07 Matematiska beräkningar med Matlab Datorlektion 2. Villkor och Repetition 1 Logiska uttryck Uppgift 1.1 Låt a=3 och b=6 Vad blir resultatet av testerna ab? Uppgift 1.2 Låt a, b,
Läs merInledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
Läs merRepetition av filer Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Formattera text 2 3 REPETITION AV FILER Filer på en dator En fil består av en sekvens av digitalt data (ettor och nollor). Upp till program att tolka dessa siffror. Skillnad
Läs mer1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet
1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken
Läs merInstitutionen för datavetenskap 2014/15
LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk
Läs merIntroduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Läs merFöreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Läs mer1 Funktioner och procedurell abstraktion
1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merMMA132: Laboration 1 Introduktion till MATLAB
MMA132: Laboration 1 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med kombinationer
Läs merIntroduktion till vetenskapliga beräkningar II, Tom Sundius 2009 1
forts. på föregående föreläsning: Vi har redan nämnt att det finns inbyggda funktioner i Fortran, och har också redan använt några av de matematiska funktionerna, såsom ABS, SQRT och SIN. Vi skall nu studera
Läs merExempel på ett litet Ada-program
Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merMatematisk Modellering
Matematisk Modellering Föreläsning 1 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/37 Denna föreläsning (läsvecka 1) Vad handlar kursen om, mål, kurskrav, ide. Matematisk
Läs merLösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
Läs merTentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Läs merPascal... Pascal. Pascal... Pascal...
... Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken
Läs merAlgoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
Läs merPascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt
Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken
Läs merTATA42: Föreläsning 10 Serier ( generaliserade summor )
TATA42: Föreläsning 0 Serier ( generaliserade summor ) Johan Thim 5 maj 205 En funktion s: N R brukar kallas talföljd, och vi skriver ofta s n i stället för s(n). Detta innebär alltså att för varje heltal
Läs merKPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner
KPP053, HT2015 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen
Läs merHjälpmedel för kompilatorkonstruktion, DVB004
Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,
Läs mer3.3. Symboliska matematikprogram
3.3. Symboliska matematikprogram Vi skall nu övergå till att behandla de vanligaste matematikprogrammen, och börja med de symboliska. Av dessa kan både Mathematica och Maple användas på flere UNIX-datorer.
Läs merKapitel 15: Data/Matrix Editor
Kapitel 15: Data/Matrix Editor 15 Översikt över Data/Matrix Editor... 226 Översikt över list-, data- och matrisvariabler... 227 Starta en Data/Matrix Editor-session... 229 Mata in och visa cellvärden...
Läs merInlämningsuppgift 4 NUM131
Inlämningsuppgift 4 NUM131 Modell Denna inlämningsuppgift går ut på att simulera ett modellflygplans rörelse i luften. Vi bortser ifrån rörelser i sidled och studerar enbart rörelsen i ett plan. De krafter
Läs mer2.2. Ett enkelt Fortran-program
2.2. Ett enkelt Fortran-program Vi kommer nu att gå in på grunderna till programmering, och väljer Fortran som programmeringsspråk, dels för att det är det mest använda för numeriska beräkningar i fysik
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merProgrammeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merÖvningar i JavaScript del 2
Övningar i JavaScript del 2 Genm dessa övningar frtsätter intrduktinen av JavaScript. Vi tar nu upp if-satser ch lite mer m funktiner. Vi kmmer ckså in på tillämpningar sm att byta en bild på webbsidan
Läs merIckelinjära ekvationer
Löpsedel: Icke-linjära ekvationer Ickelinjära ekvationer Beräkningsvetenskap I Varför är det svårt att lösa icke-linjära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod
Läs merTentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
Läs merGrunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Läs merUppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa
Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merGrundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Läs merBjörn Abelli Programmeringens grunder med exempel i C#
Björn Abelli Programmeringens grunder med exempel i C# Övningshäfte (bearbetning pågår) Senaste uppdatering: 2004-12-12 I denna version finns övningar för de mest centrala avsnitten. Häftet kommer att
Läs mer4 Sammansatta datatyper
4 Sammansatta datatyper De enkla datatyper som vi hittills använt är otillräckliga när man ska hantera stora datamängder. Vill man exempelvis läsa in 100 reella mätvärden, som man tillfälligt vill spara
Läs mer1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
Läs merSTYRNING AV PORTFÖLJER MED FLERA TILLGÅNGAR
1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för Matematisk statistik Thomas Höglund FINANSMATEMATIK I. KOMPLEMENT DAG 13. STYRNING AV PORTFÖLJER MED FLERA TILLGÅNGAR Hittills har vi betraktat
Läs mera), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.
PASS 9. OLIKHETER 9. Grundbegrepp om olikheter Vi får olikheter av ekvationer om vi byter ut likhetstecknet mot något av tecknen > (större än), (större än eller lika med), < (mindre än) eller (mindre än
Läs merApproximation av funktioner
Vetenskapliga beräkningar III 8 Kapitel Approximation av funktioner Vi skall nu övergå till att beskriva, hur man i praktiken numeriskt beräknar funktioner I allmänhet kan inte ens elementära funktioner
Läs merFöreläsning 4: Poster
Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra
Läs merChapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Läs merLektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler
Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler Denna lektion tar upp Utskrifter: Utskrift av variabelvärden på skärmen i DrJavas Interaktions-fönster eller i ett Popup-fönster
Läs mer4.3. Programmering i MATLAB
4.3. Programmering i MATLAB MATLAB används ofta interaktivt, dvs ett kommando som man skriver, kommer genast att utföras, och resultatet visas. Men MATLAB kan också utföra kommandon som lagrats i filer,
Läs merProgrammering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010
Föreläsning 6 Kapitel 5 5.1 switch-satsen Vi ser på ett par exempel ur boken: int a; srand(time(0)); a=rand()%6+1; if(a==1) printf("hej Du glade\n"); else if(a==2) printf("god dag\n"); else if(a==3) printf("är
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merProjekt: Basketbollkast
Projekt: Basketbollkast av Grupp 3: Mikael B, Jörgen H, Sofie J, Johannes L, Anton N, Jenny P och Rasmus W för kursen Beräkningsprogrammering, NUM131 Sida 1 av 22 7 6 1 2 3 4 5 height (m) 4 3 Sida 2 av
Läs merFöreläsning 8: Aritmetik och stora heltal
2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen
Läs merÖversikt över Visual Basic
Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller
Läs merObjektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim
Objektorienterad programmering Föreläsning 11 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Multipla relationer Flerdimensionella fält Nationella inställningar Redigering av utskrifter
Läs merRepetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014
Repetitionsuppgifter i Matematik inför Basår Matematiska institutionen Linköpings universitet 04 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Funktioner 7 Logaritmer 9 6 Facit 0 Repetitionsuppgifter
Läs merAnvisningar för ifyllning av Excelark för databaser (sekventiella textfiler)
2009-10-09 (reviderad 2011-01-04, 2011-01-31, 2011-10-03, 2012-02-20, 2012-09-17, 2014-05-09) Riksarkivet Anvisningar för ifyllning av Excelark för databaser (sekventiella textfiler) 1 Anvisningar för
Läs merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs mer6.3. Direkta sökmetoder
6.3. Direkta sökmetoder Förutom de nyss nämnda metoderna för att uppsöka ett minimum av en funktion av en variabel finns det en enkel metod som baserar sig på polynomapproximation av funktionen. Om vi
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merTips och tricks 1 Cadcorp SIS 5.2 2003-03-03
Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Skapa en raster pensel från en Windows bakgrund (1) 1. Kontrollera att Paper är uppsatt som koordinatsystem/projektion 2. Öppna en Bitmap fil i ett tom fönsterfil
Läs merGrunderna i SQL del 1
Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 3 Kap. 4 Kap. 5 utom
Läs mer16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5
16 Programmering Skriva program till TI-86... 214 Köra program... 221 Arbeta med program... 223 Hämta och köra assemblerprogram... 226 Arbeta med strängar... 227 TI -86 M1 M2 M3 M4 M5 F1 F2 F3 F4 F5 214
Läs merCOBOL. från grunden. monitors. Peter Sterwe. training people
training people monitors COBOL från grunden Peter Sterwe Lär dig grunderna i COBOL-programmering på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning
Läs merTentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merTänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merIntroduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Läs merUppgift 1 (Oläsliga krypterade meddelanden)
Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse
Läs merBeräkningsvetenskap föreläsning 2
Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa
Läs merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merIntroduktion. Exempel Övningar Lösningar 1 Lösningar 2 Översikt
KTHs Sommarmatematik 2003 Exempel Övningar Lösningar 1 Lösningar 2 Översikt 5.1 Introduktion Introduktion Exponentialfunktionen e x och logaritmfunktionen ln x är bland de viktigaste och vanligast förekommande
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merDynamisk HTML JavaScript och webbläsarens objektmodell
Dynamisk HTML 1 JavaScript och webbläsarens objektmodell Ove Lundgren (2009) Ove Lundgren - 1 - DOMDHTML2009.doc Innehåll Dynamisk HTML Webbläsarens variabler och metoder. Objektmodellen. Anropa metoder
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs merMatematisk statistik allmän kurs, MASA01:B, HT-14 Laboration 2
Lunds universitet Matematikcentrum Matematisk statistik Matematisk statistik allmän kurs, MASA01:B, HT-14 Laboration 2 Rapporten till den här laborationen skall lämnas in senast den 19e December 2014.
Läs merTentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan
MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.
Läs merIntroduktion till Winbas. produkt och prisinläsning
Introduktion till Winbas produkt och prisinläsning Produkt och prisinläsning Kunskaper i post- och filhantering Att arbeta med inläsningar av produktinformation såsom priser, benämningstexter m.m. kräver
Läs merSeriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]
2013 Svenska Motorcykel- och Snöskoterförbundet Box 2314 600 02 NORRKÖPING Tel. 011-23 10 80 www.svemo.se Seriehantering [En enkel guide för hur du som serieadministratör använder SVEMO TA.] Innehåll Inledning...
Läs merDD1361 Programmeringsparadigm. Carina Edlund
DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merOmtentamen i DV & TDV
Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström (e-post wikstrom) Omtentamen i Teknisk-Vetenskapliga Beräkningar för DV & TDV Tentamensdatum: 2005-06-07 Skrivtid: 9-15 Hjälpmedel: inga
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merÖversikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Läs merANDREAS REJBRAND 2014-04-25 Matematik http://www.rejbrand.se. Numeriska serier. Andreas Rejbrand, april 2014 1/29
Numeriska serier Andreas Rejbrand, april 2014 1/29 1 Inledning Författarens erfarenhet säger att momentet med numeriska serier är ganska svårt för många studenter i inledande matematikkurser på högskolenivå.
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs merSTADSBYGGNADSFÖRVALTNINGEN. Aktivitetsstöd. Behörigheten Föreningsadministratör. Datum: 2015-09-22 Version 2. Sidan 1 (30)
Aktivitetsstöd Behörigheten Föreningsadministratör Datum: 2015-09-22 Version 2 Sidan 1 (30) Innehållsförteckning 1. Aktivitetsstöd - Inledning... 3 1.1 Användare - Webbadress tillre Aktivitetsstöd... 3
Läs merMATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.
Introduktion till MATLAB Martin Nilsson Avdelningen för teknisk databehandling Institutionen för informationsteknologi Uppsala universitet MATLAB the Matrix Laboratory utvecklat av MathWorks, Inc. Matematisk
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
Läs mer