Software Prototype Document Dato: Fag:

Størrelse: px
Begynne med side:

Download "Software Prototype Document Dato: 12.12.2002 Fag:"

Transkript

1 6.2 SPD Flight Progress Strips System for Air Traffic Control Versjon: 1.0 Software Prototype Document Dato: Fag: Gruppe nr: Veiledere: Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky Van Ha Word 2000 SPD_gr1.doc Gruppemedlemmer: Navn: Signatur: Dato: Christian Raspotnig Kjell Gunnar Guttormsen Petter Larsen Eva Sandved Therese Røsholdt Side: 389

2 Innholdsfortegnelse 1 Introduksjon 1.1 Hensikt Definisjoner og forkortelser Definisjoner Forkortelser Referanser Bøker Artikler Andre Prototype 2.1 Prototypeavgjørelser Valg av prototypemetode Valg av design Valg av programmeringsspråk Javadoc og kommentering av kode Bemerkninger til prototypen Bruk av grensesnitt Forklaring av felter Forklaring av drag n drop Kode FPSS FPPSMenuBar GUIStripBoard GUIStripHeader GUIStripContainer GUIStripCreator GUIStrip GUIDepartureStrip GUITransitStrip GUIArrivalStrip StripCreator Strip DepartureStrip TransitStrip ArrivalStrip Javadoc 448 Side: 390

3 1 Introduksjon Figur 1, utsnitt av prototype FPSS 1.1 Hensikt Dette er et dokument som tar for seg prototypen som er utviklet. Dokumentet inneholder en begrunnelse for prototypen og beskrivelsen av den. 1.2 Definisjoner og forkortelser Definisjoner Se punkt Forkortelser Se punkt Referanser Bøker: - Java, How to program, Deitel & Deitel, Data Structures & Problem Solving Using Java, Mark Allen Weiss, Addison Wesley, Patterns in Java vol 1, Mark Grand, Wiley, Artikler: Side: 391

4 1.3.3 Andre: - DigiStrips (video over digital stips, utviklet i samarbeid med Sentre D etudes De La Navigation Aerienne) - Javas API-documentation Side: 392

5 2 Prototype 2.1 Prototypeavgjørelser Valg av prototypemetode Prototypemetoden vi har valgt er rapid (throw-away) prototyping av det grafiske brukergrensesnittet. Rapid (throw-away) innebærer at prototypen ikke er ment for videreutvikling til et ferdig produkt. Prototypen bygger på SRS og SDS, men det ferdige produktet, fullversjonen, vil utvikles på nytt fra grunnen av. Det at prototypemetoden er rapid innebærer også at det trolig vil utvikles flere prototyper før fullversjonen blir laget. Prototypemetoden er også en Requirements animation da den er ment demonstrert for og vurdert av brukerne, og dermed hjelper til med å komme fram til klare og konsise krav, og støtter designutviklingsfasen videre. Disse prototypemetodene støttes av prosessmodellen vi har valgt å benytte oss av i dette prosjektet, en fossefallsmodell med prototyping. Da prototypemetoden er rapid og vektleggingen ligger på det grafiske brukergrensesnittet er GUI-klassene laget fleksible, så det er enkelt og raskt å forandre utseende på GUI. Dette er gjort ved å dele opp GUIet i flere klasser og i minst mulig grad bruke faste størrelser på objekter. Disse bør justeres automatisk etter dimensjonene på skjermstørrelsen. Prototypen er ment som et hjelpemiddel både til å forstå problemstillingene som er involvert når det gjelder det grafiske brukergrensesnittet, og til forståelsen av systemet som helhet Valg av design I utviklingen av FPSS bruker vi objekt orientert design. Dette fordi FPSS vil bli et system som stadig vil bli utsatt for forandringer og et objekt orientert design legger forholdene til rette for dette. Objektorientering Virkeligheten består av objekter Objekter består av attributter (data) og metoder (operasjoner) Objektene håndterer seg selv Objektene kommuniserer vha meldinger / funksjoner Objekt orienterte systemer er lettere å vedlikeholde på grunn av at objektene er uavhengige. De kan bli forstått og modifisert som stand-alone entiteter. Dersom man forandrer implementasjonen av et objekt eller legger til tilleggstjenester trenger ikke dette å forandre andre systemobjekter. Objekter er potensielt gjenbrukbare komponenter fordi tilstand og operasjoner er innkapslet uavhengig av andre objekter. Design kan bli utviklet ved bruk av objekter som har blitt laget i tidligere design. Dette reduserer design-, programmerings- og valideringskostnadene. Det kan også føre til at man benytter standard objekter (som forbedre design forståelsen) og det reduserer risikoen involvert i software utviklingen. Side: 393

6 2.1.3 Valg av programmeringsspråk Da vi har valgt et objekt orientert design på FPSS, falt det naturlig å bruke det objekt orienterte språket vi kan best til å kode prototypen, nemlig Java. Da prototypen er en throw-away prototype kan fullversjonen lages også i andre programmerings-språk enn Java Javadoc og kommentering av kode Det er laget en javadoc til prototypen, denne følger med på CD en som ligger ved sluttrapporten, i en mappe ved navn javadoc. For å åpne dokumentasjonen, se README.txt i mappen javadoc. Prototypens javadoc er skrevet på engelsk, mens kommentarer i koden for øvrig er på norsk. Mye av javadoc en og kommenteringen ellers i koden er laget etter at koden ble lagt ved dette dokumentet. For flere kommentarer til koden, se de ulike klassene på på CD en som ligger ved sluttrapporten, i mappen fpss Bemerkninger til prototypen Prototypen følger med på CD en som ligger ved sluttrapporten, i en mappe ved navn fpss. For å kjøre prototypen, se README.txt i mappen fpss. Når prototypen åpner seg første gang tar det litt tid før den åpner seg ordentelig. Dette er fordi det er laget en metode som heter rundemo () som putter en rekke strips opp på skjermen, i ulike containere. I prototypen er det dårlig brukersikring. Den benytter seg for eksempel i liten grad av exceptions. I fullversjonen vil dette selvfølgelig være viktig og bli tatt høyde for. Metaforen som det grafiske brukergrensesnittet bygger på er det manuelle stripbordet som flygeledere bruker i dag. Da prototypen kun dekker det grafiske brukergrensesnittet er det bare funksjonaliteten her som er fungerer. Prototypen kan for eksempel ikke ta imot AFTN-meldinger (dette blir simulert i metoden recievedata() i klassen FPSS.java). I fullversjonen må man velge arbeidssted ved oppstart av programmet, i prototypen er dette satt til å være Rygge flystasjon. Prototypen skriver heller ikke ut til kritisk backup eller lagrer til generell backup, men endringer man gjør på strips vil bli registrert, slik at disse beholdes selv om strips flyttes. Mellom prototypen og den designede fullversjonen er det flere forskjeller både i brukergrensesnittets utseende og funksjonalitet. Noen av disse er som følger (for forklaring av felter, se også SDS pkt. 4.3 vedlegg 2): Feltene Departureclearance, Headings og Altitudes. For å legge inn data om disse i prototypen har vi valgt å lage et felt for å legge inn data, og et annet for å vise innlagte data. I fullversjonen vil det være samme felt for å legge inn og vise disse dataene. Dessuten vil de gamle klareringene komme opp med med en strek over seg. I prototypen får noen av feltene som er mottagelige for input scrollbar når teksten i feltet overgår feltets størrelse. Dette gjelder for feltene som skal inneholde Side: 394

7 Flightroute og Remarks. I fullversjonen vil man ikke ha scrollbar, da vil en annen type funksjonalitet brukes for at ikke informasjon blir skjult for FLL. Flytting (drag n drop) av strips, se Forklaring av drag n drop. 2.2 Bruk av grensesnitt Forklaring av felter For forklaring av felter, se også SDS pkt. 4.3 vedlegg 2. I prototypen består strips av forskjellige felter som kan deles inn i tre kategorier. Kategori 1: I disse feltene kan man legge inn og manipulere data. De vil være hvite og få opp markør når man klikker på dem. De vil ha lik funksjonalitet som i en teksteditor, hvor man for eksempel kan dobbeltklikke på et ord for å markere det. Når man skriver inn ny data i disse feltene og trykker enter, vil denne dataen bli prosessert og lagt inn i enten samme felt, eller inn i felter av kategori 2. Det er derfor mulig å dele disse feltene inn i tre underkategorier. De to hvite feltene til venstre på strips kan man kalle for underkategorien legg til data, mens de som skal inneholde TAS, ETD/ATD, ETA/ATA og approach/sid manipuler data. Den siste kategorien kan man kalle for ekstra data og vil omfatte feltene som skal inneholde Flightroute og Remarks. Den sistnevnte kategorien vil få scrollbar når data overgår tekstfeltets størrelse. Se feltene som er markert med røde sirkler i figur 2 nedenfor for hvilke felter som er ment å falle inn under kategori 1. Figur 2, viser kategori 1 av felter på strip Kategori 2: Feltene som faller inn under denne kategorien vil være de som mottar data som blir lagt inn i feltene i kategori 1, underkategori legg til data. Før det blir lagt til data vil disse feltene være blanke. Når man legger til data og trykker enter for prosessering, vil dataen bli overført til disse feltene. Neste gang man legger til data, vil dette legge seg inn under data som ble lagt til før. Feltet som skal inneholde Headings (se SDS pkt. 4.3 vedlegg 2). Fargekoden for disse feltene er lys grå. Se figur 3 for hvilke felter som faller inn under kategori 2. Figur 3, viser kategori 2 av felter på strip Side: 395

8 Kategori 3: Disse feltene vil være de som skal inneholde statisk flightinformasjon. De vil ikke kunne forandres underveis. Fargekoden er mørk grå. Se figur 4 for hvilke felter som er ment. Figur 4, viser kategori 3 av felter på strip Side: 396

9 2.2.2 Forklaring av drag n drop I prototypen vil stripboard dannet av containere, på lik måte som i fullversjonen, inneholde strips. Når man ønsker å flytte strips mellom de forskjellige containerne vil prototype og det virkelige programmet være forskjellig. Fullversjonen vil være laget slik at man skal kunne ta tak i en strip på hvilket som helst sted og dra den over i en annen container (se figur 5). I prototypen vil man kun kunne ta tak i de mørkegrå feltene (se kategori 3 i pkt ) for å dra den over i en annen container. Prototypen vil kun inneholde en enkel drag n drop-funksjonalitet hvor man ikke ser at en strip flytter seg når man tar tak i den og drar den over i en annen container. Fullversjonen vil ha en drag n drop-funksjonalitet hvor en strip blir animert til å følge med når den blir tatt tak i og legge seg inn i en container når de blir sluppet over den (se figur 5). I både prototypen og fullversjonen vil transponderkode bli gitt så snart en strip flyttes fra pending-containeren. På lik linje vil transponderkode bli trukket tilbake hvis en strip legges tilbake i pending-containeren. Når man flytter på en strip i prototypen vil denne legge seg nederst i containeren den blir flyttet til. Enkelt-klikker man på en strip i prototypen (mørkegrått felt) vil den altså legge seg sist i samme container. I fullversjonen vil denne funksjonaliteten være erstattet av å kunne plassere en strip hvor som helst innen containeren. Eksempelvis muligheten til å dra en strip og legge den inn mellom to andre strips. Det er også viktig å merke seg at prototypen ikke gir fokus på en strip man flytter, når man flytter den til en container med scrollbar. Dette vil fullversjonen gjøre. Side: 397

10 Figur 5, viser drag n drop i virkelig program Side: 398

11 2.3 Kode FPSS import java.util.date; import java.util.calendar; import java.util.gregoriancalendar; import java.util.simpletimezone; import java.util.timezone; import java.util.vector; import java.util.enumeration; import java.util.stringtokenizer; import java.awt.*; import java.awt.color; import java.awt.event.*; /** * Main class of the FPSS, does the real fun. java.lang.object Gruppe 1, Software Engineering 2002, HiØ */ public class FPSS private GUIStripboard guisb = null; private Vector holdingstripsvector = null; private Vector pendingstripsvector = null; private Vector taxistripsvector = null; private Vector departurestripsvector = null; private Vector airbornestripsvector = null; private Vector inboundstripsvector = null; private Vector arrivalstripsvector = null; private Vector handoffstripsvector = null; private StripCreator stripcreator = null; /** * FPSS default constructor initializes all the necessary variables. */ public FPSS() stripcreator = new StripCreator (); holdingstripsvector = new Vector ( ); pendingstripsvector = new Vector ( ); taxistripsvector = new Vector ( ); departurestripsvector = new Vector ( ); airbornestripsvector = new Vector ( ); inboundstripsvector = new Vector ( ); arrivalstripsvector = new Vector ( ); handoffstripsvector = new Vector ( ); makegui ( ); recievedata ( ); rundemo ( ); //Det meste av det som gjøres med strippene her ville hørt hjemme Side: 399

12 + //i klassene ChangeStatus og Chan... Klokken er 2110 public void rundemo ( ) //Dette er departurestrippen til EAGLE15 Strip demostrip1 = ( Strip ) holdingstripsvector.get ( 0 ); holdingstripsvector.removeelementat ( 0 ); demostrip1.setfromstatus ( "pending" ); demostrip1.setstatus ( "departure" ); addstrip ( demostrip1 ); //Dette er arrivalstrippen til EAGLE15 Strip demostrip2 = ( Strip ) holdingstripsvector.get ( 0 ); holdingstripsvector.removeelementat ( 0 ); demostrip2.setfromstatus ( "holding" ); demostrip2.setstatus ( "pending" ); addstrip ( demostrip2 ); //Dette er SAS123 Strip demostrip3 = ( Strip ) holdingstripsvector.get ( 0 ); holdingstripsvector.removeelementat ( 0 ); demostrip3.setfromstatus ( "pending" ); demostrip3.setstatus ( "taxi" ); addstrip ( demostrip3 ); //Dette er LNTSB Strip demostrip4 = ( Strip ) holdingstripsvector.get ( 0 ); holdingstripsvector.removeelementat ( 0 ); demostrip4.setfromstatus ( "pending" ); demostrip4.setstatus ( "inbound" ); addstrip ( demostrip4 ); //Dette er KLM987 Strip demostrip5 = ( Strip ) pendingstripsvector.get ( 0 ); pendingstripsvector.removeelementat ( 0 ); guisb.pendingcontainer.removeguistripfromrundemo ( demostrip5 ); demostrip5.setfromstatus ( "pending" ); demostrip5.setstatus ( "handoff" ); addstrip ( demostrip5 ); //Dette er BRA545 Strip demostrip9 = ( Strip ) holdingstripsvector.get ( 0 ); holdingstripsvector.removeelementat ( 0 ); demostrip9.setfromstatus ( "pending" ); demostrip9.setstatus ( "arrival" ); addstrip ( demostrip9 ); // Illuderer mottak av AFTN-melding public void recievedata ( ) //Dette er AFTN-melding for EAGLE15 String stringfpd1 = "(FPL-EAGLE15-IM\n-F16/M-ILTUV/C\n-ENRY2100\n" DCT\n-ENRY0330 ENVA\n" + "-N0420F350 DCT RYG DCT ORL DCT RYG Side: 400

13 "-REG/711 OPR/NOW STS/NONRVSM RMK/REQ LOWPASS OF TWR ENOL DOF/021016)"; Vector fpdvector1 = splitfpd ( stringfpd1 ); // Dep(departure) og arr(pending) addstrips ( fpdvector1 ); //Dette er AFTN-melding for SAS123 String stringfpd2 = "(FPL-SAS123-IM\n-B738/M-0/C\n-ENRY2115\n" + "-N0350F200 DCT RG DCT TOGAT DCT ORL DCT\n-ENOL0145\n" + "-REG/SEGIB STS/HEAD)"; Vector fpdvector2 = splitfpd ( stringfpd2 ); // Dep(taxi) addstrips ( fpdvector2 ); //Dette er AFTN-melding for LNTSB String stringfpd3 = "(FPL-LNTSB-VG\n-C182/L\n-ENGM2045\n" + "-N0100VFR DCT KJELLER RYGGE DCT\n- ENRY0045 ENVA\n" + "-RMK/REQ PARADROP OVH RYGGE 2120)"; Vector fpdvector3 = splitfpd ( stringfpd3 ); // Arr(inbound) addstrips ( fpdvector3 ); //Dette er AFTN-melding for KLM987 String stringfpd4 = "(FPL-KLM987-IM\n-A310/M\n-EHAM2025\n" + "-N0450F480 DCT AMS DCT AAL DCT SOL DCT RG DCT TRM DCT\n-ENVA0545 ENFG\n" + "-RMK/REQ INSTR TRNG EKYT ENZV ENRY ENVA)"; Vector fpdvector4 = splitfpd ( stringfpd4 ); // Trans(handoff) addstrips ( fpdvector4 ); //Dette er AFTN-melding for TWA456 String stringfpd5 = "(FPL-TWA456-IM\n-DC10/H\n-ESSA2210\n" + "-N0450F350 DCT ARL DCT RG DCT AAL DCT HTR DCT\n-EGHR0145\n" + "-0)"; Vector fpdvector5 = splitfpd ( stringfpd5 ); // Trans(pending) addstrips ( fpdvector5 ); //Dette er AFTN-melding for LNTWH String stringfpd6 = "(FPL-LNTWH-IM\n-C550/M\n-EKCH2120\n" + "-N0340F200 DCT AAL DCT RG DCT GRM DCT\n-ENGM0200\n" + "-RMK/REQ LOW APCH ENRY)"; Vector fpdvector6 = splitfpd ( stringfpd6 ); // Trans(pending) addstrips ( fpdvector6 ); //Dette er AFTN-melding for AMA649 String stringfpd7 = "(FPL-AMA649-IM\n-A300/H\n-ENGM2155\n" + "-N0420F380 DCT GRM DCT AAL DCT\n- EKCH0145\n" + "-RMK/REQ A020 TO ENRY)"; Vector fpdvector7 = splitfpd ( stringfpd7 ); // Trans(pending) addstrips ( fpdvector7 ); //Dette er AFTN-melding for LNEET String stringfpd8 = "(FPL-LNEET-VM\n-C172/L\n-ENTO2140\n" + Side: 401

14 "-N0100VFR DCT RAKKESTAD DCT\n- ZZOS0145 ENRY\n" + "-0)"; Vector fpdvector8 = splitfpd ( stringfpd8 ); // Trans(pending) addstrips ( fpdvector8 ); //Dette er AFTN-melding for BRA545 String stringfpd9 = "(FPL-BRA545-IM\n-B735/M\n-ENVA2040\n" + "-N0350F410 DCT TRM UZ607 SIG DCT RG DCT\n-ENRY0055 ENGM\n" + "-REG/LNBRQ)"; Vector fpdvector9 = splitfpd ( stringfpd9 ); // Trans(pending) addstrips ( fpdvector9 ); /** * Splits the recieved Flight Plan Data strfpd the Flight Plan Data to split a Vector containing the split Flight Plan Data */ public Vector splitfpd ( String strfpd ) // Her blir stringen delt opp med StringTokenizer og de ulike elementene lagt i en vector // Første steg av oppdelingen foregår i en løkke, linjene i strfpd blir delt i separate stringer StringTokenizer tokens = new StringTokenizer ( strfpd, "()\n" ); String lines [ ] = new String [ 6 ]; for ( int i = 0; i < lines.length; i++ ) lines [ i ] = tokens.nexttoken ( ); Vector vectorfpd = new Vector ( ); // Her deles første linje opp ytterligere StringTokenizer line1 = new StringTokenizer ( lines [ 0 ], "-" ); line1.nexttoken ( ); vectorfpd.add ( line1.nexttoken ( ) ); // Callsign: String // Her deles andre linje opp ytterligere StringTokenizer line2 = new StringTokenizer ( lines [ 1 ], "-/" ); vectorfpd.add ( line2.nexttoken ( ) ); //AircraftType: String vectorfpd.add ( line2.nexttoken ( ) ); //WakeTurbulenceCategory: String 0, "Zulu" ) ); // Her deles tredje linje opp ytterligere vectorfpd.add ( lines [ 2 ].substring ( 1, 5 ) ); //ADEP: String Integer hours1 = new Integer ( lines [ 2 ].substring ( 5, 7 ) ); Integer minutes1 = new Integer ( lines [ 2 ].substring ( 7, 9 ) ); GregorianCalendar cal1 = new GregorianCalendar ( new SimpleTimeZone ( cal1.set ( Calendar.HOUR_OF_DAY, hours1.intvalue ( ) ); cal1.set ( Calendar.MINUTE, minutes1.intvalue ( ) ); cal1.set ( Calendar.SECOND, 0 ); cal1.set ( Calendar.MILLISECOND, 0 ); vectorfpd.add ( cal1 ); // ETD: GregorianCalendar Side: 402

15 // Her deles fjerde linje opp ytterligere StringTokenizer line4 = new StringTokenizer ( lines [ 3 ], "- " ); String firstpart = line4.nexttoken ( ); vectorfpd.add ( firstpart.substring ( 0, 5 ) ); // TAS: String vectorfpd.add ( firstpart.substring ( 5 ) ); // Altitude: String String secondpart = ""; while ( line4.hasmoreelements ( ) ) secondpart += line4.nexttoken ( ) + " "; vectorfpd.add ( secondpart ); // FlightRoute: String // Her deles femte linje opp ytterligere vectorfpd.add ( lines [ 4 ].substring ( 1, 5 ) ); //ADES: String Integer hours2 = new Integer ( lines [ 4 ].substring ( 5, 7 ) ); // Timer fra EET, skal plusses på ATD for å få ETA Integer minutes2 = new Integer ( lines [ 4 ].substring ( 7, 9 ) );//Min "" GregorianCalendar cal2 = new GregorianCalendar ( new SimpleTimeZone ( 0, "Zulu" ) ); //Skal settes til ETA cal2.set ( Calendar.HOUR_OF_DAY, hours1.intvalue ( ) ); //Denne og 3 neste linjer: setter det nye Cal-objektet cal2.set ( Calendar.MINUTE, minutes1.intvalue ( ) ); // til å være lik ETD cal2.set ( Calendar.SECOND, 0 ); cal2.set ( Calendar.MILLISECOND, 0 ); cal2.add ( Calendar.HOUR_OF_DAY, hours2.intvalue ( ) ); // Plusser på timene fra EET cal2.add ( Calendar.MINUTE, minutes2.intvalue ( ) ); // Plusser på minuttene fra EET vectorfpd.add ( cal2 ); // ETA: GregorianCalendar // Her deles sjette linje opp ytterligere vectorfpd.add ( lines [ 5 ].substring ( 1 ) ); // Comments: String /*System.out.println ( "YEAR : " + cal1.get ( Calendar.YEAR ) ); System.out.println ( "MONTH : " + cal1.get ( Calendar.MONTH ) ); System.out.println ( "WEEK_OF_YEAR : " + cal1.get ( Calendar.WEEK_OF_YEAR ) ); System.out.println ( "DATE : " + cal1.get ( Calendar.DATE ) ); System.out.println ( "DAY_OF_MONTH : " + cal1.get ( Calendar.DAY_OF_MONTH ) ); System.out.println ( "AM_PM : " + cal1.get ( Calendar.AM_PM ) ); System.out.println ( "HOUR : " + cal1.get ( Calendar.HOUR ) ); System.out.println ( "HOUR_OF_DAY : " + cal1.get ( Calendar.HOUR_OF_DAY ) ); System.out.println ( "MINUTE : " + cal1.get ( Calendar.MINUTE ) ); System.out.println ( "\n\nyear : " + cal2.get ( Calendar.YEAR ) ); System.out.println ( "MONTH : " + cal2.get ( Calendar.MONTH ) ); System.out.println ( "WEEK_OF_YEAR : " + cal2.get ( Calendar.WEEK_OF_YEAR ) ); System.out.println ( "DATE : " + cal2.get ( Calendar.DATE ) ); System.out.println ( "DAY_OF_MONTH : " + cal2.get ( Calendar.DAY_OF_MONTH ) ); System.out.println ( "AM_PM : " + cal2.get ( Calendar.AM_PM ) ); System.out.println ( "HOUR : " + cal2.get ( Calendar.HOUR ) ); Side: 403

16 System.out.println ( "HOUR_OF_DAY : " + cal2.get ( Calendar.HOUR_OF_DAY ) ); System.out.println ( "MINUTE : " + cal2.get ( Calendar.MINUTE ) ); System.out.println ( "\n\n" + vectorfpd.elementat ( 0 ) ); System.out.println ( vectorfpd.elementat ( 1 ) ); System.out.println ( vectorfpd.elementat ( 2 ) ); System.out.println ( vectorfpd.elementat ( 3 ) ); System.out.println ( vectorfpd.elementat ( 4 ) ); System.out.println ( vectorfpd.elementat ( 5 ) ); System.out.println ( vectorfpd.elementat ( 6 ) ); System.out.println ( vectorfpd.elementat ( 7 ) ); System.out.println ( vectorfpd.elementat ( 8 ) ); System.out.println ( vectorfpd.elementat ( 9 ) ); System.out.println ( vectorfpd.elementat ( 10 ) );*/ return vectorfpd; // Består av 11 elementer, String og GregorianCalendar /** * Makes and adds strips to their correct Vectors fpd the Flight Plan Data to make strips from Exception In the case of an invalid Flight Plan */ public void addstrips ( Vector fpd ) try Vector newstrips = new Vector ( ); newstrips = stripcreator.createstrip ( fpd ); Enumeration e = newstrips.elements ( ); while ( e.hasmoreelements ( ) ) Strip newstrip = ( Strip ) e.nextelement ( ); addstrip ( newstrip ); catch (Exception ex) System.out.println ( "addstrips: Beklager..." ); System.exit ( 1 ); /** * Adds a strip to its correct vector, if the strip is to be shown in a * <code>guistripcontainer</code> it makes a GUI for the strip and * shows it in the correct component striptoadd the strip to add GUIStripContainer */ public void addstrip ( Strip striptoadd ) if ( striptoadd.getstatus () == "taxi" ) taxistripsvector.addelement ( striptoadd ); Side: 404

17 guisb.taxicontainer.addguistrip ( striptoadd ); if ( striptoadd.getstatus () == "departure" ) departurestripsvector.addelement ( striptoadd ); guisb.departurecontainer.addguistrip ( striptoadd ); if ( striptoadd.getstatus () == "inbound" ) inboundstripsvector.addelement ( striptoadd ); guisb.inboundcontainer.addguistrip ( striptoadd ); if ( striptoadd.getstatus () == "arrival" ) arrivalstripsvector.addelement ( striptoadd ); guisb.arrivalcontainer.addguistrip ( striptoadd ); if ( striptoadd.getstatus () == "pending" ) pendingstripsvector.addelement ( striptoadd ); guisb.pendingcontainer.addguistrip ( striptoadd ); if ( striptoadd.getstatus () == "handoff" ) handoffstripsvector.addelement ( striptoadd ); guisb.handoffcontainer.addguistrip ( striptoadd ); if ( striptoadd.getstatus () == "holding" ) holdingstripsvector.addelement ( striptoadd ); /** * The main method of FPSS, calls the default constructor args[] not defined */ public static void main ( String args[] ) FPSS app = new FPSS(); /** * Initializes a GUIstripboard, adds a WindowListener, and shows it */ public void makegui ( ) guisb = new GUIStripboard ( ); guisb.addwindowlistener ( new WindowAdapter() Side: 405

18 public void windowclosing ( WindowEvent e ) ); exitsystem(); guisb.setvisible ( true ); /** * Makes sure the system is safely closed down */ public void exitsystem() System.exit ( 0 ); Side: 406

19 2.3.2 FPSSMenuBar import javax.swing.*; import java.awt.event.*; /** * FPSS * Prosjekt, Software Engineering 2002, HiØ * MenuBar til bruk på GUIet Gruppe 1 1.0, * FPSSMenuBar.java */ public class FPSSMenuBar extends JMenuBar implements ActionListener private JMenu closemenu; private JMenu helpmenu; //private itt controller; public FPSSMenuBar( ) makemenubar(); private void makemenubar() makeclosemenu(); makehelpmenu(); private void makeclosemenu() closemenu = new JMenu( "Close" ); closemenu.setmnemonic( 'C' ); ); JMenuItem close = new JMenuItem( "Close", new ImageIcon( "close.gif" ) close.setaccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_F2, 0 ) ); //close.setactioncommand( "close" ); close.addactionlistener( this ); closemenu.add( close ); this.add( closemenu ); private void makehelpmenu() helpmenu = new JMenu( "Help" ); helpmenu.setmnemonic( 'H' ); JMenuItem help = new JMenuItem( "Help", new ImageIcon( "help.gif" ) ); help.setaccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_F1, 0 ) ); //help.setactioncommand( "help" ); help.addactionlistener( this ); Side: 407

20 "info.gif" ) ); JMenuItem about = new JMenuItem( "About FPSS", new ImageIcon( //about.setactioncommand( "about" ); about.addactionlistener( this ); helpmenu.add( help ); helpmenu.add( about ); this.add( helpmenu ); public void actionperformed( ActionEvent e ) //controller.sendmenubarmessage( e ); Side: 408

21 2.3.3 GUIStripboard import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.color; import java.awt.event.*; public class GUIStripboard extends JFrame private Container c; Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); private int width = dim.width; private int height = dim.height; private int sbheight = height - ( height / 15); private int numcolumns = 3; private int columnwidth = width / numcolumns; private int headerheight = 50; private Color hivory = new Color ( 255, 255, 255 ); private Color hblue = new Color ( 123, 213, 253 ); private Color hyellow = new Color ( 250, 253, 131 ); Color containertrimcolor = new Color ( 100, 100, 100 ); Border edge = null; FPSSMenuBar fpssmenubar = null; GUIStripContainer pendingcontainer = null; GUIStripContainer taxicontainer = null; GUIStripContainer departurecontainer = null; GUIStripContainer inboundcontainer = null; GUIStripContainer arrivalcontainer = null; GUIStripContainer handoffcontainer = null; ); public GUIStripboard ( ) super ( "Flight Progress Strip System" ); //setdefaultcloseoperation ( WindowConstants.DO_NOTHING_ON_CLOSE setresizable ( false ); setsize ( width, height ); setbounds ( 0, 0, width, height ); fpssmenubar = new FPSSMenuBar ( ); super.setjmenubar ( fpssmenubar ); setupgui ( ); public void setupgui ( ) c = getcontentpane(); c.setlayout ( null ); edge = BorderFactory.createLineBorder ( containertrimcolor ); makecolumn1 ( ); makecolumn2 ( ); Side: 409

22 makecolumn3 ( ); public void makecolumn1 ( ) int x = 0, y = 0; GUIStripHeader taxiheader = new GUIStripHeader( "TAXI", hblue ); taxiheader.setbounds ( x, y, columnwidth, headerheight ); c.add ( taxiheader ); taxicontainer = new GUIStripContainer ( "taxi", columnwidth, sbheight ); JScrollPane scrollpanetaxi = new JScrollPane ( taxicontainer, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollpanetaxi.setborder ( edge ); scrollpanetaxi.setbounds ( x, y + headerheight, columnwidth, ( sbheight / 2 ) - headerheight ); c.add ( scrollpanetaxi ); y = sbheight / 2; hblue ); GUIStripHeader departureheader = new GUIStripHeader( "DEPARTURE", departureheader.setbounds ( x, y, columnwidth, headerheight ); c.add ( departureheader ); departurecontainer = new GUIStripContainer ( "departure", columnwidth, sbheight ); JScrollPane scrollpanedeparture = new JScrollPane ( departurecontainer, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollpanedeparture.setborder ( edge ); scrollpanedeparture.setbounds ( x, y + headerheight, columnwidth, ( sbheight / 2 ) - headerheight ); c.add ( scrollpanedeparture ); public void makecolumn2( ) int x = columnwidth, y = 0; hyellow ); GUIStripHeader inboundheader = new GUIStripHeader( "INBOUND", inboundheader.setbounds ( x, y, columnwidth, headerheight ); c.add ( inboundheader ); inboundcontainer = new GUIStripContainer ( "inbound", columnwidth, sbheight ); JScrollPane scrollpaneinbound = new JScrollPane ( inboundcontainer, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollpaneinbound.setborder ( edge ); scrollpaneinbound.setbounds ( x, y + headerheight, columnwidth, ( sbheight / 2 ) - headerheight ); c.add ( scrollpaneinbound ); Side: 410

23 y = sbheight / 2; ); GUIStripHeader arrivalheader = new GUIStripHeader( "ARRIVAL", hyellow arrivalheader.setbounds ( x, y, columnwidth, headerheight ); c.add ( arrivalheader ); arrivalcontainer = new GUIStripContainer ( "arrival", columnwidth, sbheight ); JScrollPane scrollpanearrival = new JScrollPane ( arrivalcontainer, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollpanearrival.setborder ( edge ); scrollpanearrival.setbounds ( x, y + headerheight, columnwidth, ( sbheight / 2 ) - headerheight ); c.add ( scrollpanearrival ); public void makecolumn3 ( ) int x = columnwidth * 2, y = 0; ); GUIStripHeader pendingheader = new GUIStripHeader( "PENDING", hivory pendingheader.setbounds ( x, y, columnwidth, headerheight ); c.add ( pendingheader ); pendingcontainer = new GUIStripContainer ( "pending", columnwidth, sbheight ); JScrollPane scrollpanepending = new JScrollPane ( pendingcontainer, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollpanepending.setborder ( edge ); scrollpanepending.setbounds ( x, y + headerheight, columnwidth, ( sbheight / 2 ) - headerheight ); c.add ( scrollpanepending); y = sbheight / 2; ); GUIStripHeader handoffheader = new GUIStripHeader( "HANDOFF", hivory handoffheader.setbounds ( x, y, columnwidth, headerheight ); c.add ( handoffheader ); handoffcontainer = new GUIStripContainer ( "handoff", columnwidth, sbheight ); JScrollPane scrollpanehandoff = new JScrollPane ( handoffcontainer, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollpanehandoff.setborder ( edge ); scrollpanehandoff.setbounds ( x, y + headerheight, columnwidth, ( sbheight / 2 ) - headerheight ); c.add ( scrollpanehandoff ); public void setcolumnwidth ( int width ) Side: 411

INF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010

INF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010 Grafisk brukergrensesni3 med Swing og awt del 1 GUI (Graphical User Interface)- programmering Hvordan lage et vindu på skjermen Hvordan legge ulike komponenter i vinduet (trykknapper, tekseelter, tekst,

Detaljer

EKSAMEN. TILLATTE HJELPEMIDLER: Alle trykte og skrevne. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

EKSAMEN. TILLATTE HJELPEMIDLER: Alle trykte og skrevne. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag KANDIDATNUMMER: EKSAMEN EMNENAVN: Programutvikling EMNENUMMER: IMT3281 EKSAMENSDATO:05/12-2007 KLASSE: 06HBINDA/06HBINDP TID: 09.00 13.00 EMNEANSVARLIG: Øivind Kolloen ANTALL SIDER UTLEVERT: 7 TILLATTE

Detaljer

Flight Progress Strip System for Air Traffic Control Versjon: 3.0 Software Requirements Specification Dato: 21.11.2002. Gruppe nr:

Flight Progress Strip System for Air Traffic Control Versjon: 3.0 Software Requirements Specification Dato: 21.11.2002. Gruppe nr: SRS, versjon 3.0. Gruppe 1 Flight Progress Strip System for Air Traffic Control Versjon: 3.0 Software Requirements Specification Dato: 21.11.2002 Fag: Software Engineering Filformat: Gruppe nr: 1 Filnavn:

Detaljer

INF1010. Grafisk brukergrensesni. med Swing og awt del 2. INF1010 - - Grafisk brukergrensesni4 II

INF1010. Grafisk brukergrensesni. med Swing og awt del 2. INF1010 - - Grafisk brukergrensesni4 II INF1010 Grafisk brukergrensesni. med Swing og awt del 2 1 GUI (Graphical User Interface)- programmering n n n Enkel behandling av knappetrykk mm. Layout av vinduer Om å lytte på knappetrykk med musa n

Detaljer

6108 Programmering i Java. Leksjon 8. GUI: Grafisk brukergrensesnitt. Del 2: 8.3 8.4 Roy M. Istad 2015

6108 Programmering i Java. Leksjon 8. GUI: Grafisk brukergrensesnitt. Del 2: 8.3 8.4 Roy M. Istad 2015 6108 Programmering i Java Leksjon 8 GUI: Grafisk brukergrensesnitt Del 2: 8.3 8.4 Roy M. Istad 2015 // Programforklaring // Noen nye import-setninger GUIprogram.java public class GUIprogram + vindu/hendelser

Detaljer

Eksamensoppgave Vår 2012 Ordinær eksamen Bokmål. Videregående programmering. Eksamensdato: 06.06.2012. Studium/klasse: 2. klasse

Eksamensoppgave Vår 2012 Ordinær eksamen Bokmål. Videregående programmering. Eksamensdato: 06.06.2012. Studium/klasse: 2. klasse Eksamensoppgave Vår 2012 Ordinær eksamen Bokmål Fag: Videregående programmering Eksamensdato: 06.06.2012 Studium/klasse: 2. klasse Emnekode: IFT205 Eksamensform: Skriftlig Antall sider: 3 (inkludert denne)

Detaljer

Flight Progress Strips System for Air Traffic Control Fag:

Flight Progress Strips System for Air Traffic Control Fag: Verifikasjon og validerings plan: Flight Progress Strips System for Air Traffic Control Fag: Gruppe nr: Veiledere: Versjon: 1.0 Dato: 21.11.2002 Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky

Detaljer

Mål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon

Mål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon Mål med kurset Java i INF 2400 Introduksjon til signalbehandling Lyd som anvendelse Få programmeringserfaring Dagens tema Utplukk av Java (GUI, kode-konvensjon, polymorfisme, classpath, javadoc) Java og

Detaljer

Grafiske brukergrensesnitt med Swing og AWT

Grafiske brukergrensesnitt med Swing og AWT Grafiske brukergrensesnitt med Swing og AWT - 1 av 11 INNHOLD INTRODUKSJON 3 VINDUER, RAMMER OG PANELER. 4 KOMPONENTER OG VINDUSELEMENTER 6 KNAPPER OG KNAPPELYTTERE.. 8 LAYOUT.. 10 APPENDIX. 11 2 av 11

Detaljer

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2008 GUI - del 2

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2008 GUI - del 2 GUI (Graphical User Interface)-programmering Inf 1010-2008 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo Tidligere Hvordan få laget et vindu på skjermen Grafikk (tegning i vinduet) Hvordan

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Side: 1 Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Dato: 22.11.2002 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Kapittel 15: Grafiske brukergrensesnitt. Del II

Kapittel 15: Grafiske brukergrensesnitt. Del II Kapittel 15: Grafiske brukergrensesnitt Del II Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye. ~KSAMENSOPPGA VE Les gjennom hele oppgavesettet før du begynner A besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes parametemavn som

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson

Detaljer

OPPGAVE 5b og 8b Java Kode

OPPGAVE 5b og 8b Java Kode OPPGAVE 5b og 8b Java Kode public class Kant boolean behandlereturavbil() BehandleReturAvBil behandler = new BehandleReturAvBil(this); String regnr; int kmstand, tanknivaa; boolean erskadet; // 1: Få verdiene

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Mandag 6. august 2012, kl. 15:00-19:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Rune Sætre. Kontaktperson under

Detaljer

29.02.2012. GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser. En oversikt over kapittel 19 i boka

29.02.2012. GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser. En oversikt over kapittel 19 i boka GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php Høgskolen

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne I EKSAMENSOPPGA VE Side av 8 AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: PROGRAMMERING Grupper: laa, 1AB, lac, lia Eksamensoppgaven av: Tillatte hjelpemidler: best~r Antall sider (Inkl forsiden):

Detaljer

LO191D/LC191D Videregående programmering

LO191D/LC191D Videregående programmering LO191D/LC191D Videregående programmering Eksamen mai 2012 Løsningsforslag Oppgave 1 Klassen Destinasjon: // Oppgaven er uklar på hva som skal inn i klassen Destinasjon. // Her følger en minimumsutgave

Detaljer

Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006

Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Prosesser og tråder Datamaskinen lager prosesser. En prosess organiserer arbeidet i et program ved å administrere tråder. Det er

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

ANTDAGER = 358; I Ifra nyttår 08 til 08 1ed julaften

ANTDAGER = 358; I Ifra nyttår 08 til 08 1ed julaften ~tte hjelpemiddel: Alle trykte og håndskrevne --- Kandidaten må selv kontrollere at oppgavesettet er fullstendig. nnføring skal være med blå eller svart penn. Les gjennom hele oppgavesettet før du begynner

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

import java.io.*; import java.util.*; import javagently.text;

import java.io.*; import java.util.*; import javagently.text; //-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import

Detaljer

Eksamen. Objektorientert Programmering IGR 1372

Eksamen. Objektorientert Programmering IGR 1372 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon: 1.0 Dato: 1.09.00 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

EKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009 Tid: kl. 0900-1300 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009

Detaljer

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne Side 1 av 7 Bokmålstekst Emne: PROGRAMMERING (nytt pensum, 10 studiep.) Grupper: laa, lab, lac, lia, lib, lic Eksamensoppgaven best~r av: Tillatte hjelpemidler: Antall sider (inkl. forsiden): 7 Alle trykte

Detaljer

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting

Detaljer

import java.util.arraylist;

import java.util.arraylist; import java.util.arraylist; * Klassen som generer TerminListe * @author young * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

Detaljer

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 11.2 Korteste vei i en graf 11.2.1 Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

INF1000 Prøveeksamen Oppgave 7 og 9 INF1000 Prøveeksamen Oppgave 7 og 9 Høst 2015 Siri Moe Jensen 7a) Skriv en klasse Gave med to variabler som forteller hva som er i gaven, og hvor mye den har kostet. Klassen skal ha en konstruktør med

Detaljer

Kapittel 5: Objektkommunikasjon

Kapittel 5: Objektkommunikasjon Kapittel 5: Objektkommunikasjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk

Detaljer

Ol Emnekode: Faglig veileder: I L~~25 A - E!8 Viho~d~.1. F ntall oppga~ forsiden): 8 5. -;;;handskr~vn-;

Ol Emnekode: Faglig veileder: I L~~25 A - E!8 Viho~d~.1. F ntall oppga~ forsiden): 8 5. -;;;handskr~vn-; Emne: PROGRAMMERING Ol Emnekode: Faglig veileder: I L~~25 A - E!8 Viho~d~.1 Grupper: I Dato: laa, lab, lac, lia, ~IB, l~c, A_~~~) _~~~~12.~!3 -. Antall sider (inkl, Eksamensoppgaven best~r av: forsiden):

Detaljer

EKSAMEN I FAG TDT4180 - MMI Lørdag 4. juni 2005 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 - MMI Lørdag 4. juni 2005 Tid: kl. 0900-1300 Side 1 av 7 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag

Detaljer

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Løsningsforslag Eksamen V2007 Oppgave 1 NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Oppgave 1.1 Klasse som pakke rinne n primitiv datatype, slik at vi kan

Detaljer

Kapittel 8: Programutvikling

Kapittel 8: Programutvikling Kapittel 8: Programutvikling Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk

Detaljer

Avdeling for ingeniørutdanning Institutt for teknologi

Avdeling for ingeniørutdanning Institutt for teknologi Avdeling for ingeniørutdanning Institutt for teknologi Oppgavetittel: Lab Fag(nr./navn): DOPS2021 - Operativsystemer Gruppemedlemmer: T. Alexander Lystad Faglærer: Karoline Moholth Dato: 15. oktober 2009

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Målform: Eksamensdato: Bokmål 9.mai 202 Varighet/eksamenstid: 0900-300 Emnekode: Emnenavn: Klasse(r): Studiepoeng: LC9D/LO9D Videregående

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter

Detaljer

EKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300 Side 1 av 8 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

Detaljer

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Oppgave 1) Her var det en manglende høyreparentes i 1 b) slik at de som svarer virker ikke eller lignende istedenfor det riktige svaret, skal

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet LØSNINGSFORSLAG Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet

Detaljer

INF1000 Klasser og objekter

INF1000 Klasser og objekter INF1000 Klasser og objekter Marit Nybakken marnybak@ifi.uio.no March 1, 2004 Dette dokumentet skal tas med en klype salt og forfatter sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette

Detaljer

Løsningsforslag til eksamen i INF1000 våren 2006

Løsningsforslag til eksamen i INF1000 våren 2006 Løsningsforslag til eksamen i INF1000 våren 2006 Oppgave 1 a) -1 false 7 b) 30 c) Verdien til j er: 4Verdien til k er: 3Verdien til n er: 7 d) Andre if-test er true Tredje if-test er true e) k = 4 k =

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

Detaljer

Eksamen i INF160, høsten 2006. 8.12.06 (OBS! svarforslag) 6 timer skriftlig, alle hjelpemidler Faglærer: Ketil Danielsen

Eksamen i INF160, høsten 2006. 8.12.06 (OBS! svarforslag) 6 timer skriftlig, alle hjelpemidler Faglærer: Ketil Danielsen Eksamen i INF160, høsten 2006. 8.12.06 (OBS! svarforslag) 6 timer skriftlig, alle hjelpemidler Faglærer: Ketil Danielsen Oppgaven har re spørsmål som teller like mye (1/4). Spørsmål 2 gir lite programmering;

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

INF1000 Behandling av tekster

INF1000 Behandling av tekster INF1000 Behandling av tekster Marit Nybakken marnybak@ifi.uio.no 23. februar 2004 Tekster Vi kommer nesten aldri utenom å bruke tekststrenger i programmene våre, ikke minst fordi det nesten alltid skal

Detaljer

INF1010. Grensesnittet Comparable

INF1010. Grensesnittet Comparable<T> INF1010 21. februar 2013 Grensesnittet Comparable Stein Michael Storleer Institutt for Informatikk Universitetet i Oslo Interface med parametre interface Utkledd { // T er klassen jeg er utkledd

Detaljer

Introduksjon til databaseprogrammering med Java

Introduksjon til databaseprogrammering med Java Introduksjon til databaseprogrammering med Java Kompendium for kurs i objektorientert programmering Bjørn Kristoffersen Avdeling for allmenne fag Institutt for økonomi og informatikk Høgskolen i Telemark

Detaljer

Eksamen i Internetteknologi Fagkode: ITE1526

Eksamen i Internetteknologi Fagkode: ITE1526 Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og

Detaljer

EKSAMEN I FAG TDT4180 MMI Onsdag 28. mai 2008 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 MMI Onsdag 28. mai 2008 Tid: kl. 0900-1300 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Hallvard Trætteberg, Tlf: 73 59 34 43 EKSAMEN I FAG TDT4180 MMI Onsdag 28.

Detaljer

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder: Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner

Detaljer

Socket og ServerSocket

Socket og ServerSocket Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket

Detaljer

Kapittel 9: Sortering og søking Kort versjon

Kapittel 9: Sortering og søking Kort versjon Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det? Obligatorisk oppgave 3 Gulbrand Grås husleiesystem Oblig 3hus litt mer tips enn i oppgaven I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer, nummerert fra -3. I hver etasje

Detaljer

INF1010 - Seminaroppgaver til uke 3

INF1010 - Seminaroppgaver til uke 3 INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar

Detaljer

Eksamen Objektorientert Programmering 2013

Eksamen Objektorientert Programmering 2013 Eksamen Objektorientert Programmering 2013 Høgskolen i Østfold 2013-01-07 Emnekode Emne ITF10611 Dato 2013-01-07 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering To A4-ark (fire

Detaljer

UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Eksamen i emnet INF101/INF101-F - Programmering 2 Fredag 10. juni 2011, kl. 09-14 Bokmål Tillatte hjelpemidler: alle skrevne og trykte.

Detaljer

INF1000 - Løsning på seminaropppgaver til uke 8

INF1000 - Løsning på seminaropppgaver til uke 8 INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){

Detaljer

1 t:n'v'\ekode LO325E. Alle ~vne og trykte. GOd'"j(jent kalkulator

1 t:n'v'\ekode LO325E. Alle ~vne og trykte. GOd'j(jent kalkulator 1 t:n'v'\ekode j Emne: 11nformatiklc Il LO325E I Faglig veileder Hilde Hemmer 1 Gruppe(r) I DOtO:14~1~ E ksamenstld 900-1400 I Eksamen~pgaven består av: Antall sider (Inkl forsiden og vedlegg):6 Antal

Detaljer

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 Delkapittel 9.2 Rød-svarte og 2-3-4 trær Side 1 av 16 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 9.2 Rød-svarte og 2-3-4 trær 9.2.1 B-tre av orden 4 eller 2-3-4 tre Et rød-svart tre og et

Detaljer

Klassen javax.swing.joptionpane

Klassen javax.swing.joptionpane Klassen javax.swing.joptionpane Standardklassen JOptionPane er et alternativ til den hjemmelagede klassen JavabokGUI. API-referanser er samlet bakerst i dette notatet. Til forskjell fra JavabokGUI skal

Detaljer

LC191D/LO191D Videregående programmering mai 2010

LC191D/LO191D Videregående programmering mai 2010 LC191D/LO191D Videregående programmering mai 2010 Løsningsforslag Oppgave 1 Transporttype er en tekst som er felles for klassene AnnenEgenTransport og Kollektivtransport. Vi legger den derfor i klassen

Detaljer

OO-eksempel. Modellen ser slik ut: Studenter + antstudenter : int = 0

OO-eksempel. Modellen ser slik ut: Studenter + antstudenter : int = 0 OO-eksempel I eksemplet er det deklarert tre klasser: 1) Fag (skal instansieres ett objekt for hvert fag) 2) Student (skal instansieres ett objekt for hver student) 3) Studenter (abstrakt klasse skal ikke

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

Kapittel 7: Mer om arv

Kapittel 7: Mer om arv Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,

Detaljer

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene

Detaljer

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Side 1 av 20 Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Bokmål Eksamen i emnet INF100 Grunnkurs i programmering Torsdag 27. november 2014 Tid: 09:00 14:00

Detaljer

(MVC - Model, View, Control)

(MVC - Model, View, Control) INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av

Detaljer

"Nelsons kaffebutikk"

Nelsons kaffebutikk "Nelsons kaffebutikk" et eksempel på systemutvikling med objekter Originale lysark av Jens Kaasbøll - mindre endringer av G. Skagestein og Knut Hegna IN105-javaNelson-1 Nelsons kaffebutikk Området som

Detaljer

Stein Gjessing, Ins$tu' for informa$kk, Universitetet i Oslo

Stein Gjessing, Ins$tu' for informa$kk, Universitetet i Oslo INF1010 - Våren 2012 Tråder del 1 Parallelle programmer og felles data Stein Gjessing,, Universitetet i Oslo 1 2 Oversikt Hva er parallelle programmer? Hvorfor parallelle programmer? Hvordan kan de'e skje

Detaljer

Litt om pakker og mest om data inn og ut

Litt om pakker og mest om data inn og ut Litt om pakker og mest om data inn og ut IN105-javainnogut-1 import java.io.*;. Data inn fra tastaturet lesemetode tastatur BufferedReader void lesemetode (String [ ] args) throws IOException {... /* sett

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 2.desember 2009 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D LO191D Videregående programmering

Detaljer

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN

Detaljer

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

Requirement Engineering Process

Requirement Engineering Process Prosessaktører Prosesstøtte Prosess management Prosesskalitet Prosessforbedring Horfor bruke prosessmodeller? forenklet beskrielse a en prosess lagd ut fra et bestemt perspekti så det kan ære flere forskjellige

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens

Detaljer

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster 3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker

Detaljer

Fakultet for informasjonsteknologi, Institutt for datateknikk og informasjonsvitenskap

Fakultet for informasjonsteknologi, Institutt for datateknikk og informasjonsvitenskap Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap BOKMÅL KONTINUASJONSEKSAMEN

Detaljer

Repetisjon. INF1000 - gruppe 13

Repetisjon. INF1000 - gruppe 13 Repetisjon INF1000 - gruppe 13 Lese fra fil Scanner import java.util.*; void lesfrafil() { try { Scanner innfil = new Scanner(new File( fugleobservasjoner.txt )); while (innfil.hasnext()) { String linje

Detaljer

Steg 1: Opprette app-pakke, app-klasse og FXML-fil

Steg 1: Opprette app-pakke, app-klasse og FXML-fil Logo med FXML Introduksjon En viktig del av det å lage app-er er å utforme skjerminnholdet, dvs. alt app-en inneholder av grafikk, knapper, lister, osv. Formålet til denne leksjonen er å lære hvordan du

Detaljer

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering Uke9. mars 2005 rafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei jessig Ist for Iformatikk Uiv. i Oslo UI (raphical User Iterface)-programmerig I dag Hvorda få laget et vidu

Detaljer

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min. Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene

Detaljer

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man Eksempel med to-dimensjonal array Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 6 Vi skal lage et program som illustrerer

Detaljer

versjon 1.1 Brukermanual

versjon 1.1 Brukermanual Side 1 05.11.2004 versjon 1.1 Brukermanual Side 2 05.11.2004 Beskrivelse av IKT-verktøy for strukturering og organisering av referanser til store mengder informasjon. GrandView er et program for strukturering

Detaljer

Løsning på småoppgaver etter hvert underkapittel. kap. 11-18

Løsning på småoppgaver etter hvert underkapittel. kap. 11-18 Løsning på småoppgaver etter hvert underkapittel. kap. 11-18 Kun til bruk sammen med læreboka Programmering i Java, Else Lervik og Vegard B. Havdal. Stiftelsen TISIP og Gyldendal Akademisk. Tilpasset 3.utgave

Detaljer

EKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010 Tid: kl. 0900-1300 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010

Detaljer