MatteKverna. Figur 1: Tynn klient vs tykk klient

Størrelse: px
Begynne med side:

Download "MatteKverna. Figur 1: Tynn klient vs tykk klient"

Transkript

1 MatteKverna Bakgrunn Firmaet MatteKverna har spesialisert seg på å lage programmer for effektiv utførelse av matematiske beregninger. Forretningsideen er at kundene betaler et forholdsvis lavt startbeløp for å kunne bruke hvert beregningsprogram, og deretter en avgift per beregning man utfører. Dermed blir det mulig å bruke dette programmet selv for små bedrifter som ikke utfører denne typen beregninger veldig hyppig, mens man neppe ville hatt råd til det hvis man måtte betale en engangspris for fulle bruksretter. Dersom en kunde legger nok penger på bordet, så selger MatteKverna også beregningsprogrammer med fulle bruksretter. Dataene som skal brukes i den matematiske beregningen, befinner seg i utgangspunktet på en klientmaskin hos kunden (der for eksempel brukere har tastet dem inn, eller de er blitt hentet inn automatisk fra måleutstyr). Det fins nå to måter å gjøre beregningene på: Tynn klient, tykk tjener Klientmaskinen har liten prosesseringskapasitet. Dataene sendes over Internett til tjenermaskinen, som utfører beregningene og sender resultatet tilbake. Tykk klient, tynn tjener Klientmaskin med større prosesseringskapasitet. Beregningene utføres i hovedsak på klientmaskinen. Klienten må likevel sende en liten melding over Internett til tjeneren og få et kodenummer tilbake for at beregningen skal virke (pga avgiftsbetalingen). Disse to alternativene er vist i figur 1. MatteKverna ser for seg to typer kunder Figur 1: Tynn klient vs tykk klient Små bedrifter som ikke har kapasitet til å kjøre tunge beregninger lokalt. For disse tilbyr MatteKverna en løsning basert på prinsippet med tynn klient, tykk tjener. 1

2 Store bedrifter som kan kjøre de fleste tunge beregninger lokalt. MatteKverna har også en tjeneste med tykk klient, tynn tjener som vil passe til disse kundene. For hver type beregning MatteKverna tilbyr, så har dermed kunden 4 valgmuligheter: Ikke benytte denne typen beregning. Foreta beregninger lokalt (dvs tykk klient, tynn tjener). Foreta beregninger hos MatteKverna med lav prioritet (dvs tynn klient, tykk tjener). Foreta beregninger hos MatteKverna med høy prioritet (dvs tynn klient, tykk tjener). Når beregningene foretaes hos MatteKverna, så må kunden i tillegg til avgiften for beregningen også betale for hver CPU-time som brukes. Dersom kunden velger høy prioritet, så er prisen pr CPU-time større, men beregningene vil bli ferdig raskere enn dersom kunden valgte å foreta beregninger med lav prioritet. Oppgave 1 I tillegg til selve beregningstjenestene, har MatteKverna også nettsider med informasjon om firmaet og tjenestene de tilbyr. Her kan potensielle kunder finne kontaktinformasjon, hvilke beregningsprogrammer MatteKverna tilbyr, prisen til de forskjellige produktene osv. Når en interessert person via sitt nettleserprogram besøker disse nettsidene, foregår kommunikasjonen i all hovedsak ved at det blir sendt en <hent side>-forespørsel til en webtjener, og det blir så returnert et svar i form av en nettside. Figur 2: Forenklet utgave av webtjener En forenklet utgave av webtjeneren til MatteKverna er vist i figur 2. I denne oppgaven antar vi at webtjeneren i gjennomsnitt får 10 <hent side>-forespørsler i sekundet a). Hver forespørsel kommer som en serie datapakker på tilsammen 1500 byte b). Forespørslene håndteres av en prosessor hos webtjeneren. Hver forespørsel krever eksekvering av 1975 instruksjoner hvor hver instruksjon i gjennomsnitt krever 30 klokkesykler. Nettsiden, som returneres som resultatet av en forespørsel, er i gjennomsnitt på byte, og ligger lagret på disk hos webtjeneren. Diskene kan levere maksimalt 1, byte pr. sekund. MatteKverna har valgt å benytte seg av en ADSL linje for kommunikasjon med omverdenen. For hver nettside som webtjeneren leverer må en derfor regne med overhead på 15% i form av kontroll- og adresse-informasjon, samt protokollmeldinger for overføringen. a) MatteKverna deler webtjener med andre bedrifter b) 1 byte = 8 bit 2

3 1. Hva er nødvendig nedstrøms (mot tjeneren) og oppstrøms (fra tjeneren) kapasitet i bit pr sekund på ADSL linjen? 2. Hvor mange Hz klokkefrekvens (antall klokkesykler pr. sekund) må prosessoren ha for å håndtere forespørslene? 3. Hvor mange disker er nødvendig for å levere informasjonen hurtig nok når forespørslene fordeles likt over diskene? 4. En dag oppstår en feil på linjen slik at oppstrøms linjekapasitet halveres. La t være tiden målt i sekunder fra feilen oppstod. Siden oppstrøms linjekapasitet er halvert, så blir det etterhvert liggende en kø av data som skal sendes ut. La funksjonen f(t) angi hvor mange byte data som ligger i køen. Finn f(t) og df dt Oppgave 2. Hva er df dt et uttrykk for? Dersom et firma er registret som kunde hos MatteKverna, så får det en brukerkonto og muligheten til å bestille produkter ved hjelp av en nettside. På denne nettsiden kan kunden bestemme hvilke programmer (f.eks. LU-faktorisering) det er ønske om å benytte og hvordan programmene skal kjøres (tynn eller tykk klient). I startfasen til MatteKverna så står valget mellom to forskjellige brukergrensesnitt for denne nettsiden (se c). Denne oppgaven går ut på å teste ut de to brukergrensesnittene med forskjellige belastninger (belastning endres under Innstillinger) på webtjeneren. Mer spesifikt så skal hvert gruppemedlem gjøre følgende gjøres 2 ganger (det vil her være fordelaktig om dette gjøres i parallell): For begge alternativene, og for de to forskjellige belastningene (i alt 4 ganger) så skal dere gjøre følgende 3 operasjoner: Registrere programmene i tabell 1. Registrere programmene i tabell 2. Fjerne registreringen på alle produkter. Dere trenger ikke logge inn og ut mellom hvert punkt, men dere må registrere transaksjonen. Når dere tester brukergrensesnittene så skal dere måle hvor lang tid hver operasjon tar. Tidsmålingen skal både inneholde hvor lang tid det tar å utfylle skjemaene og hvor lang tid det tar fra dere trykker en knapp til dere får respons tilbake. Kode Navn Type Beregningsmåte npd-2v 2D varmeledningslingning Partiell differensialligning Foreta hos MatteKverna, lav prioritet npd-2b 2D bølgeligning Partiell differensialligning Foreta hos MatteKverna, lav prioritet nla-mm Matrisemultiplikasjon Lineær algebra Foreta hos MatteKverna, høy prioritet nla-ev Beregning av egenverdier Lineær algebra Foreta lokalt Tabell 1: Programmer som skal registreres, del 1 1. Gi en kvantitativ vurdering (dvs vurder alternativene opp mot resultatene fra tidtakingen) av de to alternativene. 2. Gi en kvalitativ vurdering (dvs en ting som ikke kan tallfestes, f.eks. hvor lett et er å forstå brukergrensesnittet eller hvor greit det er å jobbe med) av de to alternativene. 3. I hvilke situasjoner er er alternativ 1 et fordelaktig brukergrensesnitt, og når vil dere anbefale alternativ 2? c) Siden brukergrensesnittet bruker cookies, så må nettleseren din ha støtte for cookies. 3

4 Navn Type Beregningsmåte 3D poissonligning Partiell differensialligning Foreta hos MatteKverna, høy prioritet Primtallsfaktorisering Tallteori Foreta lokalt Reisende selger Grafteori Foreta hos MatteKverna, lav prioritet Største klikk Grafteori Foreta hos MatteKverna, høy prioritet Tabell 2: Programmer som skal registreres, del 2 4. Hvilket alternativ ville dere valgt? Skisser noen forbedringer dere ville ha gjort (funksjonalitet dere ville ha inkludert og/eller design av alternative skjermbilder). Oppgave 3 Dersom en kunde ønsker å benytte seg av et av MatteKvernas produkter til en beregning, så er det 3 mulige måter dette kan foregå på. Lokalt hos kunden Kunden sender en forespørsel til MatteKverna, og får tilbake en lisenskode som gjør at programmet foretar beregningen. Hos MatteKverna med lav prioritet Kunden sender en forespørsel til MatteKverna, og får tilbake en lisenskode. Deretter sender kunden all inndata, tilsammen x 1 byte, som kreves for beregningen til MatteKverna. Hos MatteKverna kjører så programmet på en datamaskin som kan utføre operasjoner pr sekund. Når det er ferdig, så blir resultatet sendt tilbake til kunden, der svaret er på x 2 byte. Hos MatteKverna med høy prioritet Samme som foregående, men her kan datamaskinen utføre operasjoner pr sekund. I alle alternativene så er både forespørsel og lisenskode er på 1, byte. For å behandle kundenes forespørsler og overføring av data, så har MatteKverna en separat Internett oppkobling med kapasitet på 30 Mbit/s d) både oppstrøms og nedstrøms. Vi antar i oppgaven at kunden har en lignende linje, og at det ikke forgår annen trafikk på linjen når kunden og MatteKverna utveksler data. Som i oppgave 1 må vi regne med 15% overhead. 1. Dersom et problem krever inndata på 3, byte, gir et resultat på 1, byte og benytter 1, operasjoner, hvor lang tid tar det å utføre beregningen hos MatteKverna med lav prioritet (inklusive kommunikasjon)? 2. Hvor mange operasjoner i sekundet må en datamaskin hos kunden kunne foreta dersom det skal gå raskere å foreta beregningene lokalt? 3. La s være mengden data som skal fraktes mellom kunden og MatteKverna, og la n være antallet operasjoner som programmet krever. Finn funksjonene T l (s, n) og T h (s, n) som gir totaltid (både kommunikasjonstid og beregningstid) for å foreta beregningene hos MatteKverna med henholdsvis lav og høy prioritet. 4. Morgan Industrier er i besittelse av et lite cluster med datamaskiner som kan utføre operasjoner pr sekund. Dersom det skal gå raskere å foreta beregningene lokalt fremfor å foreta de med høy prioritet hos MatteKverna, så må det foretaes mindre enn n operasjoner for hver byte med data som må fraktes. Finn n. d) bit/s 4

5 Oppgave 4 Rokade forsikring er et firma som ofte har behov for å utføre matematiske beregninger, og de vurderer om de skal benytte seg av MatteKvernas tilbud. I tillegg til hvor lang tid beregningene tar, så vurderer Rokade forsikring også følgende faktorer: økonomi Hvilke investeringer, driftsutgifter og potensielle besparelser de ulike alternativene innebærer. oppdateringer Hvor ofte programmene blir forbedret, og hvordan oppdateringene er tilgjengelig. sikkerhet Motstandsdyktighet mot virus, hackerangrep eller at konfidensielle data kommer på avveie. tilgjengelighet At det til en hver tid er mulig å foreta de beregningene de trenger. pålitelighet Hvilken tillit man kan ha til at beregningsresultater faktisk er korrekte; evt feil i beregningsprogrammene vil kunne føre til gale resultater. uavhengighet Hvor avhengig organisasjonen blir av andre bedrifter; hvis en outsourcer e) viktige arbeidsoppgaver til eksterne bedrifter, vil organisasjonen potensielt kunne komme i trøbbel hvis disse bedriftene plutselig forsvinner. kompetanse Hva resultatene blir for kompetanseoppbygningen internt i organisasjonen. Alternativene som Rokade forsikring vurder er: Kjøpe et beregningsprogram med fulle bruksretter og kjøre på egen maskin (dvs. trenger overhodet ikke videre kommunikasjon med MatteKverna). I tillegg til selve beregningsprogrammet så må også Rokade forsikring skaffe en datamaskin til å foreta beregningene på. Bruke tykk klient mot MatteKverna (dvs bruke MatteKvernas tilbud om lokale beregninger). Dette krever investering i en tykk klient. Bruke tynn klient mot MatteKverna (enten med lav eller med høy prioritet). Det er da ikke nødvendig å gå til innkjøp av ny hardware. Når det gjelder investeringer, så kjenner Rokade forsikring til at forholdet ytelse/pris for datamaskiner dobles cirka hver 18. måned f) (Dette vil si at man 18 måneder inn i framtiden kan regne med å få en dobbelt så rask datamaskin for hver krone brukt). Rokade forsikring er derfor litt skeptisk til å foreta investeringer i kraftige datamaskiner. 1. Drøft fordeler og ulemper for de tre alternativene Rokade forsikring har for å foreta matematiske beregninger. 2. Rokade forsikring vurderer ikke å benytte seg av gratisprogrammer (freeware) som finnet på Internett (dvs. hvem som helst vil kunne laste dem ned og ta dem i bruk uten å betale noe). Hvilke fordeler og ulemper har bruk av gratisprogrammer? Oppgave 5 Vi skal i denne oppgaven se nærmere på responstid og kølengder i beregningsmaskinen hos Matte- Kverna. Beregningsforespørslene kommer fra en stor mengde kunder og er helt uavhengig av hverandre. Dette resulterer i at i noen perioder kommer flere forespørsler enn i andre, og dette kan gi opphav til venting. Når en forespørsel kommer inn blir den lagt i kø (dersom det ikke er noe prosesseringskraft tilgjengelig). Datamaskinen håndterer denne køen etter først til mølla får først e) at et annet firma tar for seg enkelte arbeidsoppgaver; f.eks. å la MatteKverna foreta beregningene f) dette er en konsekvens av Moores lov 5

6 male prinsippet. Da det viser seg at flertallet av kundene velger å foreta beregningene med lav prioritet, og at en beregningsjobb i snitt krever 1, operasjoner, så skal vi i en forenklet modell anta følgende: Alle beregningsjobbene krever 1, operasjoner Når datamaskinen hos MatteKverna foretar beregningsjobber på 1, operasjoner, så tar det 300 sekunder. Alle kundene foretar beregninger med lav prioritet. Dette vil si at at en beregningsjobb må være gjennomført innen 2375 sekunder. Forespørslene om beregningsjobb kommer uavhengig av hverandre, men det kommer i snitt en ny jobb hvert 5. minutt g). Simuler (etterlign) minst 120 forespørsler (flere forespørsler vil gi et tydeligere resultat). Til simuleringen kan dere bruke tabell 3, som angir hvor lang tid et er mellom påfølgende beregningsjobber h). Til simuleringene kan python-scriptet i vedlegg A være til hjelp. Både dataene og python-scriptet er tilgjengelig på Nr Tid Nr Tid Nr Tid Nr Tid Nr Tid Tabell 3: Avstand mellom nye jobber (tiden er målt i sekunder) Anta at MatteKverna bytter ut beregningsmaskinen med en som klarer å foreta 25% flere operasjoner i sekundet, mens resten av variablene i simuleringen er de samme. Gjenta simuleringen. 1. For hver av simuleringene, hva er: g) Dette blir dermed en Poisson prosess h) For å generere data selv, så tiden mellom to forespørsler lik 300 ln(r), hvor r er et tilfeldig tall fra 0 til og med 1 6

7 Midlere antall forespørsler som venter i kø, L? Midlere tid en forespørsel må vente før den blir håndtert, W? Sannsynligheten for at en forespørsel skal bli betjent med en gang, p? 2. Foreta flere simuleringer med hver av beregningsmaskinene. For hver av beregningsmaksinene, tror dere midlere antall forespørsler som venter i kø (L), midlere tid en forespørsel må vente før den blir håndtert (W ) og sannsynligheten for at en forespørsel skal bli håndtert med en gang (p) har en asymptote som verdiene ved simuleringene konvergerer mot? Oppgave 6 Istedenfor å simulere forespørsler som kommer til beregningsmaskinen (som i oppgave 5), så kan MatteKverna bruke kjente statistiske metoder for å beregne L, W og p (som står for henholdsvis midlere antall forespørsler som venter i kø, midlere tid en forespørsel må vente før den blir håndtert og sannsynligheten for at en forespørsel skal bli betjent med en gang). Asymptotisk så gjelder da følgende sammenhenger: q = 1 p q = λt L = λw L = q 2 2(1 q) Her er q sannsynligheten for at en forespørsel ikke skal bli betjent med en gang, λ gjennomsnittlig antall forespørsler pr tidsenhet (dvs λ 1 er gjennomsnittlig tid mellom forespørslene) og t er tiden det tar å behandle en beregningsjobb. 1. Hvordan stemmer dette overens med resultatene fra oppgave 5? 2. Dersom det kommer i snitt en ny jobb hvert 5. minutt, hva blir da sammenhengen mellom midlere tid en forespørsel må vente før den blir håndtert og tiden det tar å behandle en jobb? 7

8 Vedlegg A: simuler.py #! / usr / bin /env python import s y s import random import math def show help ( ) : print Parametre : h V i s e r denne h j e l p e t e k s t e n. a FILNAVN Legger t i l avstandene mellom jobbene i FILNAVN. w FILNAVN Lagrer avstandene mellom jobbene i FILNAVN. ADVARSEL: s k r i v e r over evt. gammel data i FILNAVN. r FILNAVN Benytt FILNAVN som k i l d e f o r avstander mellom jobbene. F i l e n må være en ren t e k s t f i l med e t f l y t t a l l på hver l i n j e. Dersom denne parameteren ikke er satt, så b l i r avstandene mellom jobbene g e n e r e r t t i l f e l d i g. s HELTALL A n t a l l j o b b e r som s k a l være med i s i m u l e r i n g e n. 120 er standard. m FLYTTALL G j e n o m s n i t t e l i g l e n g d e mellom hver jobb. 300 er standard. o FLYTTALL Hvor lang t i d det t a r å behandle en jobb. 300 er standard. b FLYTTALL Viser bare de jobbene som må vente l e n g r e en e l l e r l i k FLYTTALL. 0 er standard. c FLYTTALL V i s e r bare de jobbene som må vente k o r t e r e en e l l e r l i k FLYTTALL. Uendelig er standard. def r e a d f i l e ( f i l e n a m e ) : f i l e = open ( f i l e n a m e, r ) l i n e s = f i l e. r e a d l i n e s ( ) f i l e. c l o s e ( ) incoming = [ ] for l i n e in l i n e s : incoming. append ( f l o a t ( l i n e ) ) return incoming def w r i t e f i l e ( f i l e n a m e, incoming, mode ) : f i l e = open ( f i l e n a m e, mode ) for i in range ( l e n ( incoming ) ) : i n c o m i n g l i n e = s t r ( incoming [ i ] ) + \n f i l e. w r i t e ( i n c o m i n g l i n e ) f i l e. c l o s e ( ) def g e n e r a t e ( s i z e, mean ) : incoming = [ ] for i in range ( s i z e ) : r = random. random ( ) while r == 0: r = random. random ( ) v a l u e = math. l o g ( r ) mean incoming. append ( v a l u e ) return incoming def compute ( incoming, op time ) : incoming. i n s e r t ( 0, 0 ) queue = [ 0 ] wait time = [ op time ] tmp time = 0 for i in range ( 1, l e n ( incoming ) ) : wait time. append ( op time + wait time [ i 1] incoming [ i ] ) i f w a i t t i m e [ i ] <= 0: w a i t t i m e [ i ] = 0 queue. append ( 0 ) tmp time = 0 e l s e : tmp time = tmp time + incoming [ i ] tmp count = i n t ( math. f l o o r ( tmp time / op time ) ) tmp queue = queue [ i 1] + 1 tmp count tmp time = tmp time ( tmp count op time ) queue. append ( tmp queue ) return [ incoming, queue, wait time ] def s h o w r e s u l t ( t a b l e, b v a l u e ) : incoming = t a b l e [ 0 ] queue = t a b l e [ 1 ] w a i t t i m e = t a b l e [ 2 ] incoming sum = 0 A-1

9 queue sum = 0 wait time sum = 0 b count = 0 print nr t i d kø v e n t e t i d for i in range ( 1, l e n ( incoming ) ) : t h i s w a i t t i m e = w a i t t i m e [ i ] i f t h i s w a i t t i m e >= b v a l u e : b count += 1 print %3d %12.4 f %5d %12.4 f % ( i, incoming [ i ], queue [ i ], w a i t t i m e [ i ] ) incoming sum += incoming [ i ] queue sum += queue [ i ] wait time sum += wait time [ i ] print sum %12.4 f %5d %12.4 f % ( incoming sum, queue sum, wait time sum ) print A n t a l l j o b b e r med v e n t e t i d l e n g r e en e l l e r l i k %.2 f s : % d % ( b value, b count ) def s h o w r e s u l t c ( t a b l e, b value, c v a l u e ) : incoming = t a b l e [ 0 ] queue = t a b l e [ 1 ] w a i t t i m e = t a b l e [ 2 ] incoming sum = 0 queue sum = 0 wait time sum = 0 b c c o u n t = 0 print nr t i d kø v e n t e t i d for i in range ( 1, l e n ( incoming ) ) : t h i s w a i t t i m e = w a i t t i m e [ i ] i f t h i s w a i t t i m e >= b v a l u e and t h i s w a i t t i m e <= c v a l u e : bc count += 1 print %3d %12.4 f %5d %12.4 f % ( i, incoming [ i ], queue [ i ], w a i t t i m e [ i ] ) incoming sum += incoming [ i ] queue sum += queue [ i ] wait time sum += wait time [ i ] print sum %12.4 f %5d %12.4 f % ( incoming sum, queue sum, wait time sum ) # p r i n t A n t a l l j o b b e r med v e n t e t i d f r a og med %.2 f s t i l og med %.2 f s : %d # % ( b value, c value, bc count ) i f n a m e == m a i n : s i z e = 120 mean = 300 op time = 300 w r i t e f i l e n a m e = r e a d f i l e n a m e = b v a l u e = 0 c i s s e t = 0 i = 1 while i < l e n ( s y s. argv ) : i f s y s. argv [ i ] == h e l p or s y s. argv [ i ] == h : show help ( ) s y s. e x i t ( 1 ) e l i f s y s. argv [ i ] == a : w r i t e f i l e n a m e = s y s. argv [ i ] f i l e = open ( w r i t e f i l e n a m e, a ) f i l e. c l o s e ( ) mode = a except ( IOError, IndexError ) : print Etter parameteren a så må det komme et f i l n a v n s y s. e x i t ( 3 ) i f s y s. argv [ i ] == w : w r i t e f i l e n a m e = s y s. argv [ i ] f i l e = open ( w r i t e f i l e n a m e, w ) f i l e. c l o s e ( ) mode = w except ( IOError, IndexError ) : print Etter parameteren w så må det komme et f i l n a v n s y s. e x i t ( 3 ) e l i f s y s. argv [ i ] == r : r e a d f i l e n a m e = s y s. argv [ i ] f i l e = open ( r e a d f i l e n a m e, r ) f i l e. c l o s e ( ) except ( IOError, IndexError ) : print E t t e r parameteren r så må det komme navnet på en e k s i s t e r e n d e f i l A-2

10 s y s. e x i t ( 3 ) e l i f s y s. argv [ i ] == s : s i z e = max( i n t ( s y s. argv [ i ] ), 0 ) except ( ValueError, IndexError ) : print Etter parameteren s så må det komme et h e l t a l l e l i f s y s. argv [ i ] == m : mean = max( f l o a t ( s y s. argv [ i ] ), 0 ) except ( ValueError, IndexError ) : print E t t e r parameteren m så må det komme e t f l y t t a l l e l i f s y s. argv [ i ] == o : op time = max( f l o a t ( s y s. argv [ i ] ), 0 ) except ( ValueError, IndexError ) : print E t t e r parameteren o så må det komme e t f l y t t a l l e l i f s y s. argv [ i ] == b : b v a l u e = f l o a t ( s y s. argv [ i ] ) except ( ValueError, IndexError ) : print E t t e r parameteren b så må det komme e t f l y t t a l l e l i f s y s. argv [ i ] == c : c v a l u e = f l o a t ( s y s. argv [ i ] ) c i s s e t = 1 except ( ValueError, IndexError ) : print E t t e r parameteren c så må det komme e t f l y t t a l l e l s e : print Ukjent parameter : + s y s. argv [ i ] print Benytt h f o r l i s t e over parametre i f r e a d f i l e n a m e! = : incoming = r e a d f i l e ( r e a d f i l e n a m e ) except IOError : print Noe b l e f e i l under l e s i n g av f i l e n + r e a d f i l e n a m e s y s. e x i t ( 4 ) except ValueError : print Noe e r f e i l med i n n h o l d e t av f i l e n + r e a d f i l e n a m e s y s. e x i t ( 4 ) e l s e : incoming = generate ( s i z e, mean ) i f w r i t e f i l e n a m e! = : w r i t e f i l e ( w r i t e f i l e n a m e, incoming, mode ) except IOError : print Noe b l e f e i l under s k r i v i n g av f i l e n + w r i t e f i l e n a m e s y s. e x i t ( 4 ) i f c i s s e t == 0: s h o w r e s u l t ( compute ( incoming, op time ), b v a l u e ) e l s e : s h o w r e s u l t c ( compute ( incoming, op time ), b v alue, c v a l u e ) A-3

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Hvordan en prosessor arbeider, del 1

Hvordan en prosessor arbeider, del 1 Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program

Detaljer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er: Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som

Detaljer

Oppgave 8.1 fra COD2e

Oppgave 8.1 fra COD2e Oppgave 8.1 fra COD2e To systemer brukes for transaksjonsprosessering: A kan utføre 1000 I/O operasjoner pr. sekund B kan utføre 750 I/O operasjoner pr. sekund Begge har samme prosessor som kan utføre

Detaljer

Forelesning Instruksjonstyper Kap 5.5

Forelesning Instruksjonstyper Kap 5.5 TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler

Detaljer

Obligatorisk oppgave 1: Regneklynge

Obligatorisk oppgave 1: Regneklynge Obligatorisk oppgave 1: Regneklynge INF1010 Frist: mandag 6. februar 2017 kl. 12:00 Versjon 1.0 (62f8e31 ) Innhold 1 Innledning 1 2 Regneklyngens bestanddeler 2 3 Datastrukturtegning 3 4 Maksimal teoretisk

Detaljer

Scheduling og prosesshåndtering

Scheduling og prosesshåndtering Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant

Detaljer

Vil du at jeg personlig skal hjelpe deg få en listemaskin på lufta, som får kundene til å komme i horder?

Vil du at jeg personlig skal hjelpe deg få en listemaskin på lufta, som får kundene til å komme i horder? Betaler du for mye for leads? Vil du at jeg personlig skal hjelpe deg få en listemaskin på lufta, som får kundene til å komme i horder? Fra: Sten Morten Misund Asphaug Torshov, Oslo Kjære bedrifteier Jeg

Detaljer

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design. Dagens temaer Dagens emner er hentet fra Englander kapittel 11 (side 327-344 ) Repetisjon av viktige emner i CPU-design. Flere teknikker for å øke hastigheten Cache 03.10.03 INF 103 1 Hvordan øke hastigheten

Detaljer

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Trading-algoritme I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Vi skal gjøre dette ved å lage et Python-program (med noen for-løkker)

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 13. september, 2018 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 27/9-2018, kl. 14:30 i Devilry Obligatoriske oppgaver («obliger») er en sentral del av MAT-INF1100 og er utmerket trening i å

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

Brukerdokumentasjon Promed Online Booking

Brukerdokumentasjon Promed Online Booking Brukerdokumentasjon Promed Online Booking Informasjon om ProMed og online booking... 2 Systemkrav... 2 Internettoppkobling (hvis du bruker Norsk Helsenett)... 3 Internettoppkobling (hvis du ikke bruker

Detaljer

SLA og KPIer i skytjenester

SLA og KPIer i skytjenester SLA og KPIer i skytjenester 26.11.2018 Håvard Reknes hmr@difi.no Styringsparametere for skytjenester A. Generelle krav til tjenestenivå KPI Grunnleggende tjenester - Tilgjengelighet - Vedlikeholdstid

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Denne øvingen forutsetter at du har gjort disse øvingene tidligere: Labøving 7b Skriveradministrasjon Laboving 9a Installere og konfigurere webtjeneren IIS I denne øvingen

Detaljer

Hvordan løse problemer med programmering?

Hvordan løse problemer med programmering? Start screencast!! (tidlig..) Ha klar glass med linser Lukk programmer, untatt Atom, Keynote, Terminal Hvordan løse problemer med programmering? Problemløsning, løkker, og funksjoner med parametre IN1000,

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

Datamaskinens oppbygning

Datamaskinens oppbygning Datamaskinens oppbygning Håkon Tolsby 18.09.2014 Håkon Tolsby 1 Innhold Hovedenheten Hovedkort Prosessor CISC og RISC 18.09.2014 Håkon Tolsby 2 Datamaskinens bestanddeler Hovedenhet Skjerm Tastatur Mus

Detaljer

KTN1 - Design av forbindelsesorientert protokoll

KTN1 - Design av forbindelsesorientert protokoll KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Prøveeksamen 1 Eksamensdag: Onsdag 14. November 2014. Tid for eksamen:

Detaljer

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

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

Dagens tema. Flere teknikker for å øke hastigheten

Dagens tema. Flere teknikker for å øke hastigheten Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer

Detaljer

Øvingsforelesning 3 Python (TDT4110)

Øvingsforelesning 3 Python (TDT4110) Øvingsforelesning 3 Python (TDT4110) For og While-løkker Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av øving 1 Programmering for Øving 3 2 Studasser og Piazza Studasser er der for å hjelpe

Detaljer

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer. -OS i i L1 og L2 og og Basis for flerprosess-systemer. Adresser.. 2 1 0 OS Device minne Skjerm minne Brukerprogram Brukerdata/heap Stack Stack: brukes bl. a. til å lagre adressen som skal returneres til

Detaljer

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2015 TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst

Detaljer

INF109 - Uke 1b 20.01.2016

INF109 - Uke 1b 20.01.2016 INF109 - Uke 1b 20.01.2016 1 Variabler Et program er ikke til stor hjelp hvis det er statisk. Statisk betyr at programmet bare bearbeider faste data som er lagt inn i programkoden. For å gjøre programmer

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Verktøy for boligkartlegging

Verktøy for boligkartlegging Verktøy for boligkartlegging Rapporter Versjon 3.0 Opprettet 15.05.2005 av Pål Guddal Sist endret 23.01.2007 av André Teig Bli kjent med Bokart- Rapporter Side 2 Hva er filter, og hva brukes de til? Filter

Detaljer

Så hva er affiliate markedsføring?

Så hva er affiliate markedsføring? Så hva er affiliate markedsføring? Affiliate markedsføring er en internettbasert markedsføring hvor Altshop belønner deg for hver kunde som du rekrutterer til Altshop. Vi vil ta godt hånd om dem for deg

Detaljer

Verktøy for boligkartlegging

Verktøy for boligkartlegging Verktøy for boligkartlegging Rapporter. Versjon 2 Helse og Velferd - Norge Stasjonsgata 37, NO-1820 Spydeberg - Tlf: + 47 90 12 45 50, Faks: + 47 69 83 87 10 - www.tietoenator.com Bli kjent med Bokart-

Detaljer

Veiledning for aktivering av. Mobil Bredbåndstelefoni

Veiledning for aktivering av. Mobil Bredbåndstelefoni Veiledning for aktivering av Mobil Bredbåndstelefoni Veiledning for aktivering av Mobil Bredbåndstelefoni For at Telio Mobil Bredbåndstelefoni skal fungere på din mobiltelefon må en klient (@irtelio) lastes

Detaljer

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene? Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 15. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.

Detaljer

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

Detaljer

Brukerveiledning. Madison Møbler Nettbutikk

Brukerveiledning. Madison Møbler Nettbutikk Brukerveiledning Madison Møbler Nettbutikk 1 1. Forord 1.1 Produktet Produktet er i denne manualen nettbutikken www.madison-mobler.no. Dette er en nettbutikk som skal gi brukerne mulighet til å handle

Detaljer

Python: Funksjoner og moduler Kapittel

Python: Funksjoner og moduler Kapittel Python: Funksjoner og moduler Kapittel 5.7-5.10 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Kunne lage og kalle funksjoner med returverdi Bruke bibliotek i Python, f.eks random

Detaljer

PERSONVERN ERKLÆRI NG ROYSW EBDESI GN.NO

PERSONVERN ERKLÆRI NG ROYSW EBDESI GN.NO PERSONVERN ERKLÆRI NG ROYSW EBDESI GN.NO Personvernerklæring hovedpunkter: 1. Samling av informasjon 2. Bruk av informasjon 3. E-handels personvern 4. Tredjeparts avsløring 5. Informasjonsbeskyttelse 6.

Detaljer

Python: Oppslagslister (dictionaries) og mengder 3. utgave: Kapittel 9

Python: Oppslagslister (dictionaries) og mengder 3. utgave: Kapittel 9 Python: Oppslagslister (dictionaries) og mengder 3. utgave: Kapittel 9 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå prinsippene for, og kunne bruke i praksis Mengder (sets)

Detaljer

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til

Detaljer

Python: Filer og unntak Gaddis: Kapittel 6

Python: Filer og unntak Gaddis: Kapittel 6 Python: Filer og unntak Gaddis: Kapittel 6 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære hva filer er Lære hva unntaksbehandling er Kunne bruke inn- og utoperasjoner i Python

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning 9: Instruksjonsettarkitektur 3 Knut H. Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and

Detaljer

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 22. september, 2016 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 6/10-2016, kl. 14:30 i Devilry Obligatoriske oppgaver («obliger») er en sentral del av MAT-INF1100 og er utmerket trening i å

Detaljer

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema Dagens tema Charles Babbage Datamaskinenes historie maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner kode kode Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Detaljer

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde PXT: Hermegåsa Skrevet av: Felix Bjerke og Tjerand Silde Kurs: Microbit Introduksjon Hermegåsa er et spill der en person er spilleder, og går ut på at han utfører instruksjoner på micro:biten sin som de

Detaljer

PXT: Hermegåsa. Steg 1: Sjekk at du har riktig utstyr. Sjekkliste. Introduksjon

PXT: Hermegåsa. Steg 1: Sjekk at du har riktig utstyr. Sjekkliste. Introduksjon PXT: Hermegåsa Nybegynner Micro:bit Introduksjon Hermegåsa er et spill der en person er spilleder, og går ut på at han utfører instruksjoner på micro:biten sin som de andre spillerene skal gjenta, altså

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110) Øvingsforelesning i Python (TDT4110) Tema: Øving 2, Betingelser, if/elif/else Kristoffer Hagen Oversikt Praktisk informasjon Gjennomgang av Øving 1 Oppgaver for Øving 2 2 Praktisk Bruke andre studasser

Detaljer

Oppsummering av digitalteknikkdelen

Oppsummering av digitalteknikkdelen Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 00 Modellering og beregninger. Eksamensdag: Torsdag 6. desember 202. Tid for eksamen: 9:00 3:00. Oppgavesettet er på 8

Detaljer

Steg 1: Rest etter divisjon

Steg 1: Rest etter divisjon Primtall og effektivitet Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I matematikktimene

Detaljer

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

IN1000 Obligatorisk innlevering 7

IN1000 Obligatorisk innlevering 7 IN1000 Obligatorisk innlevering 7 Frist for innlevering: 23.10. kl 12:00 Introduksjon I denne innleveringen skal du lage et program som simulerer cellers liv og død. Dette skal du gjøre ved hjelp av en

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

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python

Detaljer

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python

Detaljer

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner Dagens tema Dagens tema Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Rasko-kode Raskas-kode Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Kompilator rusc

Detaljer

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode. Dagens tema Dagens tema Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Kompilator rusc raskas Rasko-kode 401020000000001...

Detaljer

Installasjonsveiledning Visma Avendo, versjon 5.2

Installasjonsveiledning Visma Avendo, versjon 5.2 Installasjonsveiledning Visma Avendo, versjon 5.2 April 2011 Innhold Innledning... 1 Administrator... 1 Sikkerhetskopi... 1 Testfirmaet... 1 Før du starter installasjonen/oppgraderingen... 2 Nedlasting...

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

Visma Contracting Oppgradering til versjon 5.20

Visma Contracting Oppgradering til versjon 5.20 Visma Contracting Oppgradering til versjon 5.20 Oslo, oktober 2013 Før installasjon: SuperOffice De som kjører SuperOffice må få oppgradert denne samtidig. Henvendelse til leverandøren firma KeyForce.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 11 Modellering og beregninger Eksamensdag: Mandag 1 Desember 218 Tid for eksamen: 9: 13: Oppgavesettet er på 5 sider

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

Installasjonsveiledning

Installasjonsveiledning Installasjonsveiledning Visma Avendo, versjon 5.2 April 2011 Innhold Innledning... 1 Administrator... 1 Sikkerhetskopi... 1 Testfirmaet... 1 Før du starter installasjonen/oppgraderingen... 2 Nedlasting...

Detaljer

INF109 - Uke 1a

INF109 - Uke 1a INF109 - Uke 1a 19.01.16 NOTE: Download the latest version of python: 3.5.1. 1 Introduksjon 1.1 Goodbye world! For å komme i gang, start IDLE fra Start Programs Python3.5.1 IDLE. (Varierer litt fra datamaskin

Detaljer

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse Huldt & Lillevik Ansattportal - en tilleggsmodul til Huldt & Lillevik Lønn Teknisk beskrivelse Huldt & Lillevik er trygghet Trygghet er å vite at løsningen du bruker virker, hver eneste dag, enkelt og

Detaljer

Huldt & Lillevik Lønn 2013-10-29. Lønn 5.0. Versjon 5.13.3

Huldt & Lillevik Lønn 2013-10-29. Lønn 5.0. Versjon 5.13.3 Lønn 5.0 Versjon 5.13.3 Innhold Hva er nytt i denne versjonen... 2 1 Integrasjoner... 2 2 Oppdatere til 5.13.3... 2 3 Datostyring... 2 4 Refusjon av sykepenger... 3 5 Regnskapsbilag terminoppgjør... 4

Detaljer

Informasjon Prøveeksamen i IN1000 høsten 2018

Informasjon Prøveeksamen i IN1000 høsten 2018 Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.

Detaljer

)DVW3ODQ,QVWDOOHULQJ $%% $6 'LYLVMRQ $XWRPDVMRQVSURGXNWHU ΑΒΒ 3RVWERNV 6NLHQ

)DVW3ODQ,QVWDOOHULQJ $%% $6 'LYLVMRQ $XWRPDVMRQVSURGXNWHU ΑΒΒ 3RVWERNV 6NLHQ )DVW3ODQ,QVWDOOHULQJ $6 'LYLVMRQ $XWRPDVMRQVSURGXNWHU 3RVWERNV 6NLHQ ΑΒΒ ,QQOHGQLQJ FastPlan er laget for å kunne brukes på PCer med Windows 95/98/2000 og NT operativsystem. FastPlan er tenkt som et verktøy

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av

Detaljer

VIKTIG FØR OPPGRADERING TIL NY VERSJON

VIKTIG FØR OPPGRADERING TIL NY VERSJON Versjonsbrev Visma Avendo Økonomi 40 versjon 5.1 Oktober 2010 Innhold INNLEDNING 2 VIKTIG FØR OPPGRADERING TIL NY VERSJON 2 NEDLASTING AV NY VERSJON 2 SIKKERHETSKOPIERING 2 TESTFIRMAET 2 NYHETER OG ENDRINGER

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

PG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java:

PG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java: PG4200 Algoritmer og datastrukturer Lab 1 8.januar 2014 Innledning I dag skal vi undersøke en rekke velkjente databeholdere i Java: java.util.arraylist java.util.linkedlist java.util.hashset java.util.treeset

Detaljer

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon. Eksempel 1 Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michael.preminger@hioa.no) 19/08-15 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner

Detaljer

Distribusjon via e-post - oppstart

Distribusjon via e-post - oppstart Distribusjon via e-post - oppstart Avsenderopplysninger Mottakeropplysninger Egenskaper Blankettype for e-post Forutsetninger Eksempel Kontroll Elektronisk distribusjon av dokumenter betyr at dokumentene

Detaljer

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om begrepet løkker

Detaljer

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

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

Detaljer

Pålogging. www.allpro.no. Hovedsiden på www.allpro.no Bilde 1

Pålogging. www.allpro.no. Hovedsiden på www.allpro.no Bilde 1 Pålogging AllPro-Kjørebok er et Web-basert kjørebokprogram, og du trenger derfor ingen programvare for å benytte programmet. Det eneste du trenger er en PC, PDA eller mobiltelefon med internettilgang.

Detaljer

Oppsummering fra sist

Oppsummering fra sist 1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,

Detaljer

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5 Testrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 24.5.2013 Public 2013 Aker Solutions Page 1 of 5 Innledning I denne rapporten vil vi skrive om testingen som

Detaljer

INF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden

INF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden Dagens tema: Flink-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Flass-koden Dag Langmyhr,Ifi,UiO: Forelesning 30. august 2005 Ark 1 av 20 Datamaskinenes historie Menneskene har alltid

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap 1 av 44 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap. 5.7-5.10 Terje Rydland - IDI/NTNU 2 av 44 Læringsmål og pensum Mål Beherske

Detaljer

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Obligatorisk oppgave 1 INF-3200 12. oktober 2003 Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Oppgavebeskrivelse: Designe og implementere en distribuert ray-tracing applikasjon, med basis i kontroller-

Detaljer

Definisjon av prosess

Definisjon av prosess Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre

Detaljer

Brukermanual for kommuneansvarlig og testleder

Brukermanual for kommuneansvarlig og testleder Brukermanual for kommuneansvarlig og testleder Jegerprøveeksamen www.jegerproveeksamen.no Innholdsfortegnelse Kommuneansvarlig... 3 Testleder... 3 Opprette testsenter og testledere... 3 Teknisk godkjenning

Detaljer

Installasjons veiledning for QuickNG SuperService integrasjon

Installasjons veiledning for QuickNG SuperService integrasjon Installasjons veiledning for QuickNG SuperService integrasjon OKTOBER 2012 REV 0.3 Oppsett av SuperService Log på SuperService online: https://login.ifmsystems.com/default.aspx Du må ha en bruker fra SuperService

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler. - 3rd edition: Kapittel Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler. - 3rd edition: Kapittel Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler - 3rd edition: Kapittel 5.7-5.10 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Beherske returverdier og returverdifunksjoner

Detaljer

Trygt Enkelt Innovativt. Brukermanual

Trygt Enkelt Innovativt. Brukermanual 1 Trygt Enkelt Innovativt Brukermanual 2 Innhold 1 Oppstart RSPOS... 3 2 Logge inn... 3 3 Hovedskjermbilde:... 3 3.1 Ordreliste... 4 3.2 Hente opp en parkert ordre... 4 3.3 Skriv kopi av en bokført ordre...

Detaljer

Effektiv bruk av RT Foreleser: Christopher Culina Tjenestegruppa for RT

Effektiv bruk av RT Foreleser: Christopher Culina Tjenestegruppa for RT Effektiv bruk av RT Foreleser: Christopher Culina Tjenestegruppa for RT Hovedpunkter: Søk! RTs søkeverktøy og avansert søk Søk fort! Lagring og gjenbruk av søk Søk automatisk! Tilpassing av RT at a glance

Detaljer

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'

Detaljer

Dette kan selvfølgelig brukes direkte som en numerisk tilnærmelse til den deriverte i et gitt punkt.

Dette kan selvfølgelig brukes direkte som en numerisk tilnærmelse til den deriverte i et gitt punkt. Numerisk derivasjon Anne Kværnø Problemstilling Gitt en tilstrekkelig glatt funksjon. Finn en tilnærmelse til i et gitt punkt. Den deriverte av (https://wiki.math.ntnu.no/tma4100/tema/differentiation?

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

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Huldt & Lillevik Lønn 2010-09-15. Lønn 5.0. Versjon 5.10.3

Huldt & Lillevik Lønn 2010-09-15. Lønn 5.0. Versjon 5.10.3 Lønn 5.0 Versjon 5.10.3 Innhold Hva er nytt i denne versjonen... 2 1 Oppdatere til 5.10.3... 2 2 Ny rutine for oppdatering av klienter... 2 3 Ny og forbedret logging i systemet... 3 4 Skattekort levert...

Detaljer