2.4. Teckensträngar och logiska uttryck

Storlek: px
Starta visningen från sidan:

Download "2.4. Teckensträngar och logiska uttryck"

Transkript

1 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 reservera 30 tecken för den, använder man deklarationen CHARACTER (LEN=30) :: TEXT. Om man reserverar olika mycket utrymme för flere teckenvariabler, kan detta göras med en enda sats, t.ex. CHARACTER :: a*10, b*20, c*30, som reserverar 10 tecken för variabeln a, 20 tecken för variabeln b och 30 tecken för variabeln c. En teckenvariabel kan definieras genom att sätta den lika med ett uttryck, vars värde är en teckensträng. Ett sådant uttryck kan t.ex. vara en teckensträng omgiven av apostrofer, så att t.ex. TEXT = ABCDE definierar värdet av en teckenvariabel TEXT med 5 tecken. Om man skriver en teckensträng med mindre antal tecken än vad som har reserverats för teckenvariabeln ifråga, kommer den att utfyllas med mellanrum (blanka tecken) till sin fulla längd. Detta innebär, att om för en teckenvariabel TEXT reserverats 10 tecken, och den har definierats som TEXT = tecken, så betyder detta detsamma som TEXT = tecken. Om man å andra sidan skriver en teckensträng med flere tecken än vad som reserverats, så kommer strängen att stympas, så att den får den rätta längden. Om vi t.ex. definierar variabeln TEXT i exemplet ovan som TEXT = teckensträng, så kommer detta att betyda detsamma som TEXT = teckensträ. Introduktion till vetenskapliga beräkningar II, Tom Sundius

2 Som vi tidigare omnämnt i samband med utskrift av text, gäller också för teckenvariabler att apostrofer dubbleras, om sådana förekommer i teckensträngen. Sålunda skriver man t.ex. TEXT = Descartes filosofi. Man kan också utföra en operation på teckensträngar, nämligen sammanlänkning (eng.: concatenation) med sammanlänkningsoperatorn //. Ett exempel på sammanlänkning är TEXT = tec // ken. Också understrängar kan definieras genom att man skriver två heltalsuttryck efter variabelnamnet innanför parentes, samt åtskilda av ett kolon, t.ex. TEXT(2:4), som i ovanstående fall betecknar strängen eck. Om man bara vill ändra en del av en sträng, kan man också ge ett värde åt en understräng. Ett exempel på detta är t.ex. instruktionerna CHARACTER (6) :: str str = fyrtio str(2:3) = em som förvandlar fyrtio till femtio. Som ett exempel på manipulation av teckensträngar kan vi se på följande program, som skriver ut en hälsning på skärmen: Introduktion till vetenskapliga beräkningar II, Tom Sundius

3 PROGRAM goddag! Exempel på manipulation av textsträngar IMPLICIT NONE CHARACTER :: titel*10, fornam*20, tilnam*20 CHARACTER (52) :: fulnam! Fråga namnet: PRINT *, Var god skriv fullständigt namn i önskad form PRINT *, Titel (herr, fru, fröken, etc...): READ *, titel PRINT *, Förnamn: READ *, fornam PRINT *, Tillnamn: READ *, tilnam! Konstruera hela namnet: fulnam = TRIM(titel)// //TRIM(fornam)// //TRIM(tilnam)! Skriv en hälsning: PRINT *, Goddag,,TRIM(fulnam),! PRINT *, Eller får jag säga,trim(fornam),? END PROGRAM goddag Introduktion till vetenskapliga beräkningar II, Tom Sundius

4 Observera, att teckensträngarna utfylls till sin fulla längd. Därför har TRIM-funktionen, som putsar bort extra mellanrum använts i programmet. Vi skall nu diskutera logiska variabler, som är av betydelse speciellt i villkorssatser. En logisk variabel test deklareras med en instruktion av formen LOGICAL :: test, och definieras med ett logiskt uttryck, som antingen kan vara sant (.TRUE.), eller falskt (.FALSE.). Logiska uttryck (eller booleska uttryck) kan konstrueras med relationsoperatorer. Det finns sex relationsoperatorer i Fortran 90, som har varsin motsatta operator: Relationsoperator Motsatt operator < (mindre än) >= (större el. lika med) <= (mindre el. lika med) > (större än) == (lika med) /= (inte lika med) >= (större el. lika med) < (mindre än) > (större än) <= (mindre el. lika med) /= (inte lika med) == (lika med) Introduktion till vetenskapliga beräkningar II, Tom Sundius

5 Om a och b är två reella variabler, så kan vi t.ex. konstruera logiska uttryck av formen a > b och a <= b, som är varandras motsatser. För att ange motsatsen till ett logiskt uttryck kan man också använda den logiska operatorn.not., vilket t.ex. betyder att a <= b är detsamma som.not. ( a > b). Dessutom finns det fyra andra logiska operatorer, nämligen.and. ( och ),.OR. ( eller ),.EQV. ( ekvivalent med ) och.neqv. ( inte ekvivalent med ). Med hjälp av dessa logiska (eller booleska) operatorer är det möjligt att konstruera mer komplicerade logiska uttryck. Logiska operatorer får endast verka på logiska uttryck, vilket innebär att om t.ex. a, b och c är reella variabler, så är a > b.or. a < c ett korrekt konstruerat logiskt uttryck, medan a.or. b < c är felaktigt. De logiska operatorerna följer en prioritetsordning, enligt vilken.not. har den högsta prioriteten, därpå följer.and., sedan.or., och sist.eqv. och.neqv., som alltså har den lägsta prioriteten. Denna prioritetsordning kan givetvis förändras med hjälp av parenteser. För att bestämma värdet av ett logiskt uttryck använder man en sanningstabell: Introduktion till vetenskapliga beräkningar II, Tom Sundius

6 Log. uttryck Logisk Log. uttryck Logiskt A operator B resultat.not..true..false.false..true..true..and..true..true..true..false..false..false..true..false..false..false..false..true..or..true..true..true..false..true..false..true..true..false..false..false..true..eqv..true..true..true..false..false..false..true..false..false..false..true..true..neqv..true..false..true..false..true..false..true..true..false..false..false. Introduktion till vetenskapliga beräkningar II, Tom Sundius

7 Operatorerna.EQV. och.neqv., som är mer speciella, ger till resultat sanna värden om operanderna är ekvivalenta, resp. icke-ekvivalenta (dvs har samma logiska värden, resp. motsatta). Med hjälp av dessa operatorer kan man förenkla endel komplicerade uttryck. Sålunda innebär t.ex. (a < b.and. c < d).or. ( a >= b.and. c >= d) detsamma som a < b.eqv. c < d. Den viktigaste användningen av logiska uttryck är i villkorssatser, som har den allmänna strukturen IF ( logiskt uttryck ) THEN... ELSE... END IF Om det logiska uttrycket i ovanstående villkorssats har värdet.true., utförs satserna mellan THEN och ELSE, i motsatt fall utförs satserna mellan ELSE och ENDIF. Om ELSE fattas, kommer exekveringen att fortsätta efter ENDIF, ifall det logiska uttrycket är osant. Introduktion till vetenskapliga beräkningar II, Tom Sundius

8 Man kan också placera flera sådana IF-block innanför varandra: IF ( villkor 1 ) THEN... ELSE IF ( villkor 2 ) THEN... ELSE IF ( villkor 3 ) THEN... ELSE... END IF I detta fall kommer satserna mellan det sista ELSE och END IF att utföras endast om inte ett enda av villkoren 1, 2 eller 3 gäller. Endast ett av blocken kommer att utföras. Som ett exempel på användningen av villkorssatser skall vi välja ett program, som beräknar kubikroten ur ett givet tal med formeln a 1/3 = e ln a/3, (a > 0). Programmet testar, om talet till sitt absoluta värde är så litet, att roten kan anses vara noll, och beaktar dessutom, att kubikroten ur ett negativt tal fås genom att byta förtecken framför kubikroten ur det motsvarande positiva talet. Introduktion till vetenskapliga beräkningar II, Tom Sundius

9 PROGRAM root3! Program som beräknar tredje roten av ett givet tal IMPLICIT NONE REAL :: a, eps, x, sign eps = 1.E-20! Läs in talet PRINT *, Skriv in talet: READ *, a! Kontrollera att talet inte är noll: IF (ABS(a) < eps) THEN x = 0. ELSE sign = 1. IF (a < 0.) THEN sign = -1. END IF x = sign*exp(log(abs(a))/3.0) END IF! Skriv ut resultatet: PRINT *, Kubikroten ur,a, är,x STOP END PROGRAM root3 Detta program innehåller två IF-block innanför varandra. Kubikroten beräknas med instruktionen x = sign*exp(log(abs(a))/3.0), där absoluta värdet av argumentet använts för att man också skall kunna korrekt behandla kubikroten ur negativa tal. Introduktion till vetenskapliga beräkningar II, Tom Sundius

10 Vi skall nu studera ett mera komplicerat IF-block. Vi ska undersöka, om en given punkt (x, y) ingår i rektangeln A: {0 x 2, 0 y 1}, rektangeln B: {1 x 2, 0 y 2} eller i bägge två. Programmet ser ut såhär: PROGRAM punkter IMPLICIT NONE LOGICAL rektangel_a, rektangel_b REAL x,y PRINT *, Skriv ett talpar x, y: READ *, x, y rektangel_a = (x>=0.and. x<=2.and. y>=0.and. y<=1) rektangel_b = (x>=1.and. x<=2.and. y>=0.and. y<=2) IF(rektangel_A.AND. rektangel_b) THEN PRINT *, Punkten finns i båda rektanglarna! ELSE IF(rektangel_A) THEN PRINT *, Punkten finns i rektangel A ELSE IF(rektangel_B) THEN PRINT *, Punkten finns i rektangel B ELSE PRINT *, Punkten är utanför rektanglarna! END IF END PROGRAM punkter Som vi ser, kan logiska variabler lätt konstrueras med hjälp av logiska uttryck. Introduktion till vetenskapliga beräkningar II, Tom Sundius

11 2.5. DO-slingor och programkontroll I Fortran 90 finns en särskild satskonstruktion för att välja ett av flere möjliga alternativ, beroende av värdet för ett uttryck. Denna konstruktion kallas CASE, och har följande allmänna form: SELECT CASE ( uttryck ) CASE ( selektor ) ( Fortran-satser ) CASE ( selektor ) ( Fortran-satser )... END SELECT Den första satsen i CASE-konstruktionen har formen SELECT CASE (uttryck), där uttrycket kan vara ett heltalsuttryck, teckenuttryck eller logiskt uttryck (observera: inte reellt uttryck!). Värdet av detta uttryck beräknas, varpå satserna som följer efter den lämpligaste CASE-satsen utföres. En CASE-sats har antingen formen CASE (selektor) eller CASE DEFAULT (ifall inte någon av de övriga CASE-satserna går att tillämpa). Introduktion till vetenskapliga beräkningar II, Tom Sundius

12 En selektor kan se ut på fyra olika sätt: a) ett enkelt värde. I detta fall utförs de efterföljande Fortran-satserna endast om det ovannämnda uttrycket är lika med detta värde. b) ett värde efterföljt av kolon (:). I detta fall utförs de efterföljande Fortran-satserna endast om detta värde är mindre eller lika med ovannämnda uttryck. c) ett värde som föregås av kolon (:). I detta fall utförs de efterföljande Fortran-satserna endast om det ovannämnda uttrycket är mindre eller lika med detta värde. d) två värden, åtskiljda av ett kolon. I detta fall utförs de efterföljande satserna endast om det mindre värdet är mindre eller lika med uttrycket och uttrycket är mindre eller lika med det större värdet. Som ett enkelt exempel på användningen av en dylik CASE-konstruktion skall vi studera ett program, som svarar Gomorron, Goddag, Goafton eller Gonatt, beroende på vad klockan är: Introduktion till vetenskapliga beräkningar II, Tom Sundius

13 PROGRAM dagstid IMPLICIT NONE CHARACTER (LEN=5) :: klockan CHARACTER (LEN=2) :: timmen! Fråga tiden: PRINT *, "Vad är klockan (skriv tiden som xx:yy)" READ *, klockan! Ta reda på timmen: timmen = klockan(1:2)! Skriv ett svar SELECT CASE (timmen) CASE ("06":"11") PRINT *, "Gomorron!" CASE ("12":"17") PRINT *, "Goddag!" CASE ("18":"23") PRINT *, "Goafton!" CASE ("00":"05") PRINT *, "Gonatt!" CASE DEFAULT PRINT *, "Omöjligt!" END SELECT STOP END PROGRAM dagstid Introduktion till vetenskapliga beräkningar II, Tom Sundius

14 Ett annat exempel är ett program som löser en andragradsekvation, och använder en SELECT-konstruktion för att skilja mellan de olika fallen (två reella rötter, två sammanfallande rötter, eller ingen reell rot). PROGRAM kvadekv IMPLICIT NONE REAL, PARAMETER :: eps=1.e-7 REAL :: a,b,c,d,d1,x1 INTEGER :: selektor PRINT *, "Ge koefficienterna a, b och c:" READ *, a,b,c! Räkna ut diskriminanten d = b*b - 4*a*c! Dividera med eps (mindre tal räknas som noll) selektor = d/eps x1 = -b/(a+a) SELECT CASE (selektor) CASE (1:)! Två rötter d1 = SQRT(d)/(a+a) PRINT *, "Ekvationen har rötterna: ",x1+d1," och ",x1-d1 CASE (0)! En rot PRINT *, "Ekvationen har roten ",x1 CASE (:-1)! Inga rötter PRINT *, "Ekvationen har inga reella rötter!" END SELECT STOP END PROGRAM kvadekv Introduktion till vetenskapliga beräkningar II, Tom Sundius

15 Numeriska beräkningar görs mycket ofta iterativt, dvs man upprepar en viss sekvens av instruktioner många gånger tills önskat resultat uppnås. I Fortran sker detta med hjälp av DO-slingor, som inleds av DOinstruktion DO n ind = i 1, i 2, i 3. Här betecknar ind den s.k. DO-variabeln (vanligen en heltalsvariabel), som bestämmer hur många gånger slingan upprepas. Uttrycket i 1 anger DO-variabelns begynnelsevärde, i 2 dess slutvärde, och i 3 ökningen (som bör vara olika 0). Om i 3 lämnas bort, antas ökningen vara 1. När en DO-sats utförs, kommer DO-variabelns begynnelsevärde, slutvärde och tillskott först att räknas ut, varefter den antar sitt begynnelsevärde i 1. Därpå beräknas iterationstalet enligt formeln max[int( i 2 i 1 +i 3 i ), 0], där int anger en heltalsdivision. Om iterationstalet blir lika med 0, avbryts 3 utförandet av slingan, och kontrollen flyttas över till den första instruktionen efter slingan, som blir inaktiv. Slingan DO i=1,42,5 kommer således att utföras max[int( ), 0] = 9 gånger. Som vi ser, kommer inga iterationer att utföras, om i 1 > i 2 och i 3 > 0 eller i 1 < i 2 och i 3 < 0. Så länge iterationstalet är positivt utförs instruktionerna i DO-slingan ända till den sista satsen, som har satsnumret n (i kolumnerna 1-5). I Fortran 77 var denna sats vanligen CONTINUE, men kunde också vara någon annan sats, som inte förändrar programflödets riktning. I Fortran 90 avslutas en DO-slinga av kommandot END DO, som också godkänns av många kompilatorer som följer den äldre standarden. Detta kommando behöver inte något satsnummer. Introduktion till vetenskapliga beräkningar II, Tom Sundius

16 Den allmänna formen av en programslinga är därför enklare i Fortran 90: DO ind = i1, i2, i3... ( Programsatser )... END DO Här bör DO-variabeln ind bör vara en heltalsvariabel, och dess begynnelsevärde, slutvärde och tillskott är heltalsuttryck. Sedan programflödet nått slutet av slingan, ökas DO-variabeln med värdet av i 3, och iterationstalet minskas med 1, varpå iterationstalet testas. På grund av DO-variabelns speciella betydelse för DO-slingan, är det inte tillåtet att förändra dess värde i någon sats inom slingan. Man bör ytterligare observera, att det inte är DO-variabelns värde som bestämmer vad som händer, utan istället iterationstalet, vars värde minskar med 1 för varje genomgång av slingan. När alla iterationer har utförts, kommer DO-variabeln att anta det värde den skulle ha fått ifall slingan skulle ha genomgåtts en gång till. Introduktion till vetenskapliga beräkningar II, Tom Sundius

17 Som ett exempel skall vi studera ett program, som skriver ut multiplikationstabellerna från 2 till 10 i formen 2:ans tabell 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = :ans tabell 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30 Introduktion till vetenskapliga beräkningar II, Tom Sundius

18 Programmet, som använder två DO-slingor ser ut såhär: PROGRAM tabula IMPLICIT NONE! Ett program för att skriva ut multiplikationstabeller INTEGER :: i,j DO i=2,10 PRINT *, PRINT *, i, :ans tabell DO j=1,10 PRINT *, i, x, j, =,i*j END DO END DO STOP END PROGRAM tabula I detta exempel ligger de båda DO-slingorna i sin helhet innanför varandra. Observera, att det inte är tillåtet att låta två slingor korsa varandra. Vi skall se på ett annat exempel, som visar hur man kan beräkna en fakultet (t.o.m. 12!) med en DO-slinga, där tillskottet är negativt. Introduktion till vetenskapliga beräkningar II, Tom Sundius

19 PROGRAM fakult! Program för att beräkna fakulteter IMPLICIT NONE INTEGER :: n, fac, i PRINT *, Ge ett positivt heltal: READ *, n! Bilda produkten n*(n-1)*...*2*1 fac = 1 DO i=n,2,-1 fac = fac*i END DO! Skriv resultat: PRINT *, Fakulteten är,fac STOP END PROGRAM fakult Introduktion till vetenskapliga beräkningar II, Tom Sundius

20 Som ett ytterligare exempel på användningen av DO-slingor skall vi se på ett program, som beräknar ett nollställe av f(t) = cos(t) 1/t med Newtons metod: Program newt! Programmet söker ett nollställe av f(t)=cos(t)-1/t! med Newtons metod IMPLICIT NONE REAL :: t INTEGER :: i PRINT *, Ange ett begynnelsevärde för t: READ *, t DO i=1,20 t = t-(cos(t)-1./t)/(-sin(t)+1./(t*t)) PRINT *, it =,i, t =, t END DO END PROGRAM newt Denna funktion har många nollställen, som vi lätt kan se. Introduktion till vetenskapliga beräkningar II, Tom Sundius

READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen 1.8 6.5 14.9 5.1 1.2 0.4 17.4 25. 4. -6.1 4.8-7.8

READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen 1.8 6.5 14.9 5.1 1.2 0.4 17.4 25. 4. -6.1 4.8-7.8 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,

Läs mer

Logik och kontrollstrukturer

Logik och kontrollstrukturer Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

Programmering, 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 mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens 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 mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 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 mer

Programmera 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?? 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 mer

SMD 134 Objektorienterad programmering

SMD 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 mer

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, Explorativ övning 1 MATEMATIKENS SPRÅK Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, lära oss förstå språket. Vi skall försöka utveckla vårt matematiska språk,

Läs mer

Grunderna i SQL del 1

Grunderna 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 mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens 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 mer

Föreläsning 3.1: Datastrukturer, en översikt

Fö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 mer

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. TAIU07 Föreläsning 3 Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. 27 januari 2016 Sida 1 / 21 Logiska variabler

Läs mer

Exempel på ett litet Ada-program

Exempel 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 mer

Flera kvantifierare Bevis Direkt bevis Motsägelse bevis Kontrapositivt bevis Fall bevis Induktionsprincipen. x y (x > 0) (y > 0) xy > 0 Domän D = R

Flera kvantifierare Bevis Direkt bevis Motsägelse bevis Kontrapositivt bevis Fall bevis Induktionsprincipen. x y (x > 0) (y > 0) xy > 0 Domän D = R Föreläsning Flera kvantifierare Bevis Direkt bevis Motsägelse bevis Kontrapositivt bevis Fall bevis Induktionsprincipen För att göra ett påstående av en öppen utsaga med flera variabler behövs flera kvantifierare.

Läs mer

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Lars-Henrik Eriksson Fredag 5 april 2013, kl 14:00 17:00, i Polacksbackens skrivsal Hjälpmedel: Inga. Inte heller elektronisk

Läs mer

Fö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 DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik 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 mer

Grunderna i stegkodsprogrammering

Grunderna 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 mer

2.2. Ett enkelt Fortran-program

2.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 mer

TATA42: Föreläsning 10 Serier ( generaliserade summor )

TATA42: 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 mer

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

1 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 mer

Introduktion. Exempel Övningar Lösningar 1 Lösningar 2 Översikt

Introduktion. 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 mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

1 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 mer

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde: TANA81: Beräkningar med Matlab - Variabler och Matriser - Logiska uttryck och Villkor - Repetitionssatser - Grafik - Funktioner Variabler I Matlab skapas en variabel genom att man anger dess namn och ger

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering 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 mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar

Läs mer

Objektorienterad programmering D2

Objektorienterad 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 mer

4.3. Programmering i MATLAB

4.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 mer

Översikt över Visual Basic

Ö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 mer

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

a), 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 mer

Föreläsning 6: Introduktion av listor

Fö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 mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion 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 mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Introduktion 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 mer

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

System.out.println(Jaså du har + antalhusdjur+  husdjur); if ( antalhusdjur > 5 ) System.out.println(Oj det var många); 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

Twincat: PLC Control

Twincat: PLC Control Dokument Förklaring Dat. Revision KI-221-003-003 Kom igång med trukturerad Text 080402 1.0 Twincat: PLC Control Kom igång med Strukturerad Text (ST) programmering 1. Kod exempel. a. Exemplen som demonstreras

Läs mer

1 Funktioner och procedurell abstraktion

1 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 mer

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val) Villkor och tester Ett program består i princip av: Deklarationer som inför variabler, dvs namngivna minnesceller som används för att lagra data. int a; double radie=1.0, yta; double d = 4.5; String s

Läs mer

Introduktion till Jasmine 1.2 ODQL

Introduktion till Jasmine 1.2 ODQL Introduktion till Jasmine 1.2 ODQL I detta avsnitt beskrivs ett antal praktiska handgrepp som behövs för att köra Jasmine ODQL. 1 ODQL miljön Man kan enklast köra ODQL mot Jasmine från ett vanligt Command

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer 729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering

Läs mer

Data, typ, selektion, iteration

Data, typ, selektion, iteration Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens

Läs mer

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06 FÖRELÄSNING ANALYS MN DISTANS HT06 JONAS ELIASSON Detta är föreläsningsanteckningar för distanskursen Matematik A - analysdelen vid Uppsala universitet höstterminen 2006. Förberedande material Här har

Läs mer

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen 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 mer

Föreläsning 1 & 2 INTRODUKTION

Fö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 mer

Institutionen för datavetenskap 2014/15

Institutionen 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 mer

JavaScript del 3 If, Operatorer och Confirm

JavaScript del 3 If, Operatorer och Confirm JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att

Läs mer

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext. PASS 8 EKVATIONSSYSTEM OCH EN LINJES EKVATION 8 En linjes ekvation En linjes ekvation kan framställas i koordinatsystemet Koordinatsystemet består av x-axeln och yaxeln X-axeln är vågrät och y-axeln lodrät

Läs mer

Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom Sidor i boken 110-113, 68-69 Räkning med polynom Faktorisering av heltal. Att primtalsfaktorisera ett heltal innebär att uppdela heltalet i faktorer, där varje faktor är ett primtal. Ett primtal är ett

Läs mer

Matematisk Modellering

Matematisk 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 mer

Abstrakt algebra för gymnasister

Abstrakt algebra för gymnasister Abstrakt algebra för gymnasister Veronica Crispin Quinonez Sammanfattning. Denna text är föreläsningsanteckningar från föredraget Abstrakt algebra som hölls under Kleindagarna på Institutet Mittag-Leffler

Läs mer

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

Läs mer

VHDL och laborationer i digitalteknik

VHDL och laborationer i digitalteknik V:1.1 VHDL och laborationer i digitalteknik Vid laborationskursen i digitalteknik används VHDL till alla laborationerna utom den första. VHDL är ett stort språk och enbart en liten del av språket behövs

Läs mer

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x 3 1 2.

Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x 3 1 2. KTH Matematik Lars Filipsson Facit till Några extra uppgifter inför tentan Matematik Baskurs 1. Låt f(x) = ln 2x + 4x 2 + 9 + ln 2x 4x 2 + 9. Bestäm definitionsmängd och värdemängd till f och rita kurvan

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB 29 augusti 2017 Introduktion till MATLAB 1 Inledning MATLAB är ett interaktivt program för numeriska beräkningar med matriser. Med enkla kommandon kan man till exempel utföra matrismultiplikation, beräkna

Läs mer

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - 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 mer

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

16 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 mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språ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 mer

Programmering i C, 7,5 hp

Programmering i C, 7,5 hp Programmering i C, 7,5 hp Föreläsning 4 VÄLKOMNA! 31 switch-satsen Antag att vi har en heltalsvariabel a som skall styra programflödet Antag vidare att a kan anta tex 5 olika värden 1,2,3,4,5 printf( Mata

Läs mer

Dynamisk HTML JavaScript och webbläsarens objektmodell

Dynamisk 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

KPP053, 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 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 mer

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22 Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering

Läs mer

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

Tentamen OOP 2015-03-14

Tentamen 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 mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.

Lö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 mer

Objektorienterad programmering i Java

Objektorienterad 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 mer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Datorlä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 mer

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Repetitionsuppgifter 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 mer

Uttryck och villkor. Föreläsning 2

Uttryck och villkor. Föreläsning 2 Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);

Läs mer

Javisst! Uttrycken kan bli komplicerade, och för att få lite överblick över det hela så gör vi det så enkelt som möjligt för oss.

Javisst! Uttrycken kan bli komplicerade, och för att få lite överblick över det hela så gör vi det så enkelt som möjligt för oss. 8-2 Förenkling av uttryck. Namn: eller Konsten att räkna algebra och göra livet lite enklare för sig. Inledning I föregående kapitel lärde du dig vad ett matematiskt uttryck är för någonting och hur man

Läs mer

Programmerbar logik. Kapitel 4

Programmerbar logik. Kapitel 4 Kapitel 4 Programmerbar logik Programmerbar logik (PLC: Programmable Logic Controller; fi. ohjelmoitava logiikka) är en sorts mikrodatorliknande instrument som är speciellt avsedda för logik- och sekvensstyrningsproblem.

Läs mer

Uttryck och villkor. Föreläsning 2

Uttryck och villkor. Föreläsning 2 Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);

Läs mer

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print. 1 Inmatning och utskrift Inmatning från tangentbord och utskrift till skärm sker i java med hjälp av objekten System.out och System.in. Dessa båda objekt är exempel på strömmar. En ström är en typ som

Läs mer

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4 Modul 2 Byggstenar PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4 Byggstenar 4 Nyckelord 4 Tecken 4 Syntax 5 Standardbibliotek 5 Vårt första program 5 Variabler 6 Konstanter 9 Operatorer 9 Övningar 9 Mer operatorer

Läs mer

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Tentamen 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 mer

Pascal... Pascal. Pascal... Pascal...

Pascal... 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 mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundlä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 mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 3. Repetitionssatser och Programmering 1 Introduktion Denna övning syftar till att träna programmering med repetitionssatser och villkorssatser. Undvik

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Kort om programmering i Python

Kort om programmering i Python CTH/GU mmgl50-2018 Matematiska vetenskaper Kort om programmering i Python 1 Inledning Redan i första laborationen gjorde ni ett litet program. Ni skrev en script eller skriptfil som beräknade summan 5

Läs mer

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING DE FYRA RÄKNESÄTTEN (SID. 11) 1. Benämn med korrekt terminologi talen som: adderas. subtraheras. multipliceras. divideras.. Addera 10 och. Dividera sedan med. Subtrahera 10 och. Multiplicera sedan med..

Läs mer

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Pascal. 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 mer

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Numeriska Metoder och Grundläggande Programmering för P1, VT2014 Numeriska Metoder och Grundläggande Programmering för P1, VT2014 Föreläsning 2: Styrstrukturer & Programmeringsstrategi (Kap. 3 4 i MATLAB Programming for Engineers, S. Chapman) January 21, 2014 Innehåll:

Läs mer

Programmering 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 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 mer

"if"-satsen. Inledande programmering med C# (1DV402)

if-satsen. Inledande programmering med C# (1DV402) "if"-satsen 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 i verket if-satsen

Läs mer

Att använda pekare i. C-kod

Att 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 mer