Dessa komponenter plus några motstånd, klockkrets, kondensatorer och annat smått och gott har åstadkommit ett fungerande POV-hjul.

Storlek: px
Starta visningen från sidan:

Download "Dessa komponenter plus några motstånd, klockkrets, kondensatorer och annat smått och gott har åstadkommit ett fungerande POV-hjul."

Transkript

1 Om POV, persistence of vision. POV eller persistence of vision är ett fenomen som uppstår på näthinnan i ögat där en efterbild ser ut att finnas kvar i ungefär en tjugofemtedels sekund efter att den flyttat sig eller försvunnit. Detta fenomen kan man utnyttja genom att låta en rad med radiellt monterade lysdioder rotera på ett hjul och om hjulet roterar tillräckligt fort kan man skapa en bild eller text genom att tända och släcka dioderna vid vissa vinklar. Vi ville undersöka möjligheterna för att montera en sådan anordning på ett cykelhjul och således få ut en bild eller text på sidan av hjulet. För detta proof of concept -arbetet valde vi en uppsättning med 8 ljusdioder monterade på ett cykelhjul som med styrning av en PIC-processor och en halleffektswitch för att mäta omloppstiden på hjulet. Vår inledande tes var att föregående varvtid skulle vara en tillräckligt god approximation för nästa varv i tillämpningen. Hårdvaran Kretskortets huvudkomponenter är: PIC-processor 8 st ljusdioder halleffektswitch magnet (på gaffeln till cykeln) Dessa komponenter plus några motstånd, klockkrets, kondensatorer och annat smått och gott har åstadkommit ett fungerande POV-hjul. Kretsen monteras med hjälp av eltejp eller annan fästanordning efter behag på cykelhjulet så att halleffektswitchen kommer i närheten av magneten en gång per varv. För att driva kretsen används ett batteripack monterat nära navet i hjulet för att undvika allt för stor mekanisk obalans. Kretsen har även stöd för ICSP vilket gör det smidigt att ändra programvaran och på så sätt uppdatera bilden som visas. I bilaga 3 kan man se hur kretsen är monterad på cykelhjulet. Kopplingsschema för kretsen finns i bilaga 6 och ritning över vårt PCB finns i bilaga 7.

2 Tillverkning Tillverkningen av kretskortet börjades med att rita upp kopplingschema för att därefter anta den större utmaningen att CADa upp hur kretskortet skulle se ut. Efter CAD och godkänd ritning av handledare, skickades ritningen och kopplingschemat för tillverkning. Etsningen av kretskortet gjordes av handledare eftersom detta krävde erfarenhet av utrustningen som användes. Därefter borrades det hål för komponenter för att slutligen löda fast samtliga komponenter. För att ha något att testa kretsen på användes en framgaffel från en cykel med tillhörande hjul, där framgaffeln svetsades fast på en tung metallklump för att den skulle stå stilla. (se bild bilaga 3) Programmeringen Snabbfakta om programmet: Programmerat i C. Nuvarande varvs hastighet antas vara samma som föregående. Timers används för att veta var på varvet man antas vara. Allting nollställs(=nytt varv) när halleffektswitchen passerar den fast installerade magneten. Ger förskjutning kraftig acceleration/retardation. Ett varv är indelat i 128 delar, d.v.s. man kan kontrollera om en diod ska vara tänd eller släckt i intervall om ca 3. Bilden ligger i programminnet som en switch-case sats, då RAM-minnet (data space) inte räcker till för att lagra så stora variabler. Källkoden återfinns i bilaga 2. Själva main-funktioner ser ut som följande. void main() { IoportInit(); while (1) { Där det enda den gör är att initierar portar och startar en oändlig loop för att hålla programmet levandes. Resten av programmet styrs med hjälp av interrupts. Med följande kod. void interrupt interruptfunc(void) { if (INTF) // Extern interrupt (från halleffecktsswitchen) { //INTF=0; // Reset the external interrupt flag prevcnt=cnt; cnt=0; //move=move+10; //Används för att ha en rullande bild if (move >= 128){

3 move = 0; INTF=0; //Reset external interrupt. else if (T0IF) { //Timer interrupt. if (prevcnt > 128) { //Måste vara så, annars delar vi med 0 senare i koden. int sektorlength = (int)(prevcnt/128); int sektor = cnt/sektorlength + move; // sektor = 128*cnt/prevCnt; if (sektor>127){ sektor = sektor - 128; diodsoutput(imagefunc(sektor)); cnt++; //count, räknar timerinterrupts. T0IF=0; //Reset timerinterrupt. Där första delen hanterar den externa (från halleffektswitchen) interrupten (INTF). Den delen av funktionen sparar undan föregående varvets hastighet (i timerinterrupts-cyckler) och nollställer det nya varvets räknare. Den andra delen av funktionen hanterar timer interrupts (T0IF). Dessa används för att hålla koll var på varvet vi är och tända rätt dioder vid rätt tillfälle. Första vi gör är att kolla så prevcnt > 128. Detta görs för annars kommer det divideras med noll senare i koden. Och om prevcnt < 128, så har hjulet rört sig med väldigt låg hastighet. Om prevcnt > 128 så räknar vi ut hur många timer-cykler det gick på föregående varv och på så sätt får fram hur långt på varvet vi har kommit på det nuvarande varvet, och tänder eller släcker därefter rätt dioder.

4 Webbgränssnittet Webbgränssnittet hittas på fram till en bra stund efter inlämnandet av denna rapport. Webbgränssnittet var det första gränssnittet vi utvecklade för att skapa data till vårt POV-hjul. Det är ett väldigt enkelt gränssnitt som bygger på 8*128st kryssboxar, som man antingen kan kryssa i eller inte. Dessa motsvarar om en diod ska vara tänd eller släckt på ett specifikt ställe på hjulet. I webbgränssnittet ritar man upp en bild eller ett ord som man vill överföra till hjulet. Man ritar genom att antingen klicka i kryssboxarna manuellt eller genom att hålla inne SHIFT-tangenten samtidigt som man för musen över en eller flera kryssboxar. Därefter klickar man på generera och sedan genereras en switch-case sats som man sedan kan kopiera in i programmet. Källkoden till webbgränssnittet finns i Bilaga 1. Javaprogram för konvertering av digital bild För att undersöka om det skulle kunna gå att få en större bild att se bra ut på hjulet skrevs ett javaprogram som konverterade informationen i en digital bild med xy-koordinater till radiella koordinater i upplösningen som kortet har. Försöken med detta föll inte så väl ut eftersom upplösningen helt enkelt blev för dålig på hjulet samt att användarvänligheten blev låg på grund av dålig grafisk återkoppling för användaren. Trots det dåliga resultatet tror vi att detta system kan fungera väl med högre upplösning på hjulet. Källkoden till detta finns i bilaga 5.

5 Framtidsplaner Nedan finns tankar och idéer om saker som man kan göra eller förbättra för att POV-hjulet ska bli bättre. Fler lysdioder radiellt längs med hjulet. Fler rader med lysdioder jämt fördelade över hjulet för att öka uppdateringsfrekvensen Reglering av mätvärdena - för att minska vridnings effekt vid acceleration om upplösningen blir högre, framförallt vinkelupplösningen. Kanske med hjälp av en PID regulator. Seriell till parallell-kretsar för att få plats med fler lysdioder (slippa behöva använda onödigt stor PIC-processor) Använda RGB-dioder för att kunna få flera färger. Hantering av externa minnen för enklare programmering. Rörliga bilder - film Trådlös överföring av bild/film från antingen laptop eller mobiltelefon. Bättre fästanordning av kretsen på cykelhjulet

6 Bilaga 1 - webbgränssnittets källkod <?php // index.php $width = 1200; //Skärmstorlek (på min laptop) $height = 760; $x = $width/2.0; $y = $height/ ; //Antal dioder på hjulet (= max- min) $diod_min = 8; //Hur långt ut de början, ungefär $diod_max = 16; //Hur långt ut de går, ungefär. $vink = 128; //Antal cirkelsektioner. //Formulär med massa checkboxar som ritas ut i en cirkel. Dom motsvarar diodernas position. echo "<form name=\"matris\" method=\"post\" action=\"index.php\">"; for ($r=$diod_min;$r<$diod_max;$r++) { for ($v=0;$v<$vink;$v++) { $left = $x+20.0*$r*cos($v*2*m_pi/$vink+m_pi/2); $top = $y+20.0*$r*sin($v*2*m_pi/$vink+m_pi/2); echo "<input style=\"position:absolute; left: ".$left."px; top: ".$top."px;\" type='checkbox' name='check_".$r."_".$v."' onmouseover=' if (!this.checked) { if (event.shiftkey) this.checked = true; else { if (event.ctrlkey) this.checked = false; '"; if ($_POST["check_".$r."_".$v]) echo "checked"; echo " >"; echo "<input type='submit' name='gen' value='generera' style=\"position:absolute; left: ".($x- 20)."px; top:".$y.";\">"; echo "</form>"; if (isset($_post['gen'])) { //Om Generera- knappen är tryckt. //Skriv ut värdena från checkboxarna i lämpligt format. echo "<div style=\"position:absolute; top:".(2.3*$y)."px;\">"; echo "char imagefunc(int nbr) {<br>"; echo "switch(nbr) {"; for ($v=0;$v<$vink;$v++) { echo "case ".$v.":<br>"; echo "return 0b"; for ($r=$diod_min;$r < $diod_max;$r++) { if ($_POST["check_".$r."_".$v]) echo "0";

7 else echo "1"; if ($v < $vink- 1) echo ";<br>"; echo ";"; echo "<br>default:<br> "; echo "<br><br></div>";?> </body> </html>

8 Bilaga 2 - källkod #define XTAL_FREQ 16MHZ #include "pic.h" #include "delay.h" /* DIOD PLATS_PÅ_PICen interrupt RB0 1 RB3 2 RB2 3 RB1 4 RB4 5 RB5 6 RB6 7 RB7 8 RA0 */ void IoportInit(){ TRISA = 0xfe; TRISB = 0x01; PORTB = 0xfe; PORTA = 0xff; //External interrupt(hall- switch) GIE=1; // Global interrupt enable INTF=0; // Reset the external interrupt flag INTE=1; // Enable external interrupts from RB0 //timer0 interrupt T0IE=1; // Enable timer0 interrupt. (internal) T0IF=0; // Reset timer0 interrupt flag. T0CS=0; // Clock source select = 0 => internal. (ENTE RA4/T0CLK pinnen) PSA=0; //Prescaler Assignment, 0 => till timer0 PS0=0; // Bit0: Prescale 128 PS1=0; // Bit1 - "- PS2=0; // Bit2 - "- int cnt=0; int prevcnt=0; int move=0; char imagefunc(int nbr) { switch(nbr) { case 0:

9 return 0b ; case 1: return 0b ; case 2: return 0b ; case 3: return 0b ; case 4: case 5: case 6: case 7: case 8: return 0b ; case 9: return 0b ; case 10: return 0b ; case 11: return 0b ; case 12: return 0b ; case 13: return 0b ; case 14: return 0b ; case 15: return 0b ; case 16: return 0b ; case 17: return 0b ; case 18: case 19: case 20: case 21: return 0b ; case 22: case 23: case 24: case 25: case 26: return 0b ;

10 case 27: return 0b ; case 28: return 0b ; case 29: return 0b ; case 30: return 0b ; case 31: return 0b ; case 32: return 0b ; case 33: case 34: case 35: case 36: case 37: case 38: case 39: return 0b ; case 40: return 0b ; case 41: return 0b ; case 42: return 0b ; case 43: return 0b ; case 44: return 0b ; case 45: return 0b ; case 46: return 0b ; case 47: return 0b ; case 48: return 0b ; case 49: return 0b ; case 50: case 51: case 52: case 53:

11 return 0b ; case 54: return 0b ; case 55: return 0b ; case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: return 0b ; case 75: case 76: case 77: case 78: return 0b ; case 79: return 0b ;

12 case 80: return 0b ; case 81: return 0b ; case 82: return 0b ; case 83: case 84: case 85: return 0b ; case 86: case 87: return 0b ; case 88: return 0b ; case 89: case 90: case 91: case 92: case 93: case 94: case 95: return 0b ; case 96: return 0b ; case 97: return 0b ; case 98: return 0b ; case 99: return 0b ; case 100: return 0b ; case 101: return 0b ; case 102: case 103: case 104: case 105: case 106:

13 return 0b ; case 107: case 108: case 109: case 110: return 0b ; case 111: return 0b ; case 112: return 0b ; case 113: return 0b ; case 114: return 0b ; case 115: return 0b ; case 116: return 0b ; case 117: return 0b ; case 118: case 119: case 120: case 121: case 122: case 123: return 0b ; case 124: return 0b ; case 125: return 0b ; case 126: return 0b ; case 127: return 0b ; default: void diodsoutput(int bitar) { RB3 = bitar%2; bitar=bitar >> 1;

14 RB2 = bitar%2; bitar=bitar>> 1; RB1=bitar%2; bitar=bitar>> 1; RB4=bitar%2; bitar=bitar>> 1; RB5=bitar%2; bitar=bitar>> 1; RB6=bitar%2; bitar=bitar>> 1; RB7=bitar%2; bitar=bitar>> 1; RA0=bitar%2; void interrupt interruptfunc(void) { if (INTF) { //INTF=0; // Reset the external interrupt flag prevcnt=cnt; cnt=0; move=move+0; if (move >= 128){ move = 0; INTF=0; else if (T0IF) { // T0IF=0; // Reset timer0 interrupt flag if (prevcnt > 128) { int sektorlength = (int)(prevcnt/128); int sektor = cnt/sektorlength + move; // sektor = 128*cnt/prevCnt; if (sektor>127){ sektor = sektor - 128; diodsoutput(imagefunc(sektor)); cnt++; //count, räknar timerinterrupts. T0IF=0; void main(){ IoportInit(); while (1) {

15 Bilaga 3

16 Bilaga 4

17 Bilaga 5 - Bildkonverteringens källkod import java.io.file; public class bildhanterare { public static void main(string[] args){ Reality reality = new Reality(170, 10, 5, 270); Wheel wheel = new Wheel(8,128); RadialImage radialimage = new RadialImage(wheel, reality); File f = new File(args[0]); Bitmap bitmap = new Bitmap(f); radialimage.drawradialimagefrombitmap(bitmap); System.out.println("char imagefunc(int nbr) { \nswitch(nbr) {"); for(int phi = 0 ; phi < wheel.getnumsectors(); phi++){ System.out.print("case " + phi + ":\nreturn 0b"); for(int r = 0 ; r < wheel.getnumleds(); r++){ if(radialimage.getradialpixel(r, phi)) System.out.print(0); else System.out.print(1); System.out.print(";\n"); System.out.print("default: \nreturn 0b"); for(int i=0; i < wheel.getnumleds(); i++){ System.out.print(1); System.out.print(";\n\n"); public class Reality{ private double mmtowheelhub; //distance from the hub to the middle of the innermost LED private double mmbetweenleds; //distance between the center of the LEDs private double mmledwidth; //the width of an LED private double sensorangle; //in degrees, parallel to x- axis and counter clock wise positive public Reality(){ public Reality(double mmtowheelhub, double mmbetweenleds, double mmledwidth, double sensorangle){ this.mmtowheelhub = mmtowheelhub; this.mmbetweenleds = mmbetweenleds; this.mmledwidth = mmledwidth; this.sensorangle = sensorangle;

18 public double getmmtowheelhub(){ return mmtowheelhub; public double getmmbetweenleds(){ return mmbetweenleds; public double getmmledwidth(){ return mmledwidth; public double getsensorangle(){ return sensorangle; public void setmmtowheelhub(double mmtowheelhub){ this.mmtowheelhub = mmtowheelhub; public void setmmbetweenleds(double mmbetweenleds){ this.mmbetweenleds = mmbetweenleds; public void setmmledwidth(double mmledwidth){ this.mmledwidth = mmledwidth; public void setsensorangle(double sensorangle){ this.sensorangle = sensorangle; public class Wheel{ private int numleds; private int numsectors; public Wheel(){ public Wheel(int numleds, int numsectors){ this.numleds = numleds; this.numsectors = numsectors; public int getnumleds() { return numleds; public int getnumsectors() { return numsectors;

19 public void setnumleds(int numleds){ this.numleds=numleds; public void setnumsectors(int numsectors){ this.numsectors=numsectors; import java.awt.point; import java.awt.image.bufferedimage; public class RadialImage{ boolean[][] radialimage; Reality reality; Wheel wheel; public RadialImage(Wheel wheel, Reality reality){ radialimage = new boolean[wheel.getnumleds()][wheel.getnumsectors()]; this.reality = reality; this.wheel = wheel; public void setradialpixel(int r, int phi){ radialimage[r][phi]=true; public void clearradialpixel(int r, int phi){ radialimage[r][phi]=false; public boolean getradialpixel(int r, int phi){ return radialimage[r][phi]; public boolean[][] getradialimage(){ return radialimage; public Point translateradialcoordtocartesian(int r, int phi, int imagewidth, int imageheight){ double ddiameter = (Math.min(imageWidth, imageheight)) / (double)((wheel.getnumleds()- 1)*reality.getMmBetweenLEDs()+reality.getMmToWheelHub()); int radius = (int)((r*reality.getmmbetweenleds()+reality.getmmtowheelhub()) * ddiameter / 2); double startangle = (double)phi/wheel.getnumsectors()*360 + reality.getsensorangle(); double dangle = 1.0/(double)wheel.getNumSectors() * 360.0; double angle = startangle + (dangle/2); angle *= Math.PI/180;

20 return (new Point((int)(Math.cos(angle)*radius+(imageWidth/2)),(int)((imageHeight/2)- Math.sin(angle)*radius))); public void drawradialimagefrombitmap(bitmap bitmap){ Point p; for (int r=0; r<wheel.getnumleds(); r++) { for (int phi=0; phi<wheel.getnumsectors(); phi++) { p = translateradialcoordtocartesian(r, phi, bitmap.getthebufferedimage().getwidth(), bitmap.getthebufferedimage().getheight()); if ( bitmap.getthebufferedimage().getrgb((int)p.getx(), (int)p.gety()) == - 1) { clearradialpixel(r,phi); else { setradialpixel(r,phi); public BufferedImage getimagerepresentation(int width, int height){ BufferedImage image = new BufferedImage(width, height, 1); Point p; for (int r=0; r<wheel.getnumleds(); r++) { for (int phi=0; phi<wheel.getnumsectors(); phi++) { p = translateradialcoordtocartesian(r,phi,width,height); if (getradialpixel(r,phi)){ image.setrgb((int)p.getx(), (int)p.gety(), 0x00ff00ff); return image; import java.awt.image.bufferedimage; import java.io.file; import java.io.ioexception; import javax.imageio.imageio; public class Bitmap{ BufferedImage thebufferedimage; public Bitmap(){ public Bitmap(File f){ try { thebufferedimage = ImageIO.read(f); catch (IOException e) { // TODO Auto- generated catch block

21 e.printstacktrace(); public BufferedImage getthebufferedimage(){ return thebufferedimage;

22 Bilaga 6 Kopplingsschema I kopplingsschemat saknas halleffektswitchen samt ett pull-up motstånd till den.

23 Bilaga 7 PCB

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation Microprocessor / Microcontroller Varför? Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887 In- och utgångar Pinnar på PIC16F887 Exempel: pinne

Läs mer

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. 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,

Läs mer

Microprocessor / Microcontroller

Microprocessor / Microcontroller Microprocessor / Microcontroller Varför? Industrial Electrical Engineering and Automation Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Tentamen OOP 2015-03-14

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

Läs mer

OOP Objekt-orienterad programmering

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

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

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 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 :

Läs mer

"if"-satsen. Inledande programmering med C# (1DV402)

if-satsen. Inledande programmering med C# (1DV402) "if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

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.

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

Läs mer

Tentamen i Objektorienterad programmering

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

Läs mer

Övningar Dag 2 En första klass

Övningar Dag 2 En första klass Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl

Läs mer

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

Att använda pekare i. C-kod

Att använda pekare i. C-kod Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare

Läs mer

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V

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

Läs mer

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC) Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt

Läs mer

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET; Att avlusa en rad Assembler tar lika lång tid som att avlusa en rad C. Att skriva i C gör att man är utlämnad till kompilatorns sätt att göra assembler koden. Assembler ger fullständig kontroll över tider.

Läs mer

Tentamen, EDAA20/EDA501 Programmering

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

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

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)

Läs mer

Lösningsförslag, tentamen FYTA11 Javaprogrammering

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

Läs mer

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

DUGGA: 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 mer

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser? Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Effektpedal för elgitarr

Effektpedal för elgitarr EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

trafiksimulering Intro OU5 trafiksimulering

trafiksimulering Intro OU5 trafiksimulering Presentation av obligatoriska uppgiften trafiksimulering Ett lite större program med flera klasser Hur man designar ett system Hur man gör simuleringar 1 Valsätr ravägen Korsningen Dag hammarsköldsväg

Läs mer

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de

Läs mer

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 3 (15p + 20p + 5p = 40 p) Lärare, jourhavande lärare

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

Omdirigering. Omdirigering

Omdirigering. Omdirigering Programmering hh.se/db2004 Föreläsning 6: Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Omdirigering I unix kan man dirigera om standard input på samma sätt som

Läs mer

Föreläsning 3-4 Innehåll

Fö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 mer

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm. Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Objektorienterad programmering i Java

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

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet

Läs mer

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# Vi gör ett enkelt glosförhör Allt det du gör idag ska ligga i samma projekt (och mapp). Du kan om du tycker det behövs använda flera forms

Läs mer

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004 Programmering hh.se/db2004 Föreläsning 10: Objektorienterad programmering - datatyper Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Påminnelse: en datatyp för bilder Vad är

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

//Använd main som ett handtag för att hålla ihop programmet. //Själva programmet finns i övriga klasser. /*==================================================================== Detta program hör ihop med dokumentet EXEMPEL_AVERAGE_POINTS.PDF där det finns förklaringar. ======================================================================*/

Läs mer

Thunder s Truck projektrapport

Thunder s Truck projektrapport LTH Thunder s Truck projektrapport EITF11 Digitala projekt 2012-05-10 Abstract The goal of this project was to build a truck operated by an IP-remote. The robot is built using standard parts such as two

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK: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 mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Fö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 mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Digitala Projekt (EITF11)

Digitala Projekt (EITF11) Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

Objektorienterad programmering D2

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

Läs mer

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng

Läs mer

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

Läs mer

Patrik Calén 2014-03-24

Patrik Calén 2014-03-24 PVF PLÅT & VENT FORUM AB PVF-Kalkyl Byggplåt Kom igång manual Patrik Calén 2014-03-24 1 Innehå ll Kom igång o Skapa ett projekt 3 Nytt projekt 4 Nytt projekt från mall 5 Ritningsinläsning 6 o Objektträd

Läs mer

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot KUNGLIGA TEKNISKA HÖGSKOLAN NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot Gabriel Vilén 30/8-2012 gvilen@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har programmerat

Läs mer

DELPROV 1 I DATAVETENSKAP

DELPROV 1 I DATAVETENSKAP Umeå Universitet Datavetenskap Marie Nordström 070502 DELPROV 1 I DATAVETENSKAP Uppgift (poäng) 1 () 2 () 3 () 4 () 5 () 6 () Summa (xx) Inlämnad Poäng Kurs : Datum : 070502 Namn (texta) : Personnummer

Läs mer

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22 Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering

Läs mer

PIC-programmeringsuppgift (PROA)

PIC-programmeringsuppgift (PROA) PIC-programmeringsuppgift (PROA) Ugnsklocka digital klocka med en timer-funktion Tillämpad Digitalteknik med PIC-processor IL131V (HT12) Karl-Axel Zander 920208-5594 28-01-2013 underskrift Uppgift & beskrivning

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar

Läs mer

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN Dagens föreläsning Inbyggnadsprocessorer - och programmering ❾ Översikt PIC-processorn ❿ Familj ❿ Flash / EPROM ❿ Introduktion: 16F84 ❾ ❿ Harvard / von Neumann ❿ CISC / RISC ❿ Pipelining ❾ Programmering

Läs mer

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18 2015 Larmcentral Digitala Projekt Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18 Inledning Denna rapport är en sammanställning av projektet i kursen Digitala

Läs mer

Att skriva till och läsa från terminalfönstret

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

Läs mer

Introduktion till PHP

Introduktion till PHP PHP - Grund Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Introduktion till PHP PHP = PHP: Hypertext Preprocessor PHP är ett programmeringsspråk. PHP är ett skriptspråk som körs

Läs mer

Tentamen. Lösningsförslag

Tentamen. Lösningsförslag Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

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

Institutionen för TENTAMEN CTH HT-15 Datavetenskap 2015-08-27 TDA540. Tentamen för TDA540 Objektorienterad programmering

Institutionen för TENTAMEN CTH HT-15 Datavetenskap 2015-08-27 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH HT-15 Datavetenskap 215--27 TDA54 Tentamen för TDA54 Objektorienterad programmering DAG: 15--27 TID: 14: 1: Ansvarig: Joachim von Hacht och Christer Carlsson Förfrågningar:

Läs mer

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

4 13 / %.; 8 </ '':  / //&'   ' * TelefonKostnad +,-%&. #! $%  &' . > / ' 5 /' * 13/ &' static Math 1+ &'/ % 12  static ' * 1 /) %& & TelefonKostnad static Math static $ & )&* +,-&. 0 +& + & 3 356+573 ) & & 6 3 3 & 3 * 6 3.:; < = 3 = 6 ; < : & >?.;,;@.A@;0,0,? @B0 C,0 > *. > 5 C D & D 5 * &! ; 66C! * C, 0 E,&! 0 F,G0 >: = = C 3 & HI

Läs mer

Redovisning av inlämningsuppgifter

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 3 29 sept 2014 Ett lite intelligentare program? Klassen Rectangle Rectangle height width color setheight setwidth getcolor getarea Rectangle public class Rectangle{

Läs mer

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

public och private Obs: private inte skyddar mot access från andra objekt i samma klass. public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private

Läs mer

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning Daniel Leonardsson dale0010@student.umu.se Kajsa Persson kape0038@student.umu.se I samarbete med Svensk Maskinprovning,

Läs mer

Tentamen, EDA501 Programmering M L TM W K V

Tentamen, EDA501 Programmering M L TM W K V LUNDS TEKNISKA HÖGSKOLA 1(0) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 05 31, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna

Läs mer

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

Läs mer

Input. Programmering. Andra källor

Input. Programmering. Andra källor Programmering hh.se/db2004 Föreläsning 13: Undantag - med exempel från input klassen Scanner Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Input Standard Input Med standard

Läs mer

Härliga hörselskydden Hilma

Härliga hörselskydden Hilma Härliga hörselskydden Hilma Styla hörselskydden med lysande antenner! Se en film på produkten: http://youtu.be/o21ps-3j4qo Vilket material behöver man? Hörselskydd Både kraftig och tunn ståltråd Eltejp

Läs mer

Föreläsning 3: Booleans, if, switch

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

Läs mer

OOP Omtenta 2011-03-05 10.00 15.00

OOP Omtenta 2011-03-05 10.00 15.00 Stockholms universitet 1 (6) OOP OOP Omtenta 2011-03-05 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Manual för WMR- 252 inbyggnadsmottagare med universaldimmer

Manual för WMR- 252 inbyggnadsmottagare med universaldimmer Manual för WMR- 252 inbyggnadsmottagare med universaldimmer En unik u niversell trådlös mottagare för inbyggnad med dimmer funktion för fjärrstyrning av b.l.a dimbara 230V LED lampor, lågenergilampor,

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -

Läs mer

Felsökning av mjukvara

Felsökning av mjukvara KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att

Läs mer

Tentamen. Grundläggande programmering i Java A 5p, DTAA32 2003-03-21

Tentamen. Grundläggande programmering i Java A 5p, DTAA32 2003-03-21 Mitthögskolan ITM Institutionen för Informationsteknologi och medier. Bertil Danielsson 060-14 86 82 Jan-Erik Jonsson 060-14 87 90 Tentamen i Java A Sida 1/6 Tentamen Grundläggande programmering i Java

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Laboration 10 - NetBeans

Laboration 10 - NetBeans Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass

Läs mer

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012 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

Läs mer

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration

Läs mer

Föreläsning 2, vecka 8: Repetition

Föreläsning 2, vecka 8: Repetition TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning

Läs mer

Skizz till en enkel databas

Skizz till en enkel databas Skizz till en enkel databas Data: Register En vektor Funktioner: Databas Initiera huvudloop Avsluta Poster (struct( struct) val Mata in Skriv ut Spara Hämta Ändra Radera Enligt diskussion 1999-11-23 Bertil

Läs mer

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

Läs mer

Lektion 1 - Programmeringsteknik F1, ht 2003

Lektion 1 - Programmeringsteknik F1, ht 2003 Lektion 1 - Programmeringsteknik F1, ht 2003 Daniel Deogun danield@it.uu.se 8 september 2003 Innehåll 1 När är ICA öppet? 3 1.1 Problem................................ 3 1.2 Lösning................................

Läs mer

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output Programmering hh.se/db2004 Föreläsning 5: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite mer om Javas stöd för fält Hur många element har ett fält?

Läs mer

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Övning 7. Timer, serieport

Övning 7. Timer, serieport Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q

Läs mer

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet. 2. Komma igång Skapa grupper och elever Börja med att läsa texten nedan om hur man börjar jobba med programmet efter installationen. Skriv gärna ut sidan och ha bredvid dig tills du känner att du behärskar

Läs mer