Föreläsning 9: Prioritetskö, trappa (heap), heapsort, Reguljära uttryck
|
|
- Ingegerd Åström
- för 9 år sedan
- Visningar:
Transkript
1 Föreläsning 9: Prioritetskö, trappa (heap), heapsort, Reguljära uttryck Prioritetskö, Trappa (heap) Heapsort Bästaförstsökning Implementation Reguljära uttryck Prioritetskö När man poppar en stack får man ut det senast inpushade. När man tar ut något ur en vanlig kö får man tvärtom ut det som legat längst tid i kön. Man skulle kunna se det som att det som stoppas in tidsstämplas och att det påstämplade talet ger prioriteten för uthämtning. I en prioritetskö stämplas en prioritet på varje objekt som stoppas in och vid uthämtning får man objektet med högst prioritet. En abstrakt prioritetskö kan ha följande anrop. put(x); Stoppa in x med påstämplad prioritet p. x=get(); Hämta det som har högst prioritet. isempty(); Undersök om prioritetskön är tom. isfull(); Undersök om prioritetskön är full. Om det man vill stoppa in i prioritetskön är ett tal kan man använda talet självt som prioritet och bara skriva put(x). Hur den då skiljer sej från en stack och från en vanlig kö ser man av följande exempel. pq.put(1); pq.put(3); pq.put(2); x = pq.get(); // x blir 3 En kö hade skickat tillbaka det först instoppade talet 1; en stack hade skickat tillbaka det senast instoppade talet, 2; prioritetskön skickar tillbaka det bästa talet, 3. I denna prioritetskö betraktar vi största talet som bäst - vi har en så kallad maxprioritetskö. Det finns förstås också minprioritetsköer, där det minsta talet betraktas som bäst. Prioritetsköer har många användningar. Man kan tänka sej en auktion där budgivarna stoppar in sina bud i en maxprioritetskö och auktionsförrättaren efter "första, andra, tredje" gör pq.get() för att få reda på det vinnande budet. För att han ska veta vem som lagt detta bud behöver förstås fler uppgifter lagras. 1(8)
2 Trappa pq.put(person); // person är ett objekt med bud, budgivarens // namn och adress m.m. winner = pq.get(); //budgivaren med högst bud Den bästa implementationen av en prioritetskö är en trappa, (eng heap), som är en hakvektor trappsteg tolkad som binärträd. Roten är trappsteg[1] (vi använder inte trappsteg[0]), dess båda söner är trappsteg[2] och trappsteg[3] osv. Allmänt gäller att trappsteg[i] har sönerna trappsteg[2*i] och trappsteg[2*i+1]. Trappvillkoret är att pappa är bäst, dvs varje tal ligger på två sämre tal. Ett nytt tal läggs alltid in sist i trappan. Om trappvillkoret inte blir uppfyllt, dvs om det är större än sin far, byter far och son plats och så fortgår det tills villkoret uppfyllts. Det här kallas upptrappning och kan i värsta fall föra det nya talet hela vägen upp till toppen, alltså trappsteg[1]. Man plockar alltid ut det översta talet ur trappan och fyller igen tomrummet med det sista talet i trappan. Då är inte trappvillkoret uppfyllt, så man får byta talet och dess störste son. Denna nedtrappning upprepas till villkoret åter gäller. Både put och get har komplexitet log N om trappan har N element. Nackdelen med trappan är man måste bestämma hakvektorns storlek från början. Heapsort Om man stoppar in N tal i en trappa och sedan hämtar ut dom ett efter ett får man dom sorterade. Komplexiteten för denna heapsort blir O(N log N), alltså av lika god storleksordning som quicksort. Visserligen är quicksort lite snabbare, men heapsort har inte quicksorts dåliga värstafallsbeteende, och så kan ju en heap användas till andra saker än sortering också. class Heapsort{ Mio mio = new Mio(); public static void main(string[] args){ Heap heap = new Heap(16); System.out.println("Skriv några ord (retur avslutar)"); while (!mio.eoln()) heap.put(mio.getword()); while (!heap.isempty()) System.out.println(heap.get()); 2(8)
3 Bästaförstsökning Labb 4 behandlar problemet att finna kortaste vägen från FAN till GUD. Man har då ett problemträd med FAN som stamfar, på nivån därunder sönerna MAN, FIN, FAT osv, på nästa nivå fans sonsöner osv. Om man lägger sönerna i en kö kommer man att gå igenom problemträdet nivå för nivå, alltså breddenförst. Om man byter kön mot en stack blir sökningen djupetförst. Med en prioritetskö får man bästaförstsökning, dvs den mest lovande sonen prioriteras och får föda söner. Exempel 1: Sök billigaste transport från Teknis till Honolulu. All världens resprislistor finns tillgängliga. Problemträdets poster innehåller en plats, ett pris och en faderspekare. Överst i trädet står Teknis med priset noll. Sönerna är alla platser man kan komma till med en transport och priset, till exempel T-centralen, Man söker en Honolulupost i problemträdet. Med breddenförstsökning får man den resa som har så få transportsteg som möjligt. Med bästaförstsökning får man den billigaste resan. Exempel 2: Sök effektivaste processen för att framställa en önskad substans från en given substans. All världens kemiska reaktioner finns tillgängliga med uppgift om utbytet i procent. Problemträdets poster innehåller substansnamn och procenttal. Överst i trädet står utgångssubstansen med procenttalet 100. Sönerna är alla substanser man kan framställa med en reaktion och utbytet, till exempel C2H5OH, 96%. Med en maxprioritetskö får man fram den effektivaste process som leder till målet. Implementation Här följer en rudimentär implementation av en heap med Comparable-element. Vad händer om man försöker stoppa in ett element i en redan full Heap? Eller plocka ut något ur en tom Heap? Ge förslag på hur man ska hantera dessa fall. class Heap { /** En heap implementerad med en trappa (hakvektor tolkad som binärträd) */ private int size; /* Aktuell storlek */ private int maxsize; /* Maximal storlek */ private Comparable[] heap; /* Trappan - en hakvektor där heapens element lagras */ /** Konstruktor - ange trappans maxstorlek */ public Heap(int maxsize) { this.size=0; this.maxsize=maxsize; heap = new Comparable[maxsize+1]; /** Returnerar true om inga element finns i heapen */ public boolean isempty() return size==0; /** Returnerar true om inga fler element får plats i heapen */ public boolean isfull() return size==maxsize; 3(8)
4 /** Lägger in ett nytt element i heapen */ public void put(comparable data){ if (!isfull()) { size=size+1; heap[size]=data; int i=size; while (i>1 && heap[i/2].compareto(heap[i])<0) { byt(i/2, i); i=i/2; /** Plockar ut det största (med compareto) elementet ur heapen */ public Comparable get(){ if (!isempty()){ Comparable data=heap[1]; heap[1]=heap[size]; size=size-1; int i=1; do { int max=maxindex(i); if (heap[i].compareto(heap[max])<0) byt(i,max); i=max; while (i<=size/2); return data; else return null; /** Hjälpmetod, byter plats på element a och b */ private void byt(int a, int b) { Comparable tmp=heap[a]; heap[a]=heap[b]; heap[b]=tmp; /** Hjälpmetod, returnerar index för största sonen */ private int maxindex(int i){ if (2*i+1>size) return 2*i; if (heap[2*i].compareto(heap[2*i+1])>0) return 2*i; else return 2*i+1; Reguljära uttryck Reguljära uttryck används när man vill söka efter en viss text i en textmassa. Ett reguljärt uttryck består av tecken och metatecken som tillsammans utgör ett sökmönster. Ett exempel på en vanlig användning av reguljära uttryck är filöppningsdialogen i en ordbehandlare. I Figur 1 visas en filöppningsdialog i ordbehandlaren Microsoft Word. I fältet Files of type räknas ett antal reguljära uttryck upp: *.doc, *.dot, *.htm osv. I dialogfönstret visas enbart filer vars filnamn matchar något av dessa reguljära uttryck. Exempelvis matchar filen Ett_word_dokument.doc sökmönstret *.doc. 4(8)
5 Figur 1 Filöppningsdialog i Word, wordfiler Övriga filer i den öppnade mappen visas inte. För att se övriga filer i mappen måste ett annat sökmönster användas. Se Figur 2. Figur 2 Filöppningsdialog i Word, alla filer 5(8)
6 Olika syntaxer för reguljära uttryck Det reguljära uttrycket *.doc i Figur 1 består av ett metatecken * samt fyra vanliga tecken.doc. Med metatecken avses att tecknet inte matchar sig självt utan skall tolkas särskilt. I det här fallet kommer * att matcha en teckenföljd. Det reguljära uttrycket kommer således att matcha filnamn bestående av en teckenföljd, vilken som helst, avslutat med ändelsen.doc. Exempel: Ett_word_dokument.doc Ett_till_dokument.doc Ett_.doc_dokument.doc I andra sammanhang, t.ex. när man använder programmeringsverktyg som java, lex, eller perl, har metatecknet * en liknande men annan tolkning. Javas klass Pattern tolkar * som inga eller flera av föregående och kan appliceras på ett enskilt tecken eller ett helt reguljärt uttryck. Reguljära uttryck i java Sedan JDK 1.4 stöder java programmering med reguljära uttryck. Nedan följer ett utdrag ur dokumentationen för klassen Pattern: ( ) A regular expression, specified as a string, must first be compiled into an instance of this class. The resulting pattern can then be used to create a Matcher object that can match arbitrary character sequences against the regular expression. All of the state involved in performing a match resides in the matcher, so many matchers can share the same pattern. A typical invocation sequence is thus Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); A matches method is defined by this class as a convenience for when a regular expression is used just once. This method compiles an expression and matches an input sequence against it in a single invocation. The statement boolean b = Pattern.matches("a*b", "aaaaab"); is equivalent to the three statements above, though for repeated matches it is less efficient since it does not allow the compiled pattern to be reused. ( ) Character classes [abc] a, b, or c (simple class) [^abc] Any character except a, b, or c (negation) [a-za-z] a through z or A through Z, inclusive (range) Greedy quantifiers X? X, once or not at all X* X, zero or more times X+ X, one or more times ( ) 6(8)
7 Predefined character classes. Any character (may or may not match line terminators alba: d.v.s. retur, EOF) \d A digit: [0-9] \D A non-digit: [^0-9] \s A whitespace character: [ \t\n\x0b\f\r] \S A non-whitespace character: [^\s] \w A word character: [a-za-z_0-9] \W A non-word character: [^\w] ( ) Praktiska exempel I klassen String finns två användbara metoder som använder reguljära uttryck. matches Metoden matches testar om en sträng matchar mot ett reguljärt uttryck. Med hjälp av det kan man tillåta användare att mata in extra mellanslag m.m. class Regex { public static void main(string[] args) { if (" Alexander ".matches(" *Alexander *") ) System.out.println ("\" Alexander \" matches \" *Alexander *\""); if (" alexander ".matches(" *[A a]lexander *") ) System.out.println ("\" Alexander \" matches \" *[A a]lexander *\""); if ("12/3-03".matches("\\d?\\d/\\d?\\d *- *\\d\\d")) System.out.println ("12/3-03\" matches \"\\d?\\d/\\d?\\d *- *\\d\\d\""); ger utskriften " Alexander " matches " *Alexander *" " alexander " matches " *[A a]lexander *" "12/3-03" matches "\d?\d/\d?\d *- *\d\d" 7(8)
8 split En annan praktiskt metod är split som kan dela upp en sträng i flera delsträngar. Notera att tecknet (eller det reguljära uttrycket) man delar med avseende på, försvinner. String mening = "Jag heter Olle"; String [] ord = mening.split(" "); for (int i = 0; i < ord.length; i++) { System.out.println(ord[i]); Jag ger resultatet heter Olle men hade det stått String [] ord = mening.split("e"); blir resultatet Jag h t r Oll 8(8)
Föreläsning 10: Prioritetskö, trappa (heap), heapsort, Reguljära uttryck
Föreläsning 10: Prioritetskö, trappa (heap), heapsort, Reguljära uttryck Prioritetskö, Trappa (heap) Heapsort Bästaförstsökning Implementation Reguljära uttryck Prioritetskö När man poppar en stack får
Föreläsning 7: Prioritetskö, trappa heapsort, hashning
Föreläsning 7: Prioritetskö, trappa heapsort, hashning Prioritetskö, Trappa Heapsort Bästaförstsökning Implementation hashning Prioritetskö När man poppar en stack får man ut det senast inpushade. När
Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck
Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck Josef Svenningsson Tisdag 13/1 Överlagring Ur klassen Math: public static max(int a, int b) public static max(double
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD
ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD I Navigationen hittar du genvägar till funktioner i programmet. För att utnyttja detta på bästa sätt kan du anpassa Navigationen så att det passar ditt sätt att arbeta.
Distribuerade system. CORBA eller RMI
Distribuerade system Java XII - 1 CORBA eller RMI Java XII - 2 Några motiv till distribuerade system kan vara att: Utjämna belastningen mellan olika maskiner i ett nätverk Utnyttja kapaciteten i en större
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Tentamen i Programmering grundkurs och Programmering C
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Mera om generik. Innehåll. Generik och arv Wildcards Vektorer och generik Generiska metoder. EDA690 (Mera om generik) HT 2013 1 / 24
Mera om generik Innehåll Generik och arv Wildcards Vektorer och generik Generiska metoder EDA690 (Mera om generik) HT 2013 1 / 24 Begreppet subtyp/supertyp i Java Supertyper för en viss klass C är alla
Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik
Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik Summaregeln Om och B är disjunkta mängder så B = + B, ty innehåller inga upprepningar Produktregeln Om och B är disjunkta mängder så är B = B Exempel:
Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument
Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument Distributiva lagen a(b + c) = ab + ac 3(x + 4) = 3 x + 3 4 = 3x + 12 3(2x + 4) = 3 2x + 3 4 = 6x + 12
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
DATASAMORDNING NYHETERNA I CHAOS 3 2009-09-15. Utbildning Chaos/Handledning - Nyheterna i Chaos 3/2009-09-15
DATASAMORDNING NYHETERNA I CHAOS 3 2009-09-15 2 (14) Innehåll INLEDNING 3 PRESTANDAFÖRBÄTTRINGAR I CHAOS 3 4 BAKGRUND 4 Kontroll av fönsterinställningar... 4 Vista-kompabilitet.... 4 Kompatibelt med långa
Lathund, procent med bråk, åk 8
Lathund, procent med bråk, åk 8 Procent betyder hundradel, men man kan också säga en av hundra. Ni ska kunna omvandla mellan bråkform, decimalform och procentform. Nedan kan ni se några omvandlingar. Bråkform
Föreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Klasser och objekt i C#
Klasser och objekt i C# Från klassdiagram till C#-klass till objekt initierat av en konstruktor. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med
Föreläsning 8: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Lite skoj - typ. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se
Lite skoj - typ 5DV085 - Programspråk, Department of Computing Science, Umeå University - jem@cs.umu.se Kommentarer och frågor på sem 1? Byte av tid Den 26:e - skulle vi kunna flytta den lektionen? Förmiddagen?
Tentamen i Algoritmer & Datastrukturer i Java
Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2008-05-27 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:
Idag: Dataabstraktion
Idag: Dataabstraktion Hur använder vi det vi hittills kan om Scheme för att realisera (implementera) sammansatta data? Hur separerar man datastrukturen från resten av ett program så att ändringar i datastrukturen
Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.
Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer
Programmera en NXT Robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmera en NXT Robot Med hjälp utav NXC Peyman Torabi 2012-09-03 E-post: peymant@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Uppgiften var att analysera
Du ska nu skapa ett litet program som skriver ut Hello World.
Tidigare har vi gjort all programmering av ActionScript 3.0 i tidslinjen i Flash. Från och med nu kommer vi dock att ha minst två olika filer för kommande övningar, minst en AS-fil och en FLA-fil. AS Denna
Snapphanalegen. Firekángabogena. Spelregler. (4 spelare)
Snapphanalegen Firekángabogena Spelregler 1 800 (4 spelare) 800 är ett spel med anor från 1400-talet. Spelet ställer stora krav på spelarnas skicklighet. Fyra deltagare spelar ihop parvis. Spelet cirkulerar
Tentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Individuellt Mjukvaruutvecklingsprojekt
Individuellt Mjukvaruutvecklingsprojekt RPG-spel med JavaScript Författare Robin Bertram Datum 2013 06 10 1 Abstrakt Den här rapporten är en post mortem -rapport som handlar om utvecklandet av ett RPG-spel
Snabbslumpade uppgifter från flera moment.
Snabbslumpade uppgifter från flera moment. Uppgift nr Ställ upp och dividera utan hjälp av miniräknare talet 48 med 2 Uppgift nr 2 Skriv talet 3 8 00 med hjälp av decimalkomma. Uppgift nr 3 Uppgift nr
Väga paket och jämföra priser
strävorna 2AC 3AC Väga paket och jämföra priser begrepp rutinuppgifter tal geometri Avsikt och matematikinnehåll Den huvudsakliga avsikten med denna aktivitet är att ge elever möjlighet att utveckla grundläggande
Tentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Föreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Föreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
729G04 - Hemuppgift, Diskret matematik
79G04 - Hemuppgift, Diskret matematik 5 oktober 015 Dessa uppgifter är en del av examinationen i kursen 79G04 Programmering och diskret matematik. Uppgifterna ska utföras individuellt och självständigt.
ANVÄNDARHANDLEDNING FÖR
ANVÄNDARHANDLEDNING FÖR TILLSÄTTARE/LAGLEDARE OCH DOMARE Cleverservice ett smart sätt att hantera matcher, domartillsättningar, samt utbetalningar av arvoden 2015 ANVÄNDARHANDLEDNING - CLEVERSERVICE Cleverservice
Sammanfatta era aktiviteter och effekten av dem i rutorna under punkt 1 på arbetsbladet.
Guide till arbetsblad för utvecklingsarbete Arbetsbladet är ett verktyg för dig och dina medarbetare/kollegor när ni analyserar resultatet från medarbetarundersökningen. Längst bak finns en bilaga med
Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Gissa det hemliga talet
Laborationsanvisning Gissa det hemliga talet Steg 1, laborationsuppgift 1 Författare: Mats Loock Kurs: ASP.NET MVC Kurskod:1DV409 Innehåll Problem 4 Modell 4 Den uppräkningsbara typen Outcome 5 Strukturen
Föreläsning 5: Rekursion
Föreläsning 5: Rekursion Vi har tidigare sett att man kan dela upp problem i mindre bitar med hjälp av underprogram, vilket är ett utmärkt sätt att lösa problem. Detta är ganska lätt att rita upp för sig
Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Statsbidrag för läxhjälp till huvudmän 2016
Statsbidragsenheten 1 (5) Statsbidrag för läxhjälp till huvudmän 2016 Skolverket lämnar statsbidrag enligt förordning (2014:144) om statsbidrag för hjälp med läxor eller annat skolarbete utanför ordinarie
ELEV- HANDLEDNING (Ansökan via webben) www.orebro.se/gymnasieantagningen
ELEV- HANDLEDNING (Ansökan via webben) www.orebro.se/gymnasieantagningen Gymnasieantagningen i Örebro län På Gymnasieantagningens hemsida www.orebro.se/gymnasieantagningen hittar du information om vad
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
Det andra alternativet är att ladda upp filer genom att klicka på plustecknet nere till vänster. Man klickar sig in på den mapp som man vill att
EPi Mediahantering I och med uppgraderingen av EPi-server så kommer ImageVault att försvinna. Istället så kommer en ny mediahantering att släppas. För att komma åt mediahanteringen så klickar man sig in
Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare
Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare I boken får vi följa hur barn tillsammans med sina lärare gör spännande matematikupptäckter - i rutinsituationer - i leken
Föreläsning 13 och 14: Binära träd
Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av
Bortom fagert tal om bristande tillgänglighet som diskriminering
Ds 2010:20 Bortom fagert tal om bristande tillgänglighet som diskriminering Lättläst sammanfattning Integrationsoch jämställdhetsdepartementet SOU och Ds kan köpas från Fritzes kundtjänst. För remissutsändningar
Föreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
Ha det kul med att förmedla och utveckla ett knepigt område!
Kul med pizzabitar Första gången eleverna får materialet i handen bör dem få sin egen tid till att undersöka det på det viset blir dem bekanta med dess olika delar. Det kan också vara en god idé att låta
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Handbok Blinken. Danny Allen Översättare: Stefan Asserhäll
Danny Allen Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Använda Blinken 6 2.1 Starta ett spel........................................ 7 2.2 Skriva in nya högsta poäng................................
Lathund till Annonsportalen
Lathund till Annonsportalen * För uppdrags-/arbetsgivare * www.gu.se/samverkan/annonsportalen/ Snabbvägar: 1. Klicka på För arbetsgivare 2. Sök efter arbetsgivarens namn i sökrutan. a. Om namnet finns
Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.
Boken om Teknik Boken om Teknik är en grundbok i Teknik för åk 4 6. PROVLEKTION: Teknikens arbetssätt att göra på riktigt Följande provlektion är ett utdrag ur Boken om Teknik. Uppslaget som är hämtat
Göm ninjorna. Det här projektet kommer att bygga på din kunskap om CCS-kung fu.
Nivå 2 Göm ninjorna All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can register
Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.
Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.
PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC
lektion 1 PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC VB är ett applikationsutvecklingsverktyg med programmeringsspråket är basic, gränssnittet är grafiskt och man arbetar hela tiden med grafiska
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Administration Excelimport
Administration Excelimport För att importera medlemmar till registret så laddar man först ner mallen för importfil, fyller i uppgifterna och laddar sedan upp filen genom att klicka på + Importera fil.
Arbeta bäst där du är Dialect Unified Mi
Arbeta bäst där du är Dialect Unified Mi [Skriv sammanfattningen av dokumentet här. Det är vanligtvis en kort sammanfattning av innehållet i dokumentet. Skriv sammanfattningen av dokumentet här. Det är
Dugga Datastrukturer (DAT036)
Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre
Omvandla Vinklar. 1 Mattematiskt Tankesätt
Omvandla Vinklar 1 Mattematiskt Tankesätt (Kan användas till mer än bara vinklar) 2 Omvandla med hjälp av Huvudräkning (Snabbmetod i slutet av punkt 2) 3 Omvandla med Miniräknare (Casio) Läs denna Först
Föreläsning 4. ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista
Föreläsning 4 Kö Föreläsning 4 ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista ADT Kö Grundprinciper: En kö fungerar som en kö. Man fyller på den längst bak och
Föreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar
Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight
Handledning för digitala verktyg Talsyntes och rättstavningsprogram Vital, StavaRex och SpellRight Elevens namn:.. Skola: Datum:.. Varför behövs en handledning? Denna handledning är tänkt att användas
Del A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Satsen double x = (int)(1 + 3/2.0) + 3.; resulterar i b) Satsen int x = (int)(1 + 3/2.0) + 3.; resulterar
Tentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102
Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,
6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:
6 Rekursion 6.1 Rekursionens fyra principer Problem löses genom: 1. förenkling med hjälp av "sig själv". 2. att varje rekursionssteg löser ett identiskt men mindre problem. 3. att det finns ett speciellt
Menys webbaserade kurser manual för kursdeltagare. Utbildningsplattform: Fronter
Menys webbaserade kurser manual för kursdeltagare Utbildningsplattform: Fronter Innehållsförteckning Introduktion 3 Inloggning & Lösenordsbyte 4 Idagsidan 6 Kursens rum (startsida) 7 Webblektion 8 Inlämning
Praktisk programmering
KUNGLIGA TEKNISKA HÖGSKOLAN Praktisk programmering Daniel Workinn [2012-09-07] workinn@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Rapporten sammanfattas enklast med ett par substantiv.
Lösningsförslag, tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och
Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare.
Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare. I plastkortsskrivaren kan man via drivrutinerna både läsa av och koda en magnetremsa. Man kan också göra en kortdesign i emedia där
Rekursion: varför? Problem delas upp i mindre bitar algoritm för att lösa problemet erhålls från problemformuleringen
Rekursion: varför Problem delas upp i mindre bitar algoritm för att lösa problemet erhålls från problemformuleringen Exempel på problem som kan lösas med rekursion: Beräkningar, t.ex. upphöjt, Fibonacci-tal,
Föreningen Nordens lokala hemsidor
Guide till Föreningen Nordens lokala hemsidor 2016-01-11 1 Innehåll Hjälpfilm... 3 Logga in... 3 Nytt inlägg... 4 Lägg till bild... 8 Lägga till bildgalleri... 11 Publicera... 13 Kalendarium... 14 Ta bort
Predikan Lyssna! 1 maj 2016
Predikan Lyssna! 1 maj 2016 Idag är det bönsöndagen en söndag då vi påminns om den fantastiska möjlighet vi har att prata med Gud och att lyssna till honom!! Och det är just det som den tredje vanan i
Skriva B gammalt nationellt prov
Skriva B gammalt nationellt prov Skriva B.wma Då fortsätter vi skrivträningen. Detta avsnitt handlar om att anpassa sin text till en särskild situation, en speciell texttyp och särskilda läsare. Nu ska
912 Läsförståelse och matematik behöver man lära sig läsa matematik?
912 Läsförståelse och matematik behöver man lära sig läsa matematik? Med utgångspunkt från min egen forskning kring läsförståelse av matematiska texter kommer jag att diskutera olika aspekter av läsning
Dina inloggningsuppgifter är samma som du använder för att logga in på skolans datorer.
Att logga in Öppna Internet Explorer (eller någon annan webbläsare). I adressfältet skriver du www.hjarntorget.net (eller bara hjarntorget.net). Tryck sedan på Enter-tangenten. Nu öppnas Hjärntorgets inloggningssida.
Stimulated recall En forskningsmetod
Stimulated recall En forskningsmetod Victoria Johansson FRAM/Projekt 2 7 februari 2013 victoria.johansson@ling.lu.se Stimulated recall eller? Stimulated recall Verbal interaction protocol Retrospective
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Erland Holmström Göteborg 16 dec 2014 Examination i PROGRAMMERINGSTEKNIK F1/TM1
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:
EXYPLUS OFFICE manual Välkommen till ExyPlus Office! Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar: Hämta fordon Hämta alla fordonsenheter
Träning i bevisföring
KTHs Matematiska Cirkel Träning i bevisföring Andreas Enblom Institutionen för matematik, 2005 Finansierat av Marianne och Marcus Wallenbergs Stiftelse 1 Mängdlära Här kommer fyra tips på hur man visar
Hemsida Arbetsrum. Skapa arbetsrumslista
Skapa arbetsrumslista Hemsida Arbetsrum För att kunna skapa en arbetsrumslista så markerar du i navigeringsfönstret där den nya sidan ska ligga. Klicka på menyknappen till höger om sidnamnet och sedan
Övningshäfte i matematik för. Kemistuderande BL 05
Övningshäfte i matematik för Kemistuderande BL 05 Detta häfte innehåller några grundläggande övningar i de delar av matematiken som man har användning för i de tidiga kemistudierna. Nivån är gymnasiematematik,
Sammanfattning på lättläst svenska
Sammanfattning på lättläst svenska Utredningen skulle utreda och lämna förslag i vissa frågor som handlar om svenskt medborgarskap. Svenskt medborgarskap i dag Vissa personer blir svenska medborgare när
Vi skall skriva uppsats
Vi skall skriva uppsats E n vacker dag får du höra att du skall skriva uppsats. I den här texten får du veta vad en uppsats är, vad den skall innehålla och hur den bör se ut. En uppsats är en text som
Två konstiga klockor
strävorna C Två konstiga klockor resonemang geometri Avsikt och matematikinnehåll Det som kan göra det svårt för barn att avläsa en analog klocka är att förstå att den består av två skalor som är beroende
Gruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)
Gruppenkät Du har deltagit i en gruppaktivitet! Det kan ha varit en tjej- / killgrupp, ett läger eller ett internationellt ungdomsutbyte. Eller så har ni kanske ordnat ett musikarrangemang, skött ett café,
Föreläsning 12: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 12: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Problemlösning, dvs hur man ska tänka för att hitta lösning int mängd/set
Hur motiverad är patienten?
Hur motiverad är patienten? Hur intresserad/beredd är du att sluta röka på en skala 0 10? 0 1 2 3 4 5 6 7 8 9 10 Kort MI-övning 1 Berättaren berättar om något hon/han tänkt på att ändra i sitt liv, men
Idag. Hur vet vi att vår databas är tillräckligt bra?
Idag Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? DD1370 (Föreläsning 6) Databasteknik
Design by. Manual Jossan.exe. Manual. till programmet. Jossan.exe. E-post: petter@sarkijarvi.se
Manual till programmet 1 Inledning Programmet är döpt efter Josefine Mattsson och har utvecklats av Josefines pappa Petter Särkijärvi i Pajala. Man kan köra/styra programmet med antingen mus, tangentbord,
FORTNOX SMÅFÖRETAGENS BÄSTA VÄN. Fortnox kom igång guide Praktisk bokföring. En guide för dig som vill komma igång med bokföring i Fortnox
Fortnox kom igång guide Praktisk bokföring En guide för dig som vill komma igång med bokföring i Fortnox Innehåll KOM IGÅNG INGÅENDE BALANSER KONTOPLAN BOKFÖRING RAPPORTER LEVERANTÖRER KUNDER KUNDFAKTURA
Axiell Arena. Samarbeta om bilder Regionbiblioteket i Kalmar län
Axiell Arena Samarbeta om bilder Regionbiblioteket i Kalmar län Introduktion Det finns möjlighet att samarbeta om bilder i Axiell Arena. Samarbetet kan läggas upp på olika sätt, men i denna lathund beskrivs
Referensvärden samtliga undergrupper
Brukarenkät Utförare IFO-FH 214 Referensvärden samtliga undergrupper 214 2 Samtliga undergrupper Lägsta värde Högsta värde HELHET, NKI 8-76 7 1 TILLGÄNGLIGHET 84-79 7 1 EFFEKTIVITET 87-8 28 1 INFORMATION