En överblick. Pseudo-parallell simulering. Snabbköpsexemplet, forts. Två olika sätt att modellera och simulera. Schedulering
|
|
- Sven Falk
- för 6 år sedan
- Visningar:
Transkript
1 En överblick Pseudo-parallell simulering Kjartan Halvorsen Systemteknik Inst för IT Uppsala Universitet På föreläsningen Simulering pseudo-parallell simulering SimPy Implementering av snabbköpsexemplet Inlämningsuppgift Introduktion, hjälptider -4-6 Två olika sätt att modellera och simulera Vi skiljer mellan Händelsestyrd simulering Beskriv alla händelser och konsekvenser av dessa. Pseudo-parallell simulering Beskriv erna som ingår i modellen, och hur dessa interagerar. Processerna påverkar varandra händelser leder till följdhändelser. Pseudo-parallell simulering Schedulering Huvudprogram Modellen är parallell, men i simuleringen exekveras endast en åt gången. Detta styrs m.h.a. en lista med tidpunkter för när en ska exekveras, samt vart i en exekveringen ska ta vid. Initiera modeller eventlist modell modell modell Simulera Slut Model
2 Processtillstånd Processtillstånd, forts Processerna kan befinna sig i olika tillstånd aktiv Processen står först i händelselistan och exekverar. Det kan endast finnas en aktiv samtidigt i simuleringen. passiv Processen exekverar inte och finns inte med i händelselistan. suspenderad Processen exekverar inte, men finns med i händelselistan. terminerad Processen är avslutad, och kan inte aktiveras igen. Byte av tillstånd Processen som aktiveras flyttas in (oftast först) i händelselistan. En kan inte aktivera sig själv. Den aktiva en passiverar sig själv gem att ge upp (temporärt) exekveringen utan att sättas upp på händelselistan. hold Processen sätts upp på händelselistan för att fortsätta exekveringen länger fram. terminera Processen har löpt klart. Snabbköpsexemplet, igen Vi beskriver varje med flödesscheman enter store (is d) ( ) queue empty? remove first from queue serve Kassa shop enter queue idle? leave (is d) Kund initiate, load data wait random time ) closing time? create and new Kundgenerator generator generator) Huvudprogram () simulate generator print results Main program
3 Simulera för hand, igen Snabbköpsexemplet, facit Givet följande slumptal Tid mellan ankomster.4,.9,.8, Tid att handla.3,.8,. Betjäningstid.6,.,.4 Simulera snabbköpssystemet för hand. Ställ upp händelselistan för de första sekunderna. Tid Kommentar. Kassa Blir passiv direkt. Kundgenerator Väntar, åter aktiv:.4.4 Kundgenerator Väntar, åter aktiv: Kund Handlar, väntar, åter aktiv: Kundgenerator Väntar, åter aktiv: Kund Handlar, väntar, åter aktiv: Kund In i kö, aktivera Kassa, passiv 4.7 Kassa ar betj, väntar, klar: Kund In i kö, passiv 6. Kundgenerator Väntar, åter aktiv:? 6. Kund 3 Handlar, väntar, åter aktiv: Kassa Betj klar, aktivera K, betj K klar: Kund Lämnar butiken SimPy Processtillstånd Processtillstånd, SimPy, forts. Antag två objekt: c = (name= " Kund " ) reg = (name= " Kassa " ) Byte av tillstånd i SimPy (c,c.goshopping()) Metoden goshopping i kund-objektet kommer exekveras. Denna metod omtalas som Process Execution Method (PEM) i SimPy-dokumentationen. Byte av tillstånd i SimPy I en PEM: yield, self Exekveringen av PEM stoppas, och kommer återupptas vid obestämt tidpunkt. Argumenten och self returneras från PEM. hold I en PEM: yield hold, self,.34 Exekveringen av PEM stoppas, men kommer återupptas när simuleringstiden har löpt ytterligare.34 tidsenheter. Argumenten hold, self och flyttalet.34 returneras. Snabbköpsexemplet, igen Vi beskriver varje med flödesscheman (is d) ( ) queue empty? remove first from queue serve def serve ( s e l f ) : while : s e l f. i d l e = # Väntande kunder? while ( Q!= [ ] ) : # Nä sta kund ur kön c = Q. pop ( ) # B e t j äna. t = Rnd. expovariate ( srate ) # Tilbaka. A k t i v e r a kund r e a c t i v a t e ( c ) # Kön tom. Ta paus s e l f. i d l e = y i e l d, s e l f enter store shop enter queue idle? leave (is d) def goshopping ( s e l f ) : # K o l l a s i m u l e r i n g s t i d e n # v i d ankomst a r r i v e = w ( ) # Handla. t = Rnd. rmalvariate ( 3,. ) # Och sedan i n i kö Q. append ( s e l f ) # A k t i v e r a kassan om passiv i f reg. i s I d l e ( ) : r e a c t i v a t e ( reg ) # Vänta i p a s s i v t l äge y i e l d, s e l f # T i l b a k s e f t e r b e t j äning # Tiden i butiken wait = w ( ) a r r i v e
4 wait random time closing time? create and new () generator def generate ( s e l f ) : i = while : # Vänta t = Rnd. expovariate ( arate ) i f (w ( ) > closet ) : break # A k t i v e r a ny kund. i += c = ( name = \ " Kund%d "%(i, ) ) a c t i v a t e ( c, c. goshopping ( ) ) initiate, load data generator simulate print results Main program ) generator) # I n i t i e r a s i m u l a t o r n i n i t i a l i z e ( ) # Skapa och a k t i v e r a erna reg = (name= " Kassa " ) a c t i v a t e ( reg, reg. serve ( ) ) cg = Generator ( ) a c t i v a t e ( cg, cg. generate ( ) ) # Simulera t i d s e n h e t e r simulate ( u n t i l =) # S k r i v ut r e s u l t a t Simulera med SimPy Givet följande slumptal Tid mellan ankomster.4,.9,.8, Tid att handla.3,.8,. Betjäningstid.6,.,.4 Simulera snabbköpssystemet. Ta fram händelselistan för de första sekunderna. Observera kölängd och väntetider i simuleringen Monitor-objekt är väldigt smidiga för att göra observationer under simuleringens gång, t.ex: class G: qmonitor = Monitor ( ) ; waitmonitor = Monitor ( ) Q = [ ] class ( Process ) def goshopping ( s e l f ) : a r r i v e = w ( ) y i e l d hold, s e l f, shoppingtime G. Q. append ( s e l f ) # A k t u e l l kö l ängd G. qmonitor. observe ( len (G. Q ) ) y i e l d, s e l f # Tid i butiken wait = w ( ) a r r i v e G. waitmonitor. observe ( wait ) Snabbköpet, simuleringen from SimPy.SimulationTrace import istället för from SimPy.Simulation import ger a c t i v a t e <Kassa > at time : p r i o r : False a c t i v a t e <Kundgenerator > at time : p r i o r : False < Kassa > hold < Kundgenerator > delay :.4.4 a c t i v a t e <Kund > at time :.4 p r i o r : False.4 hold < Kundgenerator > delay :.9.4 hold < Kund > delay : a c t i v a t e <Kund > at time : 3.3 p r i o r : False 3.3 hold < Kundgenerator > delay : hold < Kund > delay : r e a c t i v a t e <Kassa > time : 4.7 p r i o r : False 4.7 < Kund > 4.7 hold < Kassa > delay :.6 5. < Kund > 6. a c t i v a t e <Kund3 > at time : 6. p r i o r : False 6. <Kundgenerator > terminated 6. hold < Kund3 > delay :. 6.3 r e a c t i v a t e <Kund > time : 6.3 p r i o r : False 6.3 hold < Kassa > delay :. 6.3 <Kund > terminated 8. < Kund3 > 8.5 r e a c t i v a t e <Kund > time : 8.5 p r i o r : False 8.5 hold < Kassa > delay : <Kund > terminated 9.9 r e a c t i v a t e <Kund3 > time : 9.9 p r i o r : False 9.9 < Kassa > 9.9 <Kund3 > terminated Observera kölängd och väntetider i simuleringen, forts. Monitor-objekten är i princip en lista av observationer [ t,y]. qmon.count() returnerar antal observationer. qmon.total() summan av alla observationer. qmon.mean() = qmon.total()/ qmon.count(). qmon.timeaverage() beräknar ett viktat medelvärde, beroende på tiden mellan varje observation. qmon.timevariance() Viktat beräkning av variansen.
5 a/stoppa simuleringen Hitta SimPy dokumentation Simuleringen startas med anropet SimPy.Simulation.simulate(until=4) Simuleringen tar slut när det första av följande inträffar Simuleringstiden når sluttiden (i det här fallet 4) Händelselistan töms Anropet SimPy.Simulation.stopSimulation() exekveras Dokumentation för SimPy: Se även som ger en snabb överblick. Inlämningsuppgift Nästa lektion Deadline Måndag --8 kl 5. Hjälp Mondag i 3 (Mojtaba) Onsdag i 3 (Mojtaba) Att läsa inför föreläsningen Simuleringens statistiska metoder, Kap 3, s Queueing, Kap 4 s På föreläsningen Sanlikhetsfördelninger Ankomst- och betjäningstider Köteori prestandamått, analys av steady-state Statistik Konfidensintervall Pseudo-slumptal Deterministisk serie tal med slumptalsegenskaper
Händelsestyrd simulering. Inledning. Exempel
Lunds Tekniska Högskola Datavetenskap Lennart Andersson EDA061/F10 Uppgift 2010-09-13 Händelsestyrd simulering Inledning Du skall konstruera ett program som simulerar vad som händer när kunder kommer till
Läs merPython. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.
Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett
Läs merTrådar. Aktiva objekt
Föreläsning 11 Trådar 1 Aktiva objekt Det är välkänt från vardagslivet att saker händer samtidigt. Aktiva objekt gör saker på eget initiativ, medan passiva objekt endast gör saker när de blir ombedda.
Läs merTung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013
DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013 Innehåll Trådar i Java swing- klassen Timer Klient-Server-program Trådar Tråd = enkel process Ett program kan ha flera trådar, flera
Läs merTentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merFö relä sning 2, Kö system 2015
Fö relä sning 2, Kö system 2015 Vi ska börja titta på enskilda kösystem som ser ut på följande sätt: Det kan finnas en eller fler betjänare och bufferten kan vara ändlig eller oändlig. Om bufferten är
Läs merJavas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java
DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/4 2014 Innehåll Kort om Javas Exceptions Trådar i Java swing- klassen Timer Klient-Server-program Javas Exceptions Checked måste hanteras,
Läs merTentamen i Programmeringsteknik I
Tentamen i Programmeringsteknik I 2017-01-03 Skrivtid: 8.00-13.00 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Skriv ej högst upp i det vänstra hörnet
Läs merFö relä sning 1, Kö system vä ren 2014
Fö relä sning 1, Kö system vä ren 2014 Här följer en mycket kort sammanfattning av det viktigaste i Föreläsning 1. Observera att dessa anteckningar inte kan ersätta läroboken, de är alltför kortfattade
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merLänkade listor, stackar och köer
Länkade listor, stackar och köer I fortsättningen ska vi ta upp några olika abstrakta datatyper. De kan ses som enkla verktyg i en verktygslåda som ska göra det lättare att programmera. Några av dessa
Läs merExtend för Dummies Teknologer
Extend för Dummies Teknologer (Till dig som ska använda Extend för första gången) Den huvudsakliga tanken med denna manual är att Ni på ett enkelt sätt ska kunna sätta Er in i Extend och konstruera Er
Läs merDel A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Koden följer garanterat namnkonventionerna. Ringa in rätta svar och lämna in tillsammans med dina övriga svar! a) Hur många objekt skapas av följande kod? World w = new
Läs merFö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
Läs merAtt 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
Läs merFö relä sning 1, Kö system 2015
Fö relä sning 1, Kö system 2015 Här följer en kort sammanfattning av det viktigaste i Föreläsning 1. Kolla kursens hemsida minst en gång per vecka. Övningar kommer att läggas ut där, skriv ut dem och ha
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs merGrundläggande datalogi - Övning 2
Grundläggande datalogi - Övning 2 Björn Terelius November 7, 2008 Klasser skapas med nyckelordet class Klasser Konstruktorer och destruktorer Undantagshantering class MyClass: Docstring and doctests for
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merChapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2. Laboration 2 Datastrukturer En liten uppgift Frågor
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2 Laboration 2 Datastrukturer En liten uppgift Frågor 1 Laboration 2 - Datastrukturer Länkade datastrukturer Stack Kö (En. Queue) Lista
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Läs merDet 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 2012-06-04 Skrivtid: 1400-1700 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
Läs merDet 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 2012-03-14 Skrivtid: 0800-1100 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
Läs merFö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
Läs merDet 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 2012-09-01 Skrivtid: 0900-1200 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
Läs merOrdlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Läs merSpråket Python - Del 2 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt
Läs merÖvning 1 - Abstrakta datatyper
/home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.
Läs merDatalogi, grundkurs 1. Lösningsförslag till tentamen
Datalogi, grundkurs 1 Lösningsförslag till tentamen 10 december 2008 1. a. Man testar med typiska värden, gränsvärden och värden utanför specificerad indatavärdemängd. Helst med alla permutationer av
Läs merRedovisning av inlämningsuppgifter
Bilaga B Redovisning av inlämningsuppgifter 1 Rapportens innehåll Varje inlämningsuppgift ska redovisas med en skriftlig rapport. Rapporten ska vara häftad och försedd med ett försättsblad med uppgiftens
Läs merLäs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).
1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att
Läs merAbstrakta datatyper Laboration 2 GruDat, DD1344
Abstrakta datatyper Laboration 2 GruDat, DD1344 Örjan Ekeberg (fritt från en idé av Henrik Eriksson) 27 oktober 2008 Målsättning Målet med denna laboration är att ge en inblick i hur man kan använda abstrakta
Läs merObjektorienterad Programkonstruktion. Föreläsning jan 2017
Objektorienterad Programkonstruktion Föreläsning 15 30 jan 2017 Felsökning Med moderna programmeringsverktyg är rena syntaxfel oftast lätta att åtgärda Fel som kan vara svårare att åtgärda är t.ex: thread
Läs merTentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Läs merPARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll
PARALLELL OCH SEKVENTIELL DATABEHANDLING Innehåll Parallellism i VHDL Delta delays och Simuleringstid VHDLs simuleringscykel Aktivering av Processer Parallella och sekventiella uttryck 1 Controller PARALLELLISM
Läs merF12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander
F12 - Collections ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Collections (samlingar) En collection är ett objekt som fungerar som en samling av andra objekt En collection erbjuder
Läs merTentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.
Tentamen i EDAF60 29 oktober 2018 Skrivtid: 14-19 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blått/blyerts.
Läs merArbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs merProgrammering II (ID1019) :00-12:00
ID1019 Johan Montelius Programmering II (ID1019) 2018-03-13 08:00-12:00 Instruktioner Betyg Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar.
Läs merFöreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
Läs merProgrammering grundkurs
Programmering grundkurs Föreläsning 11 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Laboration 6 Abstraktion och OOP Klassdiagram med UML (Unified Modelling Language) Egna klasser som innehåller andra
Läs merFöreläsning 4. ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista Läsanvisningar och uppgifter
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 Läsanvisningar och uppgifter ADT Kö Grundprinciper: En kö fungerar som en kö. Man
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merFöreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-03-16 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merSimulering av ett Multi-skill callcenter Med varierande genomsnittlig betjäningstid beroende på agenters kunskapsnivå
Simulering av ett Multi-skill callcenter Med varierande genomsnittlig betjäningstid beroende på agenters kunskapsnivå Handledare: Johan Boye Filip Gaun Klippgatan 12c 171 47 Solna 076-650 76 33 lipgau@kth.se
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merLektion 2: Sökagenter. Robin Keskisärkkä
Lektion 2: Sökagenter Robin Keskisärkkä Lektionens innehåll Introduktion till laboration 2 Implementation av en sökalgoritm Livekodning Konfrontera ett liknande problem själva Extra: Heuristisk sökning
Läs merSystemanalys, Modellbyggnad och simulering, 3p Molekylär Bioteknik
Systemanalys, Modellbyggnad och simulering, 3p Molekylär Bioteknik vt 99 Kursansvarig lärare: Håkan Lanshammar avd f systemteknik tel: 471 30 33 e-mail: hl@syscon.uu.se www.syscon.uu.se GRUNDUTBILDNING
Läs merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merKunna dra slutsatser om t ex ett systems betjäningstider och antalet köplatser genom att tolka diagram.
Övning 4 Vad du ska kunna efter denna övning Kunna dra slutsatser om t ex ett systems betjäningstider och antalet köplatser genom att tolka diagram Kunna beräkna medeltid i systemet och spärrsannolikhet
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-10-30 Repetition Analys av tidskomplexitet. Kostnadsmodeller. Asymptotisk komplexitet/notation. Dynamiska arrayer. Amorterad tidskomplexitet
Läs merSIMULINK. En kort introduktion till. Polplacerad regulator sid 8 Appendix Symboler/block sid 10. Institutionen för Tillämpad Fysik och elektronik
Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE, BT Version: 5/ -09 DMR En kort introduktion till SIMULINK Polplacerad regulator sid 8 Appendix Symboler/block sid 0 Introduktion till
Läs merFöreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER
Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Från laboration 3 till 4 I laboration 3 har du implementerat klasser implementerat metoder i klasserna I laboration 4 kommer du att implementera
Läs merÖvningsuppgifter kapitel 8
Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans
Läs merIteration while-satsen
Datatypen double TDA143 I1 Programmerade system Föreläsning 3 (OH-bilder 3) Iteration while-satsen Christer Carlsson I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna,
Läs merEnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass
Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning
Läs merObjektorienterad programmering E. Back to Basics. En annan version av printtable. Ett enkelt exempel. Föreläsning 10
Objektorienterad programmering E Föreläsning 10 Rekursion Länkade datastrukturer Back to Basics Exekvera programmet för hand! public class Param { public static int f(int x) { return x+1; public static
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 22 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Rekursion Samlingar Listor Mängder Avbildningstabeller 1 Rekursion För att förstå rekursion
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merProgrammering grundkurs
Programmering grundkurs Föreläsning 12 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Tentan Laboration 7 Skriva till fil Hantering av flaggor m.m. till egna skript med argparse Lite repetition syntax
Läs merNamn Stil Dokumentation Objekt-orienterad programmering OBS OBS OBS OBS OBS OBS OBS OBS
Namn Stil Dokumentation Objekt-orienterad programmering Dept. of Computer Science Umeå University jem@cs.umu.se OBS OBS OBS OBS OBS OBS OBS OBS Detta är inget gnäll på någon speciell utan jag ser detta
Läs merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merObjektorienterad Programkonstruktion. Föreläsning jan 2016
Objektorienterad Programkonstruktion Föreläsning 13 19 jan 2016 Tentamen Del I, E del Flervalsfrågor 20/25 krävs för godkänt, ger betyg E Upp till 7 möjliga bonuspoäng Del II, Högrebetygsdel Problemfrågor
Läs mer729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo
729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merMetodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer
Föreläsning 4 Metodanrop switch-slingor Rekursiva metoder Repetition av de första föreläsningarna Inför seminariet Nästa föreläsning Metodanrop - primitiva typer Vid metodanrop kopieras värdet av en variabel
Läs merStokastisk geometri. Lennart Råde. Chalmers Tekniska Högskola och Göteborgs Universitet
Stokastisk geometri Lennart Råde Chalmers Tekniska Högskola och Göteborgs Universitet Inledning. I geometrin studerar man geometriska objekt och deras inbördes relationer. Exempel på geometriska objekt
Läs merSCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall
Rekursiva funktioner Föreläsning 10 (Weiss kap. 7) Induktion och rekursion Rekursiva funktioner och processer Weiss 7.1-3 (7.4, 7.5.3 utgår) Fibonaccital (7.3.4) Exempel: Balansering av mobil (kod se lab
Läs merSystemkonstruktion LABORATION REALTIDSPROGRAMMERING
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen
Läs merOutline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst
Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så
Läs merDUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Läs merFöreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö Kö (ADT) En kö fungerar som en kö. Man fyller på den längst bak och tömmer den längst fram
Läs merFö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
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2012-11-13 Idag Mer om grafer: Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. Floyd-Warshall. Topologisk sortering
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merMer om klasser och objekt
Klassvariabler och klassmetoder En klass kan innehålla klassvariabler och klassmetoder. TDA143 I1 Programmerade system Föreläsning 5 (OH-bilder 5) Mer om klasser och objekt Christer Carlsson Det som skiljer
Läs mer[] Arrayer = Indexerad variabel
[] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas
Läs mer729G04 Programmering och diskret matematik. Python 3: Loopar
729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merPerformance QoS Köteori. Jens A Andersson (Maria Kihl)
Performance QoS Köteori Jens A Andersson (Maria Kihl) Internet Består av ett antal sammankopplade nät som utbyter data enligt egna trafikavtal. Alla delnät som utgör Internet har en gemensam nämnare: Alla
Läs merFöreläsning 1. NDAB02 Statistik; teori och tillämpning i biologi
Föreläsning 1 Statistik; teori och tillämpning i biologi 1 Kursens uppbyggnad 9 föreläsningar Föreläsningsunderlag läggs ut på kurshemsidan 5 lektioner Uppgifter från kursboken enligt planering 5 laborationer
Läs merFö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
Läs merInstitutionen för datavetenskap, DAT060, Laboration 2 2 För denna enkla simulerings skull kommer handen att representeras som ett par tal μ värdet på
DAT 060 Laboration 2 I Malmös kasino Institutionen för datavetenskap 17 juni 2002 Per tänkte dryga ut sitt magra studielån genom att jobba som labbassistent på sommarkursen. Tyvärr fanns det redan tillräckligt
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merFöreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul
Föreläsning 8 Programmeringsteknik och Matlab DD1312 er, Self Metoderna:, av metoder, Det är en metod som tillhör klassen och inte objektet. class Skylt(object): antal=0 def init (,r):.reklam=r def antal():
Läs merLänkade strukturer. (del 2)
Länkade strukturer (del 2) Översikt Abstraktion Dataabstraktion Inkapsling Gränssnitt (Interface) Abstrakta datatyper (ADT) Programmering tillämpningar och datastrukturer 2 Abstraktion Procedurell abstraktion
Läs merFöreläsning 6. NDAB01 Statistik; teori och tillämpning i biologi
Föreläsning 6 Statistik; teori och tillämpning i biologi 1 Analysis of Variance (ANOVA) (GB s. 202-218, BB s. 190-206) ANOVA är en metod som används när man ska undersöka skillnader mellan flera olika
Läs merObligatorisk uppgift: Simulering av köer i ett trafiksystem
Informationsteknologi 10 februari 2016 Obligatorisk uppgift: imulering av köer i ett trafiksystem Moment: Centrala begrepp som klasser, objekt, metoder, attribut. Problembeskrivning OB: Uppgifterna kommer
Läs merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift
Läs merPlanering Programmering grundkurs HI1024 HT 2014
Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att
Läs merFöreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Läs mer