In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts.

Storlek: px
Starta visningen från sidan:

Download "In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts."

Transkript

1 Den första datormusen Douglas Englebart, programmering i GLUT Gustav Taxén CID gustavt@nada.kth.se In- och utenheter Alla datorsystem har in- och utenheter som behandlar information. Data skickas mellan in- och utenheter och program som körs i datorsystemet. Tre metoder för datautbyte: sampling/polling interrupt-baserad interaktion händelsebaserad interaktion Sampling / polling Direkt förfrågan till in/ut-enheten. Läs/skriv data och fortsätt exekveringen. Leder ofta till loopar i programkoden om enheten måste hanteras kontinuerligt. Interrupt-baserad interaktion Programmet prenumererar på förändringar i enhetens status genom att tillhandahålla en subrutin. Operativsystemet anropar subrutinen direkt då enhetens status ändras. Avbrottet kan ske när som helst. Kan ge upphov till komplicerad kod som hanterar asynkroniteten i avbrotten. interaktion Operativsystem eller ramsystem tar hand om förändringar i status hos enheter. För varje statusförändring genereras ett händelseobjekt som innehåller information om förändringen. Programmet prenumererar på händelser genom att tillhandahålla en callback-subrutin. interaktion (forts.) Callback-subrutinen anropas vid särskilda tillfällen. Programmet sägs då fånga händelsen. Mellan rapporteringarna lagras händelseobjekt i en händelsekö. Programmet kan generera händelser genom att anropa ramsystemets egna callback-subrutiner. 1

2 Händelsebaserat system Inenhet Interrupt-subrutin Händelsebaserat system (forts.) Utenhet Utdata-subrutin Program Händelsekö Callback-lista Callbacksubrutin Callbacksubrutin Dispatcher Dispatcher Händelsekö Fönstersystem Fönstersystemets delar Kan integreras i operativsystemet (Windows) eller köras under ett operativsystem (X Window System) Utöver händelser för in- och utenheter tillkommer händelser för Indelas ofta i en delsystemhierarki. Händelsehanterare Hanterar händelser, ofta både för fysiska enheter och för Grafiktoolkit Funktioner för att rita grafiska primitiver i ett Interaktionstoolkit Funktioner för att hantera användargränssnitt (menyer, scrollbars, textareor, etc.). Fönstersystemets delar (forts.) Applikation Interaktionstoolkit Händelsehanterare och grafiktoolkit Operativsystem Hårdvara OpenGL Grafikbibliotek för att styra grafikhårdvara. Specifikationen är oberoende av operativsystem. Funktionaliteten måste koordineras med operativ- och fönstersystem. Koordinationen är inte systemoberoende. 2

3 GLUT Gömmer systemberoende delar av OpenGL. Ger möjlighet att köra exakt samma OpenGL-program på olika system. Enkelt fönstersystem som innehåller den minsta gemensamma nämnaren för alla fönstersystem. GLUT-system Applikation GLUT Interaktionstoolkit OpenGL Händelsehanterare och grafiktoolkit Operativsystem Hårdvara Funktionalitet i GLUT Initiering av OpenGL Fönsterhantering Händelsehantering (inenheter och annat) Menyer Extra grafiska primitiver för OpenGL Exempel: initiera GLUT #include <GL/glut.h> void display(void) { /* Rita om fönster med OpenGL */ glutinit(&argc, argv); glutcreatewindow( My window ); glutdisplayfunc(display); glutmainloop(); return 0; Fönster i GLUT Händelser i GLUT Varje fönster har en identitet (ett heltal). Aktivt Fönsterfunktioner påverkar det aktiva fönstret. Innan GLUT anropar en callback-subrutin sätts det aktiva fönstret till relevant Fönster-ID kan hämtas. Aktivt fönster kan sättas explicit. Händelser kan indelas i tre typer: Fönsterhändelser Menyhändelser Globala händelser Callback-registrering för fönster- och menyhändelser gäller aktuellt Globala händelser kan ha högst en callback. 3

4 Några GLUT-händelser Redisplay (måste fångas av alla fönster) Reshape Keypress Mouse button Passsive mouse movement Active mouse movement Entry Exempel: callbackregistrering void display(void) { void reshape(int width, int height) { glutcreatewindow( Window 1 ); glutdisplayfunc(display); glutreshapefunc(reshape); Menyer i GLUT Hierarkiska pop-up-menyer. För varje fönster gäller att en meny kan kopplas till varje musknapp. Varje meny äger en lista med menyrubriker och en meny-callback. Varje menyrubrik som inte är en undermeny har en identitet (ett heltal). Menyer i GLUT (forts.) Aktiv meny. Då en menyrubrik registreras läggs den sist i den aktiva menyn. Meny-ID kan hämtas. Aktiv meny kan sättas explicit. Menyorganisation Exempel: menyregistrering Fönsterlista Menylista Meny-callback #define ITEM_1 10 Rubriker Callback void menucallback(int itemid) { if (itemid == ITEM_1) { Rubriker Callback Meny-callback glutcreatewindow( My window ); glutcreatemenu(menucallback); glutaddmenuentry( Item 1, ITEM_1); glutattachmenu(glut_left_button); 4

5 Globala händelser Är inte associerade med något speciellt En callback för varje global händelsetyp. Exempel: idle-händelse, timer. 5

Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL

Varför behövs grafikbibliotek? Introduktion till OpenGL. OpenGL är ett grafikbibliotek. Fördelar med OpenGL. Allmänt om OpenGL. Nackdelar med OpenGL Introduktion till OpenGL Battlezone Atari corp., 1980. Gustav Taxén CID gustavt@nada.kth.se Varför behövs grafikbibliotek? Grafikhårdvara Skillnader i funktionalitet och möjligheter. Skillnader i styrning.

Läs mer

OpenGL. grafikbibliotek? Nackdelar med OpenGL. Fördelar med OpenGL. En introduktion till OpenGL. OpenGL. rdvara. Grafikhårdvara.

OpenGL. grafikbibliotek? Nackdelar med OpenGL. Fördelar med OpenGL. En introduktion till OpenGL. OpenGL. rdvara. Grafikhårdvara. En introduktion till Gustav Taxén gustavt@nada.kth.se Står för Open Graphics Library. C-bibliotek för 3D-grafik (och( i viss mån 2D). Utvecklat av Silicon Graphics (SGI). Kontrolleras av ett Architectural

Läs mer

En introduktion till OpenGL. Gustav Taxén gustavt@csc.kth.se

En introduktion till OpenGL. Gustav Taxén gustavt@csc.kth.se En introduktion till OpenGL Gustav Taxén gustavt@csc.kth.se 2D164 Grafik och Interaktionsprogrammering VT 27 Labb 4 görs på PC! Följ det nya labbpeket - eller: Följ stegen i labbpeket för labb 5 för att

Läs mer

Fönstersystem. Objektorientering och händelsebaserad programmering. Applikation. Interaktionstoolkit. Händelsehanterare och grafiktoolkit

Fönstersystem. Objektorientering och händelsebaserad programmering. Applikation. Interaktionstoolkit. Händelsehanterare och grafiktoolkit Objektorientering och händelsebaserad programmering Gustav Taxén gustavt@nada.kth.se Fönstersystem Applikation Interaktionstoolkit Händelsehanterare och grafiktoolkit Operativsystem Hårdvara 1 Frameworks

Läs mer

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets Grafik Python levereras med ett grafikpaket tkinter De flesta av dagens applikationsprogram hanterar grafik Grafikhantering är komplicerat så använd färdigutvecklade grafikpaket Mycket att hålla reda på

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java jonas.kvarnstrom@liu.se 2017 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande,

Läs mer

SgLib Simple Graphics Library

SgLib Simple Graphics Library SgLib Simple Graphics Library SgLib är en förenkling av glut som I sin tur bygger på open GL. Om du inte känner till glut och open GL, räcker det att veta att sglib är en samling filer som gör det lättare

Läs mer

E09 - Totally Tool Time

E09 - Totally Tool Time E09 - Totally Tool Time Dagens agenda Fönster Systemdialoger Location History DOM och BOM DOM Document Object Model BOM Browser Object Model BOM hanterar Insorterat under denna rubrik hittar vi: Timers

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

3.5 Visuell programmering

3.5 Visuell programmering 3.5 Visuell programmering Alla våra program hittills har varit C# Console Applications (sid 41) inkl. programmet MessageBox fast det genererade en grafisk meddelanderuta. Nu vill vi utnyttja grafikens

Läs mer

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02) UMEÅ UNIVERSITET Institutionen för datavetenskap Thomas Johansson Oktober 1998 Programutveckling med Java Development Kit (JDK 1.1.x) och Programmers File Editor (PFE 7.02) Umeå universitet 901 87 Umeå.

Läs mer

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010 STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB

Läs mer

OpenGL-översikt. Mer OpenGL. Består-av-hierarki. Hierarkiska modeller. Från hierarki till kod, steg 1. Lokala koordinatsystem

OpenGL-översikt. Mer OpenGL. Består-av-hierarki. Hierarkiska modeller. Från hierarki till kod, steg 1. Lokala koordinatsystem Mer OpenGL OpenGL-översikt Geometri Operationer på hörn Projective shadows Advanced Rendering Techniques Using OpenGL, SIGGRAPH Courses 997. Gustav Taxén CID gustavt@nada.kth.se Bilddata Operationer på

Läs mer

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets GUI (forts) Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets Sven-Olof Nyström Uppsala Universitet 18 mars 2005 Skansholm: Kapitel 6 Användaren kan kommunicera med programmet

Läs mer

Varför behövs det? I Allegro finns t.ex. stöd för:

Varför behövs det? I Allegro finns t.ex. stöd för: Allegro Introduktion Översikt vad är Allegro? Vad är lib och h-fil Kolla kodexempel Strukturen på ett Allegrospel Hur kommer jag igång? Var kan jag läsa mer Addons Alternativ Vad är Allegro? Ett spelprogrammeringsbibliotek

Läs mer

LEU240 Mikrodatorsystem

LEU240 Mikrodatorsystem Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014 TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd

Läs mer

Objektorientering i allmänhet

Objektorientering i allmänhet Objektorientering i allmänhet Objektorientering och händelsebaserad programmering Gustav Taxén gustavt@nada.kth.se Ett objekt är en "låda" da" där man samlar Data Metoder som (oftast) manipulerar denna

Läs mer

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Windows Forms Winstrand Development

Windows Forms Winstrand Development 2013-01-23 1 Winstrand Development Användargränssnitt Hittills har vi skapat program för kommandoraden. Den bakomliggande koden fungerar som den ska, men vi upptäcker snabbt att programmen är begränsade

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion 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 mer

C++ Slumptalsfunktioner + switch-satsen

C++ 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 mer

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla TentamensKod: Tentamensdatum: 180322 Tid: 09.00 13.00 Hjälpmedel:

Läs mer

DAT043 - föreläsning 8

DAT043 - föreläsning 8 DAT043 - föreläsning 8 Paket, generics, Java collections framework 2017-02-07 Paket och tillgänglighet Ovanför klasser finns en hierarkisk namespace med paket. Filer som inte deklareras i något paket finns

Läs mer

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan

Läs mer

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik Fortsättningskurs i programmering F 5 GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 1 Abstract Window Toolkit Paket för hantering av grafik dvs skapa grafisk användargränssnitt java.awt

Läs mer

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort? Operationer på buffert och pixlar I rastergrafikens barndom......gjorde man grafik genom att skriva i ett videominne. Lapped textures Emil Praun et al., SIGGRAPH 2000. Gustav Taxén CID gustavt@nada.kth.se

Läs mer

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15. Skolan för Datavetenskap och kommunikation Idag: DD1311 Programmeringsteknik med PBL Granskning Felhantering GUI Föreläsning 15 På torsdag: Mer om GUI På grupptimmen: genomgång av granskningsprotokollet

Läs mer

Operativsystem och användargränssnitt

Operativsystem och användargränssnitt Operativsystem och användargränssnitt Som du fick läsa tidigare behöver datorn förutom hårdvara också ett program för att hantera hårdvaran, dvs. ett operativsystem. Denna sida behandlar bland annat följande

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn? Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset

Läs mer

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer

Läs mer

Användarhandledning för koppling av dokument

Användarhandledning för koppling av dokument nvändarhandledning Modul: lla vser: Koppla dokument i 3L 2006 1[11] nvändarhandledning för koppling av dokument Olika typer av dokument kan kopplas till poster i en 3L-databas. Exempelvis kan en eller

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Grafik i DrRacket AV TOMMY KARLSSON

Grafik i DrRacket AV TOMMY KARLSSON Grafik i DrRacket AV TOMMY KARLSSON Upplägg Grundläggande grafik i racket Frame% Kodexempel! Generella problemlösarstrategier Grafisk kodstruktur Button% Pane% & Panel% Canvas% Bitmap% Grafisk effektivisering

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Objektorientering och händelsebaserad programmering. Gustav Taxén

Objektorientering och händelsebaserad programmering. Gustav Taxén Objektorientering och händelsebaserad programmering Gustav Taxén gustavt@csc.kth.se 2D1640 Grafik och Interaktionsprogrammering VT 2007 Racingspel Vi skagöraettenkeltracingspel med olika sorters fordon.

Läs mer

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum Författare: Juha Söderqvist IT-GUI Version 1.0 Datum 2017-08-18 Innehåll 1. Introduktion... 3 Human-computer interaction... 3 Grafiska användargränssnitt... 4 Operativsystem... 4 Xerox Alto Executive file

Läs mer

Objektorienterad programmering med Java Swing. Programexempel. Swing och AWT AWT. = Abstract windowing toolkit

Objektorienterad programmering med Java Swing. Programexempel. Swing och AWT AWT. = Abstract windowing toolkit Swing och AWT Objektorienterad programmering med Java Swing Sven-Olof Nyström Uppsala Universitet March 14, 2006 Skansholm: Kapitel 6 AWT = Abstract windowing toolkit använder värddatorns fönstersystem

Läs mer

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik 2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det

Läs mer

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts) Mål Datorteknik Föreläsning 4 Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta vilken information

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

Brädspelet Mulan. Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker. Göteborg 1999.

Brädspelet Mulan. Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker. Göteborg 1999. Brädspelet Mulan Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker Göteborg 1999 June 8, 2001 1 Innehåll: 1. Inledning 2. Projektbeskrivning 3. Programflöde

Läs mer

Klassen javax.swing.timer

Klassen javax.swing.timer Klassen javax.swing.timer I Swing finns en klass Timer som man kan använda för att upprepa en vis kodsekvens med jämna tidsmellanrum. Ett objekt av klassen Timer exekveras som en egen tråd. Ett objekt

Läs mer

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt Programmeringsteknik II - HT18 Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt 18-09-28 1 Förra gången: Arv och klasshierarkier Vi såg hur

Läs mer

Växtviskaren EITF11 Digitala projekt VT15, I12

Växtviskaren EITF11 Digitala projekt VT15, I12 Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015

Läs mer

KURSMÅL WINDOWS STARTA KURSEN

KURSMÅL WINDOWS STARTA KURSEN KURSMÅL WINDOWS Detta är en introduktionskurs för dig som är nybörjare. Du kommer att få bekanta dig med datorns viktigaste delar och lära dig grunderna i operativsystemet Windows, vilket är en förutsättning

Läs mer

Datorövning 1. int sgd(int m, int n) { int rest; while ( n!= 0 ) { rest = m % n; m = n; n = rest; return m;

Datorövning 1. int sgd(int m, int n) { int rest; while ( n!= 0 ) { rest = m % n; m = n; n = rest; return m; Datorövning 1 A) Kör igång MicrosoftVisualC++-miljön. Välj File New Project från huvudmenyn och skapa ett nytt Win32 Console Project med namnet Mittnamn. Skapa en ny katalog, Oop, genom att vid Location

Läs mer

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2010-04-07 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering 1 DSV Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste åren I Java finns

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015 Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation

Läs mer

Slutrapport Get it going contracts

Slutrapport Get it going contracts Slutrapport Get it going contracts Författare: Anthony Dry Datum: 2011-06-02 Program: Utvecklare av digitala tjänster Kurs: Individuellt mjukvaruutvecklingsprojekt 7.5p Linnéuniversitetet (Kalmar) Abstrakt

Läs mer

Trimble Communication Network Release notes Page 1

Trimble Communication Network Release notes Page 1 Trimble Communication Network Release notes 18.1.2.0 www.trimble.com Page 1 Information 3 Systemkrav 4 Begränsningar och kända fel 5 Installation och uppgradering 6 Version 18.1.2.0 7 Servicerelease 18.1.1.1

Läs mer

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen. Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum

Läs mer

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

Läs mer

Programmering av inbyggda system 2014/2015

Programmering av inbyggda system 2014/2015 Programmering av inbyggda system 2014/2015 Sammanfattning Kursens syften är att vara en introduktion till konstruktion av små inbyggda system och att ge en förståelse för hur imperativa styrstrukturer

Läs mer

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen 1 (6) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv din tentamenskod på varje blad (så att

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016 Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik

Läs mer

Mekanismer. (implementation)

Mekanismer. (implementation) Mekanismer (implementation) Repetition Semafor Räknar tillgängliga resurser Initieras med startvärde Vid förbrukning: väntar tills resurs finns Användning: invänta händelse Lås Markerar att en variabel/datastruktur

Läs mer

Modern Programmering (2546) Tentamen lördag 30.09.2000

Modern Programmering (2546) Tentamen lördag 30.09.2000 Modern Programmering (2546) Tentamen lördag 30.09.2000 Svara på minst sex frågor. Om du svarar på alla sju frågorna faller den fråga bort som ger minst antal poäng. Maximalt 70 poäng. Det krävs 35 poäng

Läs mer

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

Mer om grafiska komponenter. Händelsestyrda program

Mer om grafiska komponenter. Händelsestyrda program Layout Managers TDA143 I1 Programmerade system Föreläsning 14 (OH-bilder 10) Mer om grafiska komponenter. Händelsestyrda program Utplaceringen av komponenter i en behållare styrs med en Layout Manager.

Läs mer

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker

Läs mer

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem? Operativsystem DVG A06 Operativsystem, mm - Vad är ett operativsystem? - Hur fungerar det..? - Vad använder vi operativsystemet till? - Vilka olika operativsystem finns? 2 Definition Den del av systemet

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

Lektion 4 - SMD006/SMD117

Lektion 4 - SMD006/SMD117 Lektion 4 - SMD006/SMD117 Fredrik Bengtsson LTU bson@sm.luth.se February 24, 2002 Fredrik Bengtsson 1 Lektion 4 - översikt C och C-kärnan Drivrutiner - allmänt Kommunikation med hårdvara Drivrutiner -

Läs mer

Typkonvertering. Java versus C

Typkonvertering. 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 mer

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll Brad Hards Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Protokollet Remote Frame Buffer 6 3 Använda Dela Skrivbord 7 3.1 Dela Skrivbords huvudfönster............................... 7 3.1.1

Läs mer

Egna genvägar. Subhashish Pradhan T.C. Hollingsworth Översättare: Stefan Asserhäll

Egna genvägar. Subhashish Pradhan T.C. Hollingsworth Översättare: Stefan Asserhäll Subhashish Pradhan T.C. Hollingsworth Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 4 2 Hantera genvägar och grupper 4 2.1 Lägga till grupper...................................... 4 2.2 Lägga till

Läs mer

Polling (cyklisk avfrågning) Avbrott

Polling (cyklisk avfrågning) Avbrott Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det

Läs mer

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard OpenGL Avalanche Studios Sveriges ledande oberoende spelutvecklare Fokus på egenutvecklade IPn Finns på Söder i Stockholm ~6 anställda Just Cause för PS2, PC, XBox, och XBox 36 släpptes 26 Gustav Taxén

Läs mer

Enkla variabler kontra referensvariabel

Enkla variabler kontra referensvariabel Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen

Läs mer

C++ Objektorientering - Klasser. Eric Elfving

C++ Objektorientering - Klasser. Eric Elfving C++ Objektorientering - Klasser Eric Elfving 1 / 20 Återblick struct struct är bra att ha för att skapa aggregat - slå ihop flera data till en ny datatyp. Ett problem med struct är åtkomst... 2 / 20 Följande

Läs mer

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

Fönsterhanterare för X-Windows

Fönsterhanterare för X-Windows Datavetenskap Magnus Persson, Per Nordgren Fönsterhanterare för X-Windows Examensarbete 2004:27 Fönsterhanterare för X-Windows Magnus Persson, Per Nordgren c 2004 Författarna och Karlstads Universitet

Läs mer

F8: Undantagshantering

F8: Undantagshantering F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund

Läs mer

PROGRAMMERINGSTEKNIK TIN212

PROGRAMMERINGSTEKNIK TIN212 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:

Läs mer

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC.

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC. GS5000PC Manual Allmänt Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC. GS5000PC kan köras under Windows 98, NT, 2000, XP. Rekommenderat minimikrav på datorn är internminne 1GB, processor

Läs mer

Grafiska användargränssitt och händelsehantering

Grafiska användargränssitt och händelsehantering Grafiska användargränssitt och händelsehantering i Java GUI i Java AWT, Abstract Window Toolkit, java.awt Använder systemets GUI-komponeneter Swing, javax.swing Komponenter, förutom fönster, renderas av

Läs mer

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:

Läs mer

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder Objektorienterad programmering Föreläsning 6 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska

Läs mer

WINDOWS PRESENTATION FOUNDATION LEKTION 1

WINDOWS PRESENTATION FOUNDATION LEKTION 1 WINDOWS PRESENTATION FOUNDATION LEKTION 1 Mahmud Al Hakim mahmud@alhakim.se www.alhakim.se COPYRIGHT 2015 MAHMUD AL HAKIM WWW.WEBACADEMY.SE 1 MÅL Kursens övergripande mål Efter avslutad kurs ska den studerande

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering

Läs mer

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008 DD1311 meringsteknik för S1 Laborationer läsåret 2007-2008 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb

Läs mer

Exemple på Tentauppgifter Webbprogrammering

Exemple på Tentauppgifter Webbprogrammering LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Exemple på Tentauppgifter Webbprogrammering 2019 02 28 version 2019-03-20 15:36:14+01:00 Tillåtna hjälpmedel: inga. Detta är ett exempel på

Läs mer

Trimble Communication Network Release notes Page 1

Trimble Communication Network Release notes Page 1 Trimble Communication Network Release notes 18.1.1.0 www.trimble.com Page 1 Information 3 Begränsningar och kända fel 4 Installation och uppgradering 5 Version 18.1.1.0 6 Servicerelease 18.1.0.2 7 Servicerelease

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad

Läs mer

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.) Outline för D2, ICT2, E3 och Mek3 Nicholas Wickström Högskolan i Halmstad Sverige p.1/18 Förra föreläsningen Specifikation -Kravspecifikation -Funktionsspecifikation -Blockdiagram Operativsystem -Grunder,

Läs mer

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Observer Pattern och MVC Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är

Läs mer