INF4140: Låser og Barrierer (Locks and Barriers)
|
|
- Mikael Eliassen
- 8 år siden
- Visninger:
Transkript
1 INF4140: Låser og Barrierer (Locks and Barriers) Chapter 3 (version ) H09, Uke 2, side 1.
2 Practical Stuff Obligatory assignment 1 NB: Deadline Monday 21. Sept. See teaching plan. Group teacher Chris Majewski krzys@ifi.uio.no room 41154, 4. etg. FP. Group 1: Thursday kl. 12:15-14:00, 3A Informatikkbygningen (3 September 26 November) NB: Johan Dovland (post.doc. PMA), johand@ifi.uio.no, will lecture from next week. Room 41153, 4. etg. FP (next to Chris). H09, Uke 2, side 2.
3 Innledning Sentralt for kurset er generelle mekanismer og problemstillinger knyttet til parallelle programmer Forrige gang: await språket og enkel versjon av produsent/konsument-eksemplet I dag Inngangs- og utgangsprotokoller til kritisk region Beskytte lesing og skriving til felles variable Barrierer Iterative algoritmer: Prosessene må synkroniseres mellom hver iterasjon Koordinering v.h.a. flagg H09, Uke 2, side 3.
4 Repetisjon: await-eksempel: Produsent/Konsument LaProducer være en prosess som leverer data til en prosessconsumer. int buf, p := 0, c := 0; process Producer { process Consumer { int a[n];... int b[n];... while (p < n) { while (c < n) { < await (p == c) ; > < await (p > c) ; > buf := a[p]; b[c] := buf; p := p+1; c := c+1; Global Invariant : c <= p <= c+1 Lokal Invariant (Producer) : 0 <= p <= n En invariant holder i alle tilstander i historien til programmet. H09, Uke 2, side 4.
5 Hovedspørsmål: Hvordan kan man implementere kritiske regioner/ betingede kritiske regioner? v.h.a. låser og lavnivå operasjoner aktiv venting (senere semaphorer og passiv venting) ulike løsninger og egenskaper H09, Uke 2, side 5.
6 Adgang til Kritisk Region (KR) Flere prosesser konkurrerer om tilgang til felles ressurs Bare én prosess kan ha tilgang av gangen Mulige eksempler: Utføring av banktransaksjoner Tilgang til skriver Løsning kan brukes til å implementere await-setninger H09, Uke 2, side 6.
7 Kritisk region: Første tilnærming til løsning Operasjoner på felles variable skjer inne i KR. Aksess til KR må da beskyttes for å unngå interferens process p[i=1 to n] { while (true) { KRinngang ; # inngang til KR KR; KRutgang ; # utgang fra KR ikke KR Antagelse: En prosess som kommer inn i KR vil til slutt forlate denne. H09, Uke 2, side 7.
8 Naiv løsning int in = 1; 1 eller 2 process p1 { process p2 { while (true) { while (true) { while (in=2) skip; while (in=1) skip; KR KR in = 2; in = 1; ikke KR ikke KR God løsning? Hva er bra, hva er ikke så bra? Hva med flere enn 2 prosesser, hva med ulik tid for kode? H09, Uke 2, side 8.
9 Desired Properties Mutual Exclusion: At any time, at most one process is inside KR. Absence of Deadlock: If all processes are trying to enter KR, at least one will succeed. Absence of Unnecessary Delay: If some processes are trying to enter KR, while the other processes are in their non-critical sections, at least one will succeed. Eventual Entry: A process that is attempting to enter KR will eventually succeed. NB: The three first are safety properties, the last a liveness property. (SAFETY: no bad state LIVENESS: something good will happen.) H09, Uke 2, side 9.
10 Safety: Invarianter (repetisjon) En sikkerhetsegenskap uttrykker at et program ikke kommer til en dårlig tilstand. For å bevise dette, kan vi vise at programmet aldri vil forlate en god tilstand: Vis at egenskapen holder i alle starttilstander Vis at programsetningene opprettholder egenskapen En slik (god) egenskap kalles gjerne global invariant. H09, Uke 2, side 10.
11 Atomære regioner Brukes til synkronisering av prosesser Generell form: < await(b)s; > B: Synkroniseringsbetingelse Utføres atomært nårber sann Ubetinget kritisk region (B er true): S utføres atomært < S; > Betingelsessynkronisering: < await(b); > H09, Uke 2, side 11.
12 Kritisk region v.h.a. lås bool lock = false; Lås: Én variabel brukes til regulere process p[i=1 to n] { adgang til KR for n prosesser while (true) { < await (!lock) lock = true; > # KRinngang KR lock = false; # KRutgang ikke KR Safety egenskaper: Mutex Fravær av deadlock Fravær av unødig venting Hva med å endre plasseringen av <...>? H09, Uke 2, side 12.
13 Test & Set Test & Set er en metode for å implementere betinget atomær aksjon: bool TS(bool lock) { < bool initial = lock ; lock = true; return initial; > Virkningen avts(lock): Variabelenlock vil alltid ha verditrue etterts(lock), men returverdien vil variere mellomtrue ogfalse. Finnes som atomær instruksjon på mange maskiner. H09, Uke 2, side 13.
14 Kritisk region v.h.a. TS og Spinnelås bool lock = false; Spinnelås: process p[i=1 to n] { Prosessene brukerts til å gå i løkke. while (true) { while (TS(lock)) skip; Utgang fra løkka skjer nårlock KR har verdienfalse før while-testen. lock = false; ikke KR NB: Safety: Mutex, absence of deadlock and of unneccessary delay. H09, Uke 2, side 14.
15 Kritisk region v.h.a. Test, test & Set Låsvariabelenlock blir kontinuerlig skrevet til av prosessene. Dette kan være ineffektivt, og en mer effektiv løsning er test, test og set: bool lock = false; process p[i=1 to n] { while (true) { while (lock) skip; spinn mens låsen er opptatt while (TS(lock)) { prøv å ta låsen while (lock) skip; spinn hvis det feiler KR lock = false; ikke KR NB: Safety: Mutex, absence of deadlock and of unnecessary delay. H09, Uke 2, side 15.
16 Implementere await-setninger LaKRinngang ogkrutgang implementere inngangs- og utgangsprotokoller til kritisk region. Da kan setningen< S;> implementeres ved KRinngang; S; KRutgang; Implementasjon av betinget kritisk region < await (B) S;> : KRinngang; while (!B) { KRutgang; KRinngang; S; KRutgang; Implementasjonen kan effektiviseres meddelay mellom utgang og inngang i kroppen påwhile-setningen. H09, Uke 2, side 16.
17 What about Liveness? So far we have not found a solution that guarantees the Eventual Entry property, except the very first (which did not satisfy Absence of Unnecessary Delay ). H09, Uke 2, side 17.
18 Liveness egenskaper Liveness: Noe går godt Typisk eksempel for sekvensielle programmer Programmet terminerer Typisk liveness egenskap for parallelle programmer En gitt prosess vil til slutt komme inn i kritisk region Dette påvirkes av strategier for skedulering. H09, Uke 2, side 18.
19 Skedulering og fairness Fairness: garanti for at prosesser får anledning til å eksekvere. Skedulering: Strategi for å avgjøre hvilken prosess som får anledning til å eksekvere. Eksempel: bool x = true; co while (x); x = false; oc H09, Uke 2, side 19.
20 Ubetinget fairness En strategi for skedulering er ubetinget fair hvis enhver ubetinget atomær aksjon som kan velges til slutt blir valgt. Eksempel: Round robin eksekvering Eksempel: bool x = true; co while (x); x = false; oc x = false er ubetinget Må dermed før eller siden bli valgt Dette garanterer terminering H09, Uke 2, side 20.
21 Svak fairness En strategi for skedulering er svakt fair hvis den er ubetinget fair enhver betinget atomær aksjon blir til slutt valgt, forutsatt at betingelsen blir sann og deretter forblir sann til aksjonen blir eksekvert. Eksempel: bool x = true, int y = 0; co while (x) y = y + 1; < await y >= 10; > x = false; oc Nåry >= 10 blir sann, så forblir denne betingelsen sann Dette sikrer terminering av programmet Eksempel: Round robin eksekvering H09, Uke 2, side 21.
22 Sterk fairness En strategi for skedulering er sterkt fair hvis den er ubetinget fair enhver betinget atomær aksjon blir til slutt valgt, forutsatt at betingelsen er sann uendelig ofte. Eksempel: bool x = true, y = false; co while (x) { y = true; y = false; < await (y) x = false; > oc Med sterk fairness: Programmet vil terminere, fordiyer sann uendelig ofte. Med svak fairness: Programmet trenger ikke terminere, fordiyogså er usann uendelig ofte. H09, Uke 2, side 22.
23 Fairness for kritisk region v.h.a lås KR løsningene tidligere i forelesningen trenger antagelse om sterk fairness for å garantere tilgang for en gitt prosess (i ): Jevnt tilsig av prosesser som ønsker låsen Verdien tillock pendler (uendelig lenge) mellomtrue ogfalse Svak fairness: Prosess i kan leselock bare når verdien erfalse Sterk fairness: Garanterer at i før eller siden ser atlock ertrue Vanskelig å lage en skeduleringsstrategi som er både praktisk og sterkt fair. Skal nå se på KR-løsninger der inngang garanteres med svakt fair strategier: H09, Uke 2, side 23.
24 Fair løsninger på KR-problemet Tie-Breaker Kø-lapp I tillegg beskriver boka bakeri-algoritmen H09, Uke 2, side 24.
25 Tie-Breaker algoritmen Trenger ingen spesiell maskininstruksjon (somts) Ser på løsning med to prosesser Hver prosess har privat lås Hver prosess setter sin lås i inngangsprotokollen Den private låsen leses, men blir ikke endret av den andre prosessen H09, Uke 2, side 25.
26 Tie-Breaker algoritmen: Forsøk 1 bool in1 = false, in2 = false process p1 { process p2 { while (true) { while (true) { while (in2) skip; while (in1) skip; in1 = true; in2 = true; KR KR in1 = false; in2 = false; ikke KR ikke KR Her kan vi ikke garantere mutex! H09, Uke 2, side 26.
27 Tie-Breaker algoritmen: Forsøk 2 Prøver å snu rekkefølgen i inngangsprotokollen: bool in1 = false, in2 = false process p1 { process p2 { while (true) { while (true) { in1 = true; in2 = true; while (in2) skip; while (in1) skip; KR KR in1 = false; in2 = false; ikke KR ikke KR Her kan vi ikke garantere fravær av deadlock! H09, Uke 2, side 27.
28 Tie-Breaker algoritmen: Forsøk 3 (med await) Innfører variabellast som forteller hvilken prosess som sist begynte på inngangsprotokollen. bool in1 = false, in2 = false int last = 1 process p1 { while (true) { in1 = true; last = 1; < await (!in2 or last==2);> KR in1 = false; ikke KR process p2 { while (true) { in2 = true; last = 2; < await (!in1 or last==1);> KR in2 = false; ikke KR H09, Uke 2, side 28.
29 Tie-Breaker algoritmen Selv om variablenein1,in2 oglast kan endre verdi mens en ventebetingelse evaluerer til sann, vil ventebetingelsen fremdeles bli sann. p1 ser at ventebetingelsen er sann: in2 == false in2 kan etterhvert blitrue, men da måp2 også settelast til 2 Da holder forsatt ventebetingelsen tilp1 last == 2 Da villast == 2 holde helt tilp1 har eksekvert Dermed kan vi erstatte await-setningen med en while-løkke. H09, Uke 2, side 29.
30 Tie-Breaker algoritmen (4): Implementasjon bool in1 = false, in2 = false int last = 1 process p1 { process p2 { while (true) { while (true) { in1 = true; last = 1; in2 = true; last = 2; while (in2 and last==1) skip; while (in1 and last==2) skip; KR KR in1 = false; in2 = false; ikke KR ikke KR Kan generaliseres til flere prosesser (se boka) H09, Uke 2, side 30.
31 Kølapp-algoritmen Hvis Tie-Breaker algoritmen skaleres for n prosesser, får vi en løkke med n 1 2-prosess Tie-Breaker algoritmer Kølapp-algoritmen gir enklere løsning på KR-problemet for n prosesser. Fungerer som køsystemet på posten (med én luke) En kunde (prosess) som kommer inn trekker et nummer som er høyere enn nummeret til alle andre som venter Kunden betjenes når luka er ledig og hun har lavest nummer av ventende prosesser H09, Uke 2, side 31.
32 Kølapp-algoritmen: Skisse (n prosesser) int number = 1, next = 1, turn[1:n]= ([n] 0); process p[i = 1 to n] { while (true) { < turn[i] = number; number = number + 1; > < await (turn[i] = next);> KR < next = next + 1; > Ikke KR Første linje i løkka må gjøres atomært! await-setningen kan implementeres som egen løkke (while) Noen maskiner har instruksjonen FA(var, incr): < int tmp = var; var = var + incr; return tmp; > H09, Uke 2, side 32.
33 Kølapp-algoritmen: Implementasjon int number = 1, next = 1, turn[1:n]= ([n] 0); process p[i = 1 to n] { while (true) { turn[i] = FA(number, 1); while (turn[i]!= next) skip; KR next = next + 1; Ikke KR FA(var, incr): < int tmp = var; var = var + incr; return tmp; > Uten denne instruksjonen, bruker vi en ekstra KR: KRinngang; turn[i]=number; number = number + 1; KRutgang; Problem med fairness for KR. Løses med bakeri-algoritmen (se boka). H09, Uke 2, side 33.
34 Kølapp-algoritmen: Invariant Vi kan formulere en global invariant for prosessene i kølapp-algoritmen: 0 < next number For hver prosessp[i]: turn[i] < number hvisp[i] er i KR så erturn[i] == next. For alle prosesserp[i],p[j] deri!= j: hvisturn[i] > 0 så erturn[j]!= turn[i]. Dette holder initielt, og blir opprettholdt av alle atomære setninger. H09, Uke 2, side 34.
35 Barriere-synkronisering Utregning av disjunkte deler i parallell (f.eks. array-elementer). Prosessene går i løkke, der hver gjennomgang er avhengig av resultatene fra forrige gjennomgang. process Worker[i=1 to n] { while (true) { Arbeidsoppgave i; Vent til n-oppgaver er gjort; # Barriere Alle prosessene må nå barrieren før noen kan forsette. H09, Uke 2, side 35.
36 Delt teller Et antall prosesser skal synkronisere avslutning av sine arbeidsoppgaver. Synkroniseringen kan implementeres ved en felles teller : int count = 0; process Worker[i=1 to n] { while (true) { Arbeidsoppgave i < count = count + 1; > < await (count == n); > Kan implementeres v.h.a. FA-instruksjon. Ulemper: count må nullstilles mellom hver gjennomgang. Må endres v.h.a. atomære operasjoner. Ineffektivt: Mange prosesser leser og skriver tilcount samtidig. H09, Uke 2, side 36.
37 Koordinering ved hjelp av flagg Målsetning: Unngår overbelastning av lese- og skriveoperasjoner på én variabel. Deler felles teller i flere lokale variable. Worker[i]: arrive[i] = 1; < await (continue[i] == 1);> Coordinator: for [i=1 to n] < await (arrive[i]==1);> for [i=1 to n] continue[i] = 1; Hvis det er flere synkroniseringspunkter på samme flagg, gjelder følgende: Prosessen som venter på et flagg, er den som skal nullstille flagget etter synkronisering Et flagg skal ikke settes før det er nullstilt H09, Uke 2, side 37.
38 Synkronisering v.h.a. flagg int arrive[1:n] = ([n] 0), continue[1:n] = ([n] 0); process Worker[i = 1 to n] { process Coordinator { while(true) { while(true) { Arbeidsoppgave i; for[i = 1 to n] { arrive[i] = 1; < await (arrive[i] == 1);> < await (continue[i] == 1);> arrive[i] = 0; continue[i] = 0; for [i = 1 to n] continue[i] = 1; H09, Uke 2, side 38.
39 Kombinerte barrierer Rollene til Worker- og Coordinator-prosessene kan kombineres. I en kombinert tre-barriere er prosessene organisert i en trestruktur. Prosessene signaliserer arrive oppover i treet og continue nedover i treet. H09, Uke 2, side 39.
INF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer
INF3140/4140: Låser og Barrierer Uke 2, side 1. Praktisk Obligatorisk oppgave 1 Er nå lagt ut. Merk: Frist fredag 21. sept. Guppelærer Mohammad Ali Norozi mohammno@ifi.uio.no Merk: Kun gruppe 1 åpen! Forelesningssted
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: December 16th. 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 11 sider. Vedlegg: INF3140/4140 Models of Concurrency
DetaljerINF3140 Modeller for parallellitet INF3140/4140: Programanalyse
INF3140/4140: Programanalyse Uke 4, side 1. Hvordan sjekke egenskaper ved programmer? Testing eller debugging øker tilliten til programmet ved prøving, men gir ingen garanti for korrekthet Operasjonell
DetaljerINF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo.
INF4140 MODELLER FOR PARALLELLITET PMA-gruppen Institutt for informatikk Universitetet i Oslo http://www.ifi.uio.no/~pma (versjon 27.8.08) INF 4140 H08 Uke 1, side 1. Modeller for parallellitet Forelesere
DetaljerConcurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
Concurrency Lars Vidar Magnusson September 20, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 20, 2011 1 / 17 Oversikt Concurrency 1 Concurrency Beskrivelse Prinsipper
DetaljerInnhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse
Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle
DetaljerINF1010 Tråder II 6. april 2016
INF1010 Tråder II 6. april 2016 Stein Gjessing Universitetet i Oslo 1 Tråder i Java tråden minrunp class MinRun implements Runable { MinRun(... ) {... } public void run( ) {...... } } //end
DetaljerPlan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer
Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer
DetaljerMer om C programmering og cuncurrency
Mer om C programmering og cuncurrency Lars Vidar Magnusson September 23, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 23, 2011 1 / 19 Oversikt Mer om C programmering
DetaljerEn prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.
Synkronisering En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig. Behov for synkronisering Mange prosesser/tråder
DetaljerPython: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå hvorfor vi trenger løkker i programmering Ha kjennskap to ulike typer løkker (while-løkke, for-løkke) Og vite
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer
1 TDT4105 Informasjonsteknologi, grunnkurs Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer Rune Sætre (satre@idi.ntnu.no) Anders Christensen (anders@idi.ntnu.no) TDT4105 IT Grunnkurs
DetaljerINF3140 / INF4140 MODELLER FOR PARALLELLITET. PMA-gruppen. Institutt for informatikk Universitetet i Oslo.
INF3140 / INF4140 MODELLER FOR PARALLELLITET PMA-gruppen Institutt for informatikk Universitetet i Oslo http://www.ifi.uio.no/~pma Uke 1, side 1. Modeller for parallellitet Forelesere Johan Dovland (IFI)
DetaljerPlenumsregning 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
DetaljerINF3140 Modeller for parallellitet INF3140/4140: Semaforer
INF3140/4140: Semaforer Uke 3, side 1. I dag Symmetriske barrierer Semaforer Verktøy for synkroniseringsprotokoller Skal se flere klassiske problemstillinger Uke 3, side 2. Symmetriske barrierer Alle nodene
DetaljerMAT1030 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
DetaljerVelkommen 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
DetaljerGetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.
Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis
DetaljerKort notat om parallellstyring IN147
Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed
DetaljerPlenumsregning 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
DetaljerMAT1030 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
DetaljerINF2810: Funksjonell Programmering. Strømmer
INF2810: Funksjonell Programmering Strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 12. april 2013 Tema 2 Forrige uke Litt mer i dybden om køer Eksperiment: live-programmering Tabeller som hierarkiske
DetaljerINF2810: Funksjonell Programmering. Strømmer
INF2810: Funksjonell Programmering Strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 12. april 2013 Tema 2 Forrige uke Litt mer i dybden om køer Eksperiment: live-programmering Tabeller som hierarkiske
DetaljerOppsummering 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: ,
DetaljerKodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007
Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Stein Krogdahl, Ifi UiO NB: Innfører noen begreper som først og fremst har mening om man skal gå videre med
DetaljerINF2810: 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet
DetaljerLæ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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2440 Effektiv parallellprogrammering Eksamensdag: 2. juni 2015 Tidspunkter: 09.00 13.00 Oppgavesettet er på: 3 sider + 2 sider
DetaljerINF2810: Funksjonell Programmering. Muterbare data
INF2810: Funksjonell Programmering Muterbare data Stephan Oepen Universitetet i Oslo 15. mars 2016 Agenda Forrige uke Prosedyrebasert objektorientering Lokale tilstandsvariabler Innkapsling + set! Eksempel:
DetaljerØ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
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer
1 TDT4105 Informasjonsteknologi, grunnkurs Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer Rune Sætre (satre@idi.ntnu.no) Anders Christensen (anders@idi.ntnu.no) TDT4105 IT Grunnkurs
DetaljerINF5110, onsdag 19. februar, Dagens tema: Parsering ovenfra-ned (top-down)
INF5110, onsdag 19. februar, 2014 Dagens tema: Kapittel 4 Parsering ovenfra-ned (top-down) Vi har med alle foilene til kap. 4 her, også de som ble gjennomgått mot slutten av forelesning 7. februar Pensum
DetaljerRepetisjon Novice Videregående Python PDF
Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med
DetaljerMAT-INF1100 Oblig 1. Teodor Spæren, brukernavn teodors. September 16, 2015
MAT-INF1100 Oblig 1 Teodor Spæren, brukernavn teodors September 1, 015 1 Oppgave 1 I de oppgavene som krever at man gjør om et rasjonalt tall i intervallet (0, 1) om til en binærsifferutvikling, fant jeg
DetaljerØ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
DetaljerMed 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
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
DetaljerINF Logikk og analysemetoder Forslag til løsning på oppgave fra læreboken
INF4170 - Logikk og analysemetoder Forslag til løsning på oppgave 3.2.1 fra læreboken Joakim Hjertås, joakimh@ifi.uio.no 7. mars 2004 Sammendrag Disse sidene kommer med forslag til løsning på oppgave 3.2.1
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
DetaljerINF1010 våren januar. Objektorientering i Java
INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort
DetaljerLøkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve
Løkker og arrayer Løse problemer med programmering INF1000, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler og uttrykk Beslutninger Kontrollflyt og feilmeldinger Metoder og parametre Fokus i
DetaljerMedisinsk statistikk, KLH3004 Dmf, NTNU 2009. Styrke- og utvalgsberegning
Styrke- og utvalgsberegning Geir Jacobsen, ISM Sample size and Power calculations The essential question in any trial/analysis: How many patients/persons/observations do I need? Sample size (an example)
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 5. juni 2007 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 6 sider (pluss vedlegg) Vedlegg
DetaljerINF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet
INF2810: Funksjonell Programmering Køer, tabeller, og (litt om) parallelitet Stephan Oepen & Erik Velldal Universitetet i Oslo 5. april 2013 Tema 2 Siste gang Kort om underveisevaluering Destruktive listeoperasjoner
DetaljerForelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy
Forelesning III Kap 8 & 7; Dagsplan Moral: Gjenbruk Kap 8: Shared variable-based synchronization and communication Condition synchronization Mutual Exclution Conditional Critical Regions Suspend & Resume
DetaljerTDT4110 IT Grunnkurs Høst 2014
TDT4110 IT Grunnkurs Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 10 Denne øvingen er en to-ukers øving (prosjekt) og inneholder én
DetaljerINF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet
INF2810: Funksjonell Programmering Køer, tabeller, og (litt om) parallelitet Stephan Oepen & Erik Velldal Universitetet i Oslo 5. april 2013 Tema 2 Siste gang Kort om underveisevaluering Destruktive listeoperasjoner
DetaljerOppgaver til kodegenerering etc. INF-5110, 12. mai, 2015
Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)
DetaljerBruk piazza for å få rask hjelp til alles nytte!
Kunnskap for en bedre verden 1 TDT4105 Informasjonsteknologi, grunnkurs Matlab 5: Løkker (FOR og WHILE) Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no
DetaljerEmneevaluering GEOV272 V17
Emneevaluering GEOV272 V17 Studentenes evaluering av kurset Svarprosent: 36 % (5 av 14 studenter) Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet PhD Candidate Samsvaret mellom
Detaljerwhile-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke
while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 01/09-17 En liten repetisjon Løkker Arrayer
DetaljerBetinget 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
DetaljerSemantisk Analyse del I
Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)
DetaljerEn 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
DetaljerIN1010 våren Repetisjon av tråder. 15. mai 2018
IN1010 våren 2018 Repetisjon av tråder 15. mai 2018 Stein Gjessing,, Universitetet i Oslo 1 Tråder Datamaskinarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Minne
DetaljerKap. 4: Ovenfra-ned (top-down) parsering
Kap. 4: Ovenfra-ned (top-down) parsering Dette bør leses om igjen etter kapittelet: First og Follow-mengder Boka tar det et stykke uti kap 4, vi tok det først (forrige foilbunke) LL(1)-parsering og boka
DetaljerEksempler på ikke-blokkerende systemkall:
Blokkerende systemkall Thread-modeller Thread-modeller Blokkerende systemkall Viktigste grunn for tråder: blokkerende I/O forespørsler Applikasjonen som ber om I/O blir satt på vent av operativsystemet
DetaljerOppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b
Oppgave 1 1 a INF1020 Algoritmer og datastrukturer Forelesning 14: Gjennomgang av eksamen vår 2001 oppgave 1,2,4 Arild Waaler Institutt for informatikk, Universitetet i Oslo Oppgave 1 a Programmer en ikke-rekursiv
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 2. juni 2010 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 5 sider (pluss
DetaljerMatchinger i ikke-bipartite grafer
Matchinger i ikke-bipartite grafer Stein Krogdahl, Notat til INF 3/4130 Sist revidert september 2006 Vi skal i dette notatet se på det å finne matchinger i generelle grafer, uten noe krav om at grafen
DetaljerI Kapittel 3 så vi på hvordan data, som hele tall og reelle tall, kan representeres som bitsekvenser
Forelesning 5 Logikk Dag Normann - 28. januar 2008 Oppsummering av Kapittel 3 I Kapittel 3 så vi på hvordan data, som hele tall og reelle tall, kan representeres som bitsekvenser i en datamaskin. Stoffet
DetaljerLø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)
DetaljerFeilmeldinger, 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
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2014
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Løsningsforslag øving 2 Frist: DD.MM.YYYY Mål
Detaljer13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER
.9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,
Detaljerstatic int skrivetidsfrist = 0; // antall overskredet tid når skrive
// Dette eksempelet viser en ReaderWriterLock beskytte en delt // ressurs som kan leses samtidig av mange tråder, men kun // skrives til av en tråd om gangen. #include "stdafx.h" using namespace System;
DetaljerOppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf
Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser
DetaljerI et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ
INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint
DetaljerOppgave 1. Oppgave 2. Høgskolen i Østfold Avdeling for informasjonsteknologi
Høgskolen i Østfold Avdeling for informasjonsteknologi Løsningsforslag til ny/utsatt eksamen i ITF20006 Algoritmer og datastrukturer 05.01.2018 Oppgave 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DetaljerMAT1030 Forelesning 4
MAT1030 Forelesning 4 Logikk Roger Antonsen - 21. januar 2009 (Sist oppdatert: 2009-01-22 13:02) Kapittel 4: Logikk (fortsettelse) Enda et eksempel (a) Jeg liker ikke Bamsemums. (b) Du liker alt jeg liker.
DetaljerPython: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:
DetaljerAlgoritmer og datastrukturer E Løkker i Java
Vedlegg E Løkker i Java Side 1 av 6 Algoritmer og datastrukturer E Løkker i Java E Løkker i Java E.1 For-løkker En for-løkke består av de fire delene initialisering, betingelse, oppdatering og kropp (eng:
DetaljerUke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO
Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten
DetaljerHjemmeeksamen 2 i INF3110/4110
Hjemmeeksamen 2 i INF3110/4110 Innleveringsfrist: onsdag 19. november kl. 1400 Innlevering Besvarelsen av oppgave 2,3,4 og 5 skal leveres skriftlig på papir i IFI-ekspedisjonen. Merk denne med navn, kurskode,
DetaljerINF2220: Forelesning 2
INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor
DetaljerINF2440 Prøveeksamen, løsningsforslag, 20 mai Arne Maus PSE, Inst. for informatikk
INF2440 Prøveeksamen, løsningsforslag, 20 mai 2015 Arne Maus PSE, Inst. for informatikk 1 Prøveeksamen Er en modell av hva du får til eksamen: - like mange (+-1) oppgaver som eksamen og nesten samme type
DetaljerPrøveeksamen INF2440 v Arne Maus PSE, Inst. for informatikk
Prøveeksamen INF2440 v 2016 Arne Maus PSE, Inst. for informatikk 1 Oppgave 1 (10 poeng) Forklar hva som skjer ved en synkronisering: a) Når to tråder synkroniserer på samme synkroniseringsobjekt (f.eks
DetaljerINF1000 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
DetaljerPensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO
Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke
DetaljerInnhold 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:
DetaljerInvarianter, +lstander og li1 mer seman+kk
Invarianter, +lstander og li1 mer seman+kk INF1010 14.april 2016 Stein Gjessing April 13, 2016 1 Invariant (= Invariant +lstandspåstand) Vi har se3 flere ganger at det er svært nyjg å formulere +lstandspåstander
DetaljerFra sekvensielt til parallelt
Fra sekvensielt til parallelt «Sanntidprogrammering etter 34 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerNy/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerPlan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering
Kræsj-kurs i sanntidsprogrammering 1. Amanuensis Sverre Hendseth Teknisk Kybernetikk. http://www.itk.ntnu.no/ansatte/hendseth_sverre/ Plan for dagen Programmering intro Tråder & Synkronisering Non-preemptive
DetaljerFra sekvensielt til parallelt
Fra sekvensielt til parallelt «Sanntidprogrammering etter 33 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)
DetaljerINF2810: 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
DetaljerHangman. Level. Introduksjon
Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon
DetaljerForslag til løsning på oppgavesett for uke 40
Forslag til løsning på oppgavesett for uke 40 Lars Vidar Magnusson November 3, 2011 1 Tråder 1. Lag et program som starter tre ulike tråder (forskjellige trådfunksjoner) som hver av skriver ut en melding
DetaljerIN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python
IN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python I disse oppgavene skal vi introdusere Python, og vise hvordan vi kan jobbe med tekst i Python. Vi skal se på hva et programmeringsspråk
DetaljerEKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.
Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig
DetaljerNIO 1. runde eksempeloppgaver
NIO 1. runde eksempeloppgaver Oppgave 1 (dersom du ikke klarer en oppgave, bare gå videre vanskelighetsgraden er varierende) Hva må til for at hele det følgende uttrykket skal bli sant? NOT(a OR (b AND
DetaljerC# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18
C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18 Olav Dæhli - C#-kurs høsten 2017 1 Løkker Dagens temaer Inkrementering/dekrementering Løkkebetingelser Løkketyper Nøstede løkker Escape-sequences Debugger
DetaljerI denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.
Repetisjon Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks,
DetaljerINF2440 Uke 4, våren2014 Avsluttende om matrisemultiplikasjon og The Java Memory Model + bedre forklaring Radix. Arne Maus OMS, Inst.
INF Uke, våren Avsluttende om matrisemultiplikasjon og The Java Memory Model + bedre forklaring Radix Arne Maus OMS, Inst. for informatikk Hva så vi på i uke. Presisering av hva som er pensum. Samtidig
DetaljerINF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet
INF 4130 8. oktober 2009 Stein Krogdahl Dagens tema: Uavgjørbarhet Dette har blitt framstilt litt annerledes tidligere år Se Dinos forelesninger fra i fjor. I år: Vi tenker mer i programmer enn i Turing-maskiner
Detaljer