Programmering i R. 6. mars 2004

Størrelse: px
Begynne med side:

Download "Programmering i R. 6. mars 2004"

Transkript

1 Programmering i R 6. mars Funksjoner 1.1 Hensikt Vi har allerede sette på hvordan vi i et uttrykk kan inkludere kall til funksjoner som er innebygd i R slik som funksjonene sum, plot o.s.v. Generelt virker funksjoner ved at funksjonen først mottar visse inndata som vi oppgir som argumenter, funksjonen utfører så en bestemt oppgave, f.eks. visse beregninger, og returnerer deretter resultatet av beregningene som sine utdata gjennom funksjonsverdien. Om vi for eksempel gjør vi et kall til mean utgjør vektoren vi oppgir som argument inndataene, mean beregner så gjennomsnittet av elementene i vektoren, og returnerer dette via funksjonsverdien. Når vi skal gjøre løse problemer som krever større beregninger vil det være hensiktsmessig å definere egne funksjoner som løser bestemte avgrensede deloppgaver av hele problemet. Definering av egne funksjoner er særlig hensiktsmessig når vi skal utføre varianter av samme oppgave flere ganger. Ved å definere en funksjon slipper vi i slike tilfeller å skrive programkode for å løse problemet mer en gang; det å definere funksjoner innebærer gjenbruk av programkode som slik sparer oss for masse arbeid. I tillegg til denne direkte arbeidsbesparelsen skaper bruk av egendefinerte funksjoner bedre oversikt ved at det blir mindre programkode å holde styr på. Når vi har skrevet en funksjon ferdig som løser en avgrenset veldefinert del av hele oppgaven kan vi glemme hvordan funksjonen virker i detalj og konsentrere oss om å løse resten av problemet. 1

2 Mindre programkode gjør at det blir lettere på et senere tidspunkt å endre programkoden hvis oppgaven vi ønsker å løse skulle endre seg eller hvis programkoden skulle vise seg å inneholde feil. 1.2 Formell virkemåte La oss først se på hvordan vi definerer en funskjon og hvordan en funksjon virker formelt ved å se på et enkelt eksempel. I likhet med andre objekter som vektorer o.l. lager vi en funksjon ved å bruke tilordningsoperatoren. Funksjonen blir altså selv et objekt i R sitt workspace på samme måte som andre variable. Fordi funksjonsdefinisjonen vanligvis går over flere linjer er det praktisk å skrive funskjonsdefinisjonen inn i en teksteditor, f.eks. notepad i windows. Skriv følgende inn i notepad, merk teksten og kopier denne ved å trykke ctrl-c, å lim så dette inn i R-vinduet ved å trykke ctrl-v i R. minfunksjon <- function(arg1,arg2=20) { arg1 <- arg1 + 5 a <- arg1+arg2 return(a^2) Gjør vi dette får vi opprettet et objekt av type funksjon med navn minfunksjon i R sitt workspace. Funksjonen har to formelle argumenter med navn arg1 og arg2. Argumentene vil være å betrakte som variable når uttrykkene inne i funksjonen blir beregnet (når vi gjør et kall til funksjonen). I linje to tilordnes verdien av uttrykket arg1 + 5 til arg1 (arg1 øker sin verdi med 5). I linje tre tilordnes verdien uttrykket arg1+arg2 nå har fått til variabelen a. I linje 4 beregnes verdien av uttrykket aˆ2 som returneres som funksjonsverdi. Dette uttrykket trenger strengt tatt ikke å omsluttes av return( ); lar vi være vil funksjonen returnere verdien av uttrykket på siste linje i funksjonsdefinisjonen. Som for innebygde funksjoner i R kan vi nå gjøre et kall til funksjonen: > minfunksjon(10,5) [1] 400 Vi ser at funksjonen oppfører seg som forventet; først legges 5 til 10 slik at arg1 får verdien 15. Variabelen a blir så lik summen av variablene arg1 og arg2 (20). Dette opphøyes så i andre slik at funksjonsverdien blir lik 400. Merk at variabelen a og argumentene arg1 og arg2 ikke lenger er tilstede etter kallet til funksjonen; disse er å betrakte som lokale variable som bare er synlige fra innsiden av funksjonen og som forsvinner når funksjonen har gjort sitt: 2

3 > a Error: Object "a" not found > arg1 Error: Object "arg1" not found > arg2 Error: Object "arg2" not found Dette er også ønskelig oppførsel i og med at vi ikke ønsker at variable vi bruker lokalt inne i funksjonen for å løse funksjonens oppgaver skal komme i konflikt med variabler vi har opprettet for å ta vare på beregningsresultat utenfor funksjonen. Om vi har opprettet en variabel a før kallet til minfunksjon vil a fortsatt ha samme verdi etter funksjonskallet: > a <- c(1,2,3) > minfunksjon(10,5) [1] 400 > a [1] Vektoren a her er å betrakte som en global variabel som ikke endrer seg når vi tilordner verdier til den lokale variabelen a inne i funksjonen minfunksjon. Sett fra utsiden trenger vi med andre ord ikke å bekymre oss for hvilke variabelnavn som brukes internt av funksjonen. Eksempelet over illusterer også bruken av default-verdier. I første linje i funksjonsdefinisjonen har vi spesifisert at arg2 har 100 som sin defaultverdi. Lar vi være å oppgi arg2 i kallet til funksjonen vil arg2 ta verdien 100 i påfølgende beregninger internt i funksjon slik at vi får: > minfunksjon(10) [1] Eksempel La oss betrakte tenke oss en bestand på N = 50 moskusokser. m = 15 av disse bærer på en bestemt genvariant på sitt Y-kromosom (hver hann har bare ett Y-kromosom). Fordi bestanden er blitt for stor blir det besluttet at bestanden skal reduseres til n = 20 okser. La oss anta at disse blir valgt tilfeldig fra den opprinnelige bestanden. Lar vi X betegne antall kopier av genvarianten som er i igjen i utvalget etter bestandsreduksjonen følger det 3

4 at X blir hypergeometrisk fordelt med sannsynlighetsfordeling ( )( ) m N m p X (x) = x n x ( ) N (1) n Vi ønsker å lage et plot over sannsynlighetsfordelingen. I første omgang ønsker vi å beregne uttrykket over, la oss si for x = 10. Vi ser at uttrykket innebærer at vi må beregne tre binomialkoeffisienter. Videre en binomial koeffisienten definert som ( ) n x = n! x!(n x)! som innbærer at vi i beregningen av hver binomialkoeffisient må beregne verdier av fakultetsfunksjonen tre ganger. Lager vi oss funksjoner som utfører disse deloppgavene på en generell måte kan vi altså spare oss for mye arbeid. La oss først lage en funksjon som beregner n! = 1 2 n. Dette kan vi gjøre ved å lage en vektor av tallene fra 1 til n med uttrykket 1:n og så beregne produktet av elementene i vektoren med et kall til funksjonen prod (tilsvarer funksjonen sum). En definisjon av hele funksjonen vil kunne være fac <- function(n) { resultat <- prod(1:n) return(resultat) Tester vi funksjonen ser vi at den virker slik den skal: > fac(4) [1] 24 Når vi har løst denne deloppgaven kan vi lett definere en funksjon for å beregne binomialkoeffisienten: binomcoef <- function(n,x) { fac(n)/(fac(x)*fac(n-x)) Til sist definerer vi en funksjon som beregner hele punktsannsynligheten i en gitt verdi X = x, p X (x) gitt ved (1): pgenfordeling <- function(x,n=50,m=15,n=20) { binomcoef(m,x)*binomcoef(n-m,n-x)/binomcoef(n,n) 4 (2)

5 Ved å spesifisere default-verdier i funksjonsdefinisjonen slipper vi å oppgi modellparameterene i kall til funksjonen. Vi kan nå beregne, f.eks. p X (3), sannsynligheten for at 3 av de 20 oksene etter bestandsreduksjonen vil bære genet: > pgenfordeling(3) [1] Oppgaven er nå løst ved vi har definert funksjonen pgenfordeling som gjør tre kall til til funksjonen binomcoef som tilsammen gjør tre ganger tre kall til funksjonen fac. 2 If-setninger 2.1 Eksempel La oss fortsette eksempelet fra del 1.3. Forsøker vi å beregne sannsynligheten for at genvarianten blir helt borte, altså p X (0) = P (X = 0) får vi > pgenfordeling(0) [1] Inf Dette er åpenbart feil, en punktsannsynlighet i en diskret modell kan ikke ta verdier som går mot uendelig. Etter litt mer testing av de funksjonene vi har laget finner vi at vår fakultetsfunksjon fac returnerer følgende for 0!: > fac(0) [1] 0 hvilket jo er feil i og med at 0! er definert lik 1. Ser vi på verdiene uttrykkene i funksjonen fac får om vi bruker 0 som argument ser vi følgende > 1:0 [1] 1 0 > prod(1:0) [1] 0 Løsningen er å bruke en såkalt if-setning som gjør at vi kan håndtere spesialtilfeller som dette. Vi skriver om funksjonen til følgende: fac <- function(n) { if (n==0) resultat <- 1 else 5

6 resultat <- prod(1:n) return(resultat) En if-setning består generellt av et logisk uttrykk etterfulgt av et eller to uttrykk hvorav et av disse beregnes avhengig av om verdien av det logiske uttrykket har verdi TRUE eller FALSE. I vår modifiserte definisjon av funksjonen fac vil uttrykket n==0 få verdi TRUE dersom argumentet n er lik 0 og i slike tilfeller vil tilordningsuttrykket resultat <- 1 utføres, i motsatt fall utføres uttrykket resultat <- prod(1:n). Til siste returnes verdien av den lokale variabelen resultat. Med denne modifikasjonen begynner ting å fungerer: > fac(0) [1] 1 > fac(4) [1] 24 > pgenfordeling(0) [1] e-05 Vi ser at det er temmelig usannsynlig at genvarianten forsvinner helt men ikke helt umulig. Om vi antar at genvarianten i utgangspunktet er mer skjelden, la oss si tilstede i bare m = 5 kopier, får vi at sannsynligheten for at det forsvinner blir langt større: > pgenfordeling(0,m=5) [1] Unntakshåndtering slik som i dette eksempelet er en ganske vanlig bruk av if-setninger men if-setninger kan selvsagt også brukes til en rekke andre formål. Generellt kan de to alternative uttrykkene i en if-setning være såkalt sammensatte uttrykk. Ett sammensatt uttrykk kan skrives på formen {uttrykk1; uttrykk2; uttrykk3 eller { uttrykk1 uttrykk2 uttrykk3 Sammensatte uttrykk brukes også i definisjoner av funksjoner, slik vi har sett for eksempel i del 1.2, og i andre programstrukturer. 6

7 3 Løkker 3.1 Eksempel Vi har allerede sett på hvordan vi mange funksjoner kan operere elementvis på vektorer, f.eks. vil logaritmefunksjonen beregne logaritmer elementvis for vektoren som vi oppgir som argument: > weight [1] > log(weight) [1] Hvorvidt en funskjon kan operere elementvis på vektorer som er oppgitt som argument vil avhenge av hvordan funksjonen virker internt. Ser vi på vår funksjon pgenfordeling ser vi at den ikke håndterer vektorer som sitt x argument: > pgenfordeling(0:15) [1] e-05 Warning messages: 1: the condition has length > 1 and only the first element will be used in: if (n == 0) return(1) else return(prod(1:n))... Slik vi har programmert vår funksjonen beregnes i tilfelle over bare p X (x) for x = 0 i tillegg til at vi får en rekke feilmeldinger. Skal vi beregne la oss si en vektor av sannsynlighetene p X (0), p X (1),..., p X (15) må vi derfor tilordne verdiene til resultatvektoren eksplisitt. Vi kunne ha gjort dette på følgende måte: > pvektor<-rep(0,16) > pvektor[0]<-pgenfordeling(0) > pvektor[1]<-pgenfordeling(1) > pvektor[2]<-pgenfordeling(2) Meningen med for-løkker er å forenkle slike operasjoner. I stedet for alle linjene i koden over kan vi utføre det samme ved å bruke en såkalt for-løkke: > pvektor<-rep(0,16) > for (i in 0:15) pvektor[i+1] <- pgenfordeling(i) 7

8 Det som her skjer er at uttrykket pvektor[i] <- pgenfordeling(i) utføres et antall ganger. Ved hver enkelt utførelse av uttrykket vil løkke-variabelen i ha elementer hentet fra vektoren 0:15 som verdi. Resultatet er at alle elementene i vektoren pvektor blir tilordnet riktige verdier (sannsynlighetene for at 0, 1, 2 kopier av genvarianten o.s.v. er tilstede i populasjonen etter bestandsreduksjonen): > pvektor [1] e e e e e-01 [6] e e e e e-02 [11] e e e e e-09 [16] e+00 Vi kan nå lage et plot av resultatet: > plot(0:15,pvektor,type="h",xlab="antall genkopier x",ylab="sannsynlighet") Argumentet type= h spesifiserer at plottet skal være av type histogram. Default-verdien til argument type er p. Resultatet blir som i figur antall genkopierx sannsynlighet Figur 1: Resultatet av kallet til plot funksjonen Generellt er for-løkker på formen 8

9 for (var in vektor {sammensatt uttrykk 9

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

Notat 2, ST Sammensatte uttrykk. 27. januar 2006 Notat 2, ST1301 27. januar 2006 1 Sammensatte uttrykk Vi har sett at funksjoner ikke trenger å bestå av annet enn ett enkeltuttrykk som angir hva funksjonen skal returnere uttrykkt ved de variable funksjonen

Detaljer

Notat 2, ST januar 2005

Notat 2, ST januar 2005 Notat 2, ST1301 25. januar 2005 1 Sammensatte uttrykk Vi har sett at funksjoner ikke trenger å bestå av annet enn ett enkeltuttrykk som angir hva funksjonen skal returnere uttrykkt ved de variable funksjonen

Detaljer

Notat 6 - ST februar 2005

Notat 6 - ST februar 2005 Notat 6 - ST1301 22. februar 2005 1 Instruksjoner som data I begynnelsen av kurset definerte vi data som informasjon uttrykkt i et programmeringsspråk. Slike data kan være av ulik type, f.eks. enkle skalarer

Detaljer

Bioberegninger - notat 4: Mer om sannsynlighetsmaksimering

Bioberegninger - notat 4: Mer om sannsynlighetsmaksimering Bioberegninger - notat 4: Mer om sannsynlighetsmaksimering 8. mars 2004 1 Kort om Newton s metode i flere dimensjoner Newton s metode kan generaliseres til å løse sett av n ligninger med n ukjente. Skal

Detaljer

INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon.

INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon. INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon. Stephan Oepen & Erik Velldal Universitetet i Oslo 25. januar, 2013 På blokka 2 Forrige uke Introduksjon og oversikt Funksjonell

Detaljer

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen. Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();

Detaljer

Øvingsforelesning i Matlab TDT4105

Øvingsforelesning i Matlab TDT4105 Øvingsforelesning i Matlab TDT4105 Øving 6. Tema: funksjoner med vektorer, plotting, preallokering, funksjonsvariabler, persistente variabler Benjamin A. Bjørnseth 13. oktober 2015 2 Oversikt Funksjoner

Detaljer

Læringsmål og pensum. Oversikt

Læringsmål og pensum. Oversikt 1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering

Detaljer

Finne ut om en løsning er helt riktig og korrigere ved behov

Finne ut om en løsning er helt riktig og korrigere ved behov Finne ut om en løsning er helt riktig og korrigere ved behov Finurlige feil og debugging av kode IN1000, uke5 Henrik H. Løvold Oppgave (Lett modifisert fra eksamen 2014) Skriv en funksjon Dersom parameteren

Detaljer

ST Bioberegninger, introduksjon Om kurset

ST Bioberegninger, introduksjon Om kurset ST1301 - Bioberegninger, introduksjon Om kurset Stokastisk modellering: Biologiske prosesser er stokastiske (genetisk drift, mutasjoner, overlevelse, død, populasjonsdynamikk). Vi trenger stokastiske modeller

Detaljer

Kapittel Oktober Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 14.

Kapittel Oktober Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 14. og Institutt for geofag Universitetet i Oslo 17. Oktober 2012 i MatLab En funksjon vil bruke et gitt antall argumenter og produsere et gitt antall resultater og : Hvorfor Først og fremst bruker vi når

Detaljer

Notat 3 - ST februar 2005

Notat 3 - ST februar 2005 Notat 3 - ST1301 1. februar 2005 1 Simulering fra modell Når vi skal analysere et gitt konkret innsamlet datasett vil vi gjøre dette med utgangspunkt i en statistisk modell. Vi kan si at en slik statistisk

Detaljer

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten. Oppgave 1: RPJ, kapittel 4, oppg. 2 INF1000 Plenumsgruppe 1, 22.09.02 Hvis en person har inntekt < 10 000, så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første 10 000 og 30% på

Detaljer

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten. Oppgave 1: RPJ, kapittel 4, oppg. 2 INF1000 Plenumsgruppe 1, 22.09.02 Hvis en person har inntekt < 10 000, så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første 10 000 og 30% på

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Finne ut om en løsning er helt riktig og korrigere ved behov

Finne ut om en løsning er helt riktig og korrigere ved behov Finne ut om en løsning er helt riktig og korrigere ved behov Finurlige feil og debugging av kode IN1000, uke5 Geir Kjetil Sandve Oppgave (Lett modifisert fra eksamen 2014) Skriv en funksjon Dersom parameteren

Detaljer

Programmering i R - del 2

Programmering i R - del 2 Programmering i R - del 2 14. februar 2004 1 Simulering fra modell Når vi skal analysere et gitt konkret innsamlet datasett vil vi gjøre dette med utgangspunkt i en statistisk modell. Vi kan si at en slik

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler 42 Funksjoner Kapittel 4 Funksjoner Etter dette kapitlet skal du kunne lage og bruke enkle funksjoner lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen

Detaljer

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag Oppgave 1 Hva gjør disse skriptene? a) Skriptet lager plottet vi ser i gur 1. Figur 1: Plott fra oppgave 1 a). b) Om vi endrer skriptet

Detaljer

Øving 12, ST1301 A: B:

Øving 12, ST1301 A: B: Øving 12, ST1301 Oppgave 1 En to-utvalgs t-test forutsetter at observasjonene i hvert utvalg X 1 ; X 2 ; : : : ; X n og Y 1 ; Y 2 ; : : : ; Y m er uavhengige normalfordelte variable. Hvis testen oppfører

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017 Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016 TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følgende informasjon i blokkbokstaver

Detaljer

Øvingsforelesning i Matlab TDT4105

Øvingsforelesning i Matlab TDT4105 Øvingsforelesning i Matlab TDT4105 Øving 6. Tema: funksjoner med vektorer, plotting, while Benjamin A. Bjørnseth 12. oktober 2015 2 Oversikt Funksjoner av vektorer Gjennomgang av øving 5 Plotting Preallokering

Detaljer

}?> <!DOCTYPE... <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall

}?> <!DOCTYPE... <html xmlns=http://www.w3.org/1999/xhtml> <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] //funksjonskall printhallo(); //enda en gang printhallo(); Michael Preminger (michaelp@hio.no)

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

Detaljer

Feilmeldinger, brukerinput og kontrollflyt

Feilmeldinger, brukerinput og kontrollflyt Feilmeldinger, brukerinput og kontrollflyt Skjønne hvordan et program presist utføres og forberede seg på håndtering av feil INF1000, uke2 Ragnhild Kobro Runde Programmeringskrøll Programmet vil ikke kjøre

Detaljer

Norsk informatikkolympiade 2013 2014 1. runde

Norsk informatikkolympiade 2013 2014 1. runde Norsk informatikkolympiade 2013 2014 1. runde Sponset av Uke 46, 2013 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

Øvingsforelesning TDT4105 Matlab

Øvingsforelesning TDT4105 Matlab Øvingsforelesning TDT4105 Matlab Øving 2. Pensum: Funksjoner, matriser, sannhetsuttrykk, if-setninger. Benjamin A. Bjørnseth 8. september 2015 2 Innhold Funksjoner Matriser Matriseoperasjoner Sannhetsuttrykk

Detaljer

ST1301 Bioberegninger - Introduksjon

ST1301 Bioberegninger - Introduksjon ST1301 Bioberegninger - Introduksjon Jarle Tufto 11. januar 2005 1 Om kurset Innenfor en del retninger av statistikk og biologifaget er behovet for programmeringsferdigheter relativt store. I forbindelse

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

Løsningsforslag øving 8, ST1301

Løsningsforslag øving 8, ST1301 Løsningsforslag øving 8, ST3 Oppgave Hva gjør følgende funksjon? Hvilken fordeling har variabelen n som returneres som funksjonsverdi? Forklar hvorfor. Forutsett at to enkle positive tall blir oppgitt

Detaljer

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

4 Matriser TMA4110 høsten 2018

4 Matriser TMA4110 høsten 2018 Matriser TMA høsten 8 Nå har vi fått erfaring med å bruke matriser i et par forskjellige sammenhenger Vi har lært å løse et lineært likningssystem ved å sette opp totalmatrisen til systemet og gausseliminere

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger. - 3rd edition: Kapittel 8. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger. - 3rd edition: Kapittel 8. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger - 3rd edition: Kapittel 8 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om Pensum Grunnleggende operasjoner på strenger Å skive/slice

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

Detaljer

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Løsningskisse for oppgaver til undervisningsfri uke 8 ( februar 2012)

Løsningskisse for oppgaver til undervisningsfri uke 8 ( februar 2012) 1 ECON 130 HG - februar 01 Løsningskisse for oppgaver til undervisningsfri uke 8 (0.-. februar 01) Oppg..1. Variabel: x = antall kundehenvendelser pr. dag 1. Antall observasjoner: n = 100 dager. I Excel

Detaljer

Norsk informatikkolympiade 2012 2013 1. runde

Norsk informatikkolympiade 2012 2013 1. runde Norsk informatikkolympiade 2012 2013 1. runde Uke 45, 2012 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler. Instruksjoner:

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag Oppgave 1 Halveringsmetoden igjen a) I skriptet vårt fra leksjon 6 skal altså linje 16 erstattes med while abs(b-a)>1e-3. Når vi gjør

Detaljer

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide Uendelig bakke Skrevet av: Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon Løsningsforslag Oppgave 1 Vektorer a) Variablene i MATLAB kan være tall, vektorer eller matriser. Vi kan for eksempel gi vektoren x = [1, 0, 3] på denne

Detaljer

Metoder med parametre, løkker og arrayer

Metoder med parametre, løkker og arrayer Metoder med parametre, løkker og arrayer Løse problemer med programmering INF1000, uke3 Ragnhild Kobro Runde METODER MED PARAMETRE Statiske void-metoder med parametre Den typen metoder vi så på forrige

Detaljer

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2 Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon F x = x K f x f' x, starter med en x 0 og beregner x 1 = F x 0, x = F x 1, x 3 = F x,... Dette er en metode der en for-løkke egner

Detaljer

Informasjon Eksamen i IN1000 høsten 2017

Informasjon Eksamen i IN1000 høsten 2017 Informasjon Eksamen i IN000 høsten 207 Tid 8. desember kl. 09.00 (4 timer) Faglærerne vil besøke lokalet ca kl 0. Oppgavene Oppgave 2b og 2c er flervalgsoppgaver. Her får man det angitte antall poeng om

Detaljer

Statistikk 1 kapittel 5

Statistikk 1 kapittel 5 Statistikk 1 kapittel 5 Nico Keilman ECON 2130 Vår 2017 Kapittel 5 Sannsynlighetsmodeller I kap. 4 så vi et eksempel med en s.v. X som hadde en uniform sannsynlighetsfordeling: alle verdier av x har like

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag Oppgave 1 Vektorer a) Variablene i MATLAB kan være tall, vektorer eller matriser. Vi kan for eksempel gi vektoren x = [1, 0, 3] på denne

Detaljer

Bioberegninger, ST november 2006 Kl. 913 Hjelpemidler: Alle trykte og skrevne hjelpemidler, lommeregner.

Bioberegninger, ST november 2006 Kl. 913 Hjelpemidler: Alle trykte og skrevne hjelpemidler, lommeregner. Norges teknisk-naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 5 Bokmål Faglig kontakt under eksamen: Førsteamanuensis Jarle Tufto Telefon: 99 70 55 19 Bioberegninger, ST1301 30.

Detaljer

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; } Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Norsk informatikkolympiade 2014 2015 1. runde

Norsk informatikkolympiade 2014 2015 1. runde Norsk informatikkolympiade 2014 2015 1. runde Sponset av Uke 46, 2014 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Mengder, relasjoner og funksjoner

Mengder, relasjoner og funksjoner MAT1030 Diskret Matematikk Forelesning 15: og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo Mengder, relasjoner og funksjoner 9. mars 2010 (Sist oppdatert: 2010-03-09 14:18) MAT1030

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, prosedyrer, funksjoner, tekst og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve 1 Tilbakeblikk Dere bør nå beherske det sentrale fra uke 1 og 2: Uttrykk, typer,

Detaljer

Rekursjon som programmeringsteknikk

Rekursjon som programmeringsteknikk Rekursjon Kap.7 Sist oppdatert 15.02.10 Rekursjon som programmeringsteknikk 10-1 Rekursiv tenkning Rekursjon er en programmeringsteknikk der en metode kan kalle seg selv for å løse problemet. En rekursiv

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe

Detaljer

1 Section 4-1: Introduksjon til sannsynlighet. 2 Section 4-2: Enkel sannsynlighetsregning. 3 Section 5-1: Introduksjon til sannsynlighetsfordelinger

1 Section 4-1: Introduksjon til sannsynlighet. 2 Section 4-2: Enkel sannsynlighetsregning. 3 Section 5-1: Introduksjon til sannsynlighetsfordelinger 1 Section 4-1: Introduksjon til sannsynlighet 2 Section 4-2: Enkel sannsynlighetsregning 3 Section 5-1: Introduksjon til sannsynlighetsfordelinger 4 Section 5-2: Tilfeldige variable 5 Section 5-3: Binomisk

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell programmering INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 7. mai 2015 Tema Forrige uke SICP 4.1. Structure and interpretation

Detaljer

INF2810: Funksjonell Programmering. Tilstand og verditilordning

INF2810: Funksjonell Programmering. Tilstand og verditilordning INF2810: Funksjonell Programmering Tilstand og verditilordning Stephan Oepen Universitetet i Oslo 2. mars 2017 Forrige gang 2 I dag 3 Vi blar om til kapittel 3 i SICP. Tilstand og verditilordning. Destruktive

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Løse problemer med data fra fil, samt litt mer om funksjoner IN1000, uke6 Geir Kjetil Sandve Mål for uken Få enda mer trening i hvordan bruke løkker, samlinger og beslutninger for

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når

Detaljer

Jentetreff INF1000 Debugging i Java

Jentetreff INF1000 Debugging i Java Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver

Detaljer

ST1301 Bioberegninger. Jarle Tufto

ST1301 Bioberegninger. Jarle Tufto ST1301 Bioberegninger Jarle Tufto 30. november 2003 2 Forord Jarle Tufto Trondheim, 30. november 2003 3 4 Innhold 1 Introduksjon 7 1.1 Om kurset............................. 7 1.2 Hvorfor R?............................

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag Oppgave 2 Litt aritmetikk a) Her har vi skrevet ut det som kommer opp i kommandovinduet når vi utfører operasjonene. > 2+2 4 > 3-2 1

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Kommentarer til prøveeksamen Erik Velldal Universitetet i Oslo 1: Grunnleggende (6 poeng)? (define foo '(a b))? (define bar foo)? (set!

Detaljer

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt Oversikt INF1000 Uke 4 Forgreininger, løkker og arrayer Litt repetisjon Blokker og forgreininger if-setninger if-else-setninger switch-setninger Løkker while-løkker do-while-løkker for-løkker Arrayer Opprette,

Detaljer

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016 TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres

Detaljer

En innføring i MATLAB for STK1100

En innføring i MATLAB for STK1100 En innføring i MATLAB for STK1100 Matematisk institutt Universitetet i Oslo Februar 2017 1 Innledning Formålet med dette notatet er å gi en introduksjon til bruk av MATLAB. Notatet er først og fremst beregnet

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer

Detaljer

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030 MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk

Detaljer

Arv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {

Arv. Book book1 = new Book(); book1. title = Sofies verden class Book { String title; } class Dictiona ry extends Book { Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon

Detaljer

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE Eksamen i: Inf-1049, Introduksjon til beregningsorientert programmering Dato: 14. desember 2018 Klokkeslett: 09.00 13.00 Sted

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 for-løkker I dette settet skal vi introdusere for-løkker. Først vil vi bruke for-løkker til å regne ut summer. Vi skal også se på hvordan vi kan implementere

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang

Detaljer

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon INF2810: Funksjonell Programmering Dataabstraksjon og Trerekursjon Stephan Oepen & Erik Velldal Universitetet i Oslo 15. februar, 2013 Tema 2 Forrige uke Høyere-ordens prosedyrer: Prosedyrer som argumenter

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med

Detaljer

En enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt

En enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 15/09-15 En liten repetisjon Løkker Arrayer (tabeller) Løkker

Detaljer

Noen innebygde funksjoner - Vektorisering

Noen innebygde funksjoner - Vektorisering 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Uke 41: «Matlab programs» (kapittel 6) Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015 Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2013

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2013 Norsk informatikkolympiade 2013 2014 1. runde Sponset av Uke 46, 2013 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Noen innebygde funksjoner - Vektorisering

Noen innebygde funksjoner - Vektorisering 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Uke 41: «Matlab programs» (kapittel 6) Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag Matematikk 1000 Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag Oppgave 2 Litt aritmetikk a) Her har vi skrevet ut det som kommer opp i kommandovinduet når vi utfører operasjonene. >> 2+2 4 >> -2 1

Detaljer

YouTube-kanal ITGK. Læringsmål og pensum

YouTube-kanal ITGK.  Læringsmål og pensum 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner - 3rd edition: Kapittel 5.1-5.6 Professor Alf Inge Wang 2 YouTube-kanal ITGK Professor Guttorm Sindre (foreleser den andre Python-parallellen

Detaljer

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Michael Preminger

Detaljer

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)

Detaljer

løsningsforslag-uke5.txt

løsningsforslag-uke5.txt INF 1000 LØSNINGSFORSLAG TIL UKEOPPGAVER FOR UKE 5 1) Setningen er kompakt skrivemåte for int[] a; a = new int[50]; hvor den første setningen deklarerer arrayen a, og den andre setningen oppretter et array-objekt

Detaljer