K-opgave Visualisering af rumkurver

Størrelse: px
Starte visningen fra side:

Download "K-opgave 2002 - Visualisering af rumkurver"

Transkript

1 K-opgave Visualisering af rumkurver MikkelBoje,di010633@diku.dk UlrikSchouJrgensen,di010347@diku.dk MartinDamhus,di010539@diku.dk 12.oktober2007 Indhold 1 Sammenfatning-dennerapport 1.1 Ambitionsniveau Kravtillseren 1.3 Bemrkninger Problemorienteretanalyse 2.1 Problem Specikation Kurveparametriseringer Terminologi Typerafkurver Punkter Typerafoperationer Plotning Endeligreprsentationafuendeligpunktmngde Kurverogkoordinataksersudstrkning. Hvilkepunkterskalplottes? 2.7 Inddata Transformationen Brugerspeciceredeparametre Uddata Design 3.1 Algoritmiskstrukturafprogrammet-ansvar DesignPatterns Fleksibelindlsningmuliggrbrugafdesignpatterns Operationerpagurerogdesignmnstre

2 3.3 Klasser Kontrologadministration Figurer. Operationer Vektorerogmatricer Srligepunkter Designpatterns Indlsning Undtagelser Programmeringsovervejelser 4.1 Implementationafdesign Inddata Inddatakommandoerlagresilisteaflinier Indkommendetalparametre Fortolkningafinddata Afrundingsfejl Vrdibrendeobjektererikkekonstante Undtagelser Beregningerogkretid Koordinatakserneiuddata Tegningpabrt-objektet Tegningafgurer Tegningafspecialpunkter Tegningafakser Programbeskrivelse 5.1 Programmelogprogramudvikling Navngivningskonventioner Grnseader Klassersinteraktionsamtansvarsfordeling Programgennemlb InitialiseringafCurvePlotter Kaldafdraw Afprvning 6.1 Specikationogstrategi kvivalensklasser Grnsetilflde Testresultater

3 7 Brugervejledning 7.1 Forudstningerforatbrugeprogrammet Figurtyper Operationer Programopstart Stak-indlsningafinddatalinier Syntaks Figurer Eksempel Operatorer. Eksempel Fejlmeldinger Atudvideprogrammetmednyegurerelleroperatorer Konklusion 8.1 Konklusion A Kildekode A.1 CurvePlotter. 35 A.2 FigureManager A.3 A.4 FigureA OperatorA A.5 A.6 Axis Line A.7 A.8 Opgave2A Opgave3A 54 A.9 Opgave4A 55 A.10Point A.11PointParm A.12Translation A.13CurveConc A.14Scaler A.15Vector A.16VectorX A.17Matrix A.18VectorIteratorI A.19VectorVisitorI A.20VectorList 69 A.21Transform A.22Trans2dVisitor A.23ReadInputLines A.24InputLine A.25ReadFileException

4 B CRC-kort 82 C Grnseader C.1 CurvePlotterI 85 C.2 FigureI C.3 FigureManagerI C.4 C.5 InputLineI MatrixI. 86 C.6 OperatorI C.7 C.8 PointI PointParmI C.9 C.10TransformI. ReadInputLinesI 88 C.11VectorI C.12VectorIteratorI C.13VectorListI C.14VectorVisitorI C.15VectorXI. C.16Interfacesforundtagelser D Transformationen 93 E Klassediagram 95 F CurvePlotterinitialiseres 96 G CurvePlotterkalderdraw 97 H FigureManageriarbejde 98 I Inddatatilafprvning 99 J Uddatafraafprvning Sammenfatning - denne rapport Denne portenanalysererproblemstillingengivetiopgaveformuleringen[1],beskriverdet rapport er en besvarelse af K2-opgaven i datalogi, stilletar Rap- udvikledeprogramsfunktionalitetogdetsudvidelsesmulighederogdokumenterer programmetibilagene.programmeterskrevetijava(v.1.4.0)oghartilformal at fulgtmedik2-brevkassen[2]. \visualisere kurver i rummet", se kravspecikationen 2.2. Undervejs har vi information,se8. Deterikkelykkedesosatindfrimaletmedprogrammettilfulde,fornrmere 4

5 1.1 Ambitionsniveau Vi tildesignetafprogrammetovereventuelleeektivitetshensyn,udenatdettehar har i udviklingen af programmet lbende vgtet overskuelighed og hensyn frttilmangekomplikationer.iimplementeringenharvidogsigtettilatundgaet gentagneberegningero.l.decideretressourcespild. Hermederikkeudelukket,atoptimeringermuligvissesteder. 1.2 Krav til lseren Lseren ingssproget af nrvrende Java. Srligrapport sprogbrug forventes vil vre atforklaret vre bekendt i denmed grad, programmer- adskillersigfrastandardterminologivedrrendejava. det radikalt 1.3 Bemrkninger Vi ellersomernemtforstaelige(fx. vil i rapportens sprog anvendeinput)samtengelskeord,derermedidansk engelske med darlig dansk oversttelse retstavning,eksempelvisinterface. gumenter(ogaltsaburdeopskrivesmetodenavn(arg1,arg2,...,argn),hvisvi Vi vil tillade os at skrive metodenavn() for metoder, der tager mange ar- blotskalrefereretilmetodensnavn. 5

6 2 Problemorienteret analyse 2.1 Problem Viskaludarbejdeetprogramtilvisualiseringafkurverirummet.Dissekurver vilvrespeciceretvedparametriseringerieenvariabel.detskalvremuligt atudfre"operationer"1pakurverne. 2.2 Specikation Vivilherudspecicereopgavetekstenskravtilenrkkekonkretekravtilvores program. Forskellige typer2 kunnevisualiseres. kurveparametriseringer sasom spiraler eller linier skal Detskalvremuligtforbrugerenatangivetidsintervalletforparametriseringsvariablen,saledesathverkurve,dernskestegnet,harsitegettidsinterval. Tilhverkurveskalbrugerenkunnespecicereekstraparametre,forkurvetypen Lineskaleksempelvisetpunktogenretningsvektorkunneangives. Detskalvremuligtatudfre"operationer"pakurverne. Tilhvernsketoperation,skalrelevanteparametrekunneangives.Fx.skal translationsforesprgslerledsagesaftreparametre,nemligde3koordinater tilforskydningsvektoren. Fremvisningenafkurverne(modiceredeellerejviaoperationer)skalledsagesafetkoordinatsystem,derlokalisererkurvernesplaceringi R3. Programmetskalvreeksibelt: -Detskalvreletattilfjenyekurvetyper -Detskalvreletattilfjenyeoperationer Visualiseringen diskuteresyderligereiafsnittet2.9). skal vre venlig imod jet (hvad der forstas herved, vil Programmet opgaver,se[1]. skal kunne fremvise de kurver, der er angivet i de bundne 1Vilprciseresomlidt,seafsnit Se

7 2.3 Kurveparametriseringer Vivilanfrenogleovervejelserogbemrkningeriforbindelsemedbegrebet"kurveparametrisering" Terminologi Givet billedmngdenf(i)medkurvensspor.deterdettespor,vivilplotte,narvii en kurveparametrisering f : I 3 t 7! (f1(t);f2(t);f3(t)), vil vi benvne programmetgivesetantalkurvermedtilhrendetider. rametrisering.medsammebetydningvilvibenytteordeneparametriseringer, Vivilfritvekslemellemvissebetegnelserfordetmegetlangeordkurvepa- kurver-og,mereprogramnrt3-gurer.vimenerikke,atdettevilgiveanledningtilmisforstaelser. der-givetenrkkeinputparametre-modicererudseendeogantalafinputkurver.de"obligatoriske"operationerertranslation(givet1kurveogenvektorleveres 1leveres1nykurve). og kurvesammenstning (givet 2 kurver i en bestemt rkkeflge Derskaludfresoperationerpakurverne;hervedvilviforstamekanismer, efteratdenskedeoperationererudfrt,delsdetbillede,derfremkommerved Ved billedet vil vi dels forsta de i 3 dimensioner plottede (se 2.6) kurver, projektionnedpakameraetskoordinatsystem.\billedet"refererersaledesogsa tildenstatiske,rumligekurve-"konstellation",derergivetvedbrugerenskurveogoperationsnsker. pa. Medbrttet vilvimenedetobjektaftypen Graphics,somviskaltegne \Plotning"vilvibenytteomtoforskelligeprocesser: Udregningafkoordinatsttettilenparametriseringsvrdiiengiventid Forbindelseafpunkterneidetprojiceredebilledemedliniestykker Typerafkurver Vi udseende.daviikkeagteratkasteosudiatomstteeninddataltilenfunktion, skal visualisere parametriseringer. Disse kan matematisk set have vilkarligt alstaopndeenkompletmatematisksyntaks(se2.7)forinddata,vilviopdele dekurver,determuligtatfaatse,ityper.hvertypeharsaenrkkeparametre, derkanspeciceres. generelparametrisering.betragteksempelvis Et problem herved er, at enhver kurvetype er et specialtilflde af en mere f(t)=(cost;sint;0) ; t2[0;2] 3Ikildekodenvilviofterefereretil/benvneparametriseringernesom"gurer". 7

8 derparametrisererenhedscirklenir2.denneparametriseringeretspecialtilflde afbadekuglensparametrisering(senedenfor)ogdengenerellespirals f(t)=(cos(at)+c1;sin(bt)+c2;t+c3) ; t2r spiral-parametrisering (derkunharcirkulrgrundformfor er igen et specialtilflde = -ogellerserelliptisk).mendenne struktur,fx.kunneetvilkarligt n'tegradspolynomiumiterstattetrediekoordinatfunktionoglggestilhverafdetofrste,givendeflgendesygeudtryk af en endnu mere generaliseret f(t) = (cos(at)+c1+c2t+:::+cntn; sin(bt)+d1+d2t+:::+dntn; e1+e2t+:::+entn) ; t2r Hvadviskallreherafer,atdeteroptilosatfaststtetyperafkurver.Disse vil betragte altid vre mereet generelle specialtilflde parametriseringer, af noget mere ma vedkommende generelt, og nsker selv tilfje brugeren denne at kurvetype Punkter Vissepunkterkrverspecialbehandling.Brugerenkankrve,atengivenkurves vrditiltident0fremhves. kunneangivestekst-ogtal-vrdierudforgivnepunkter.iforlngelseafdenne Viharogsabrugforspecialpunktertiltegningafkoordinatsystemet;derskal tankegangkunnemanogsaforestillesig,atbrugerenfx.nskedeatforsynevisse punktermedteskt,fx."skringmedy-aksen","lokaltminimum"eller"start". Iafsnittet4.8.2vilviidetaljeretgradovervejesprgsmaletomkringpunkter. 2.5 Typer af operationer Ligesomviinddelerkurverneityper,vilviinddeleoperationerityper.Viskalimplementeredetotyperoperationertranslationogkurvesammenstningsammen medenselvvalgttildemonstrationafdesignetseksibilitet. identiskmedtranslationenafdenenekurve,sadennesstartpunktnetopforenes Vi indser hurtigt, at sammenstningen af 2 kurver som beskrevet i [1] er meddenfrstekurvesslutpunkt. 4Viarbejderkunmedparametriseringerieenvariabel,sarumligegurersasomkugler-eller meregenerelt(dervargeneraliseringenigen!)-ellipsoiderkanikkeidennekontekstparametriseresfuldstndigt(dissegurerkanadeparametriseres).deterdogmuligtatimplementere kurver,derlberpakugle-ogellipsoide-overader,ogaltefterbrugerspeciceredeparametre mereellermindreprcistantyderenrumliggur. 8

9 parametrer1;r2;r3strkkerkurvernemedenfaktorripadeni Af forslag til selvvalgte operationer er en skaleringsfunktion, der tekoordinat, givet tre enrotationsfunktion,derrotererenkurvegraderomkringenbrugerspeciceret linieirummetsamtenfunktion,dervisertangententilengivenkurveietgivent punkt. af eksibilitetshensyn Sidste forslag involverer blive kendskab kasseret, mens til parametriseringens interessen for nstsidste aedte, ogmindskes vil nok kraftigtaf,atdetfrdigeprogramselvkanroterekurverne. Viagterderforimplementereforslagnummer Plotning Viskalfremvisekurver,ogligesomviidenikke-ideellevirkelighedreprsenterer fx.enliniestykkemedenstreg,derngterntsetharenbredde,vilvifremviseen passendereprsentationafkurverne Endeligreprsentationafuendeligpunktmngde Idet oplagtatladeenkurvevrereprsenteretvedenindiceretendeligpunktfamilie,dertilhrerkurvenspunktmngde.vedfremvisningenvilretteliniestykker forbindetopunktermedindeks klart,atreprsentationensprcisiongesmedantalletafpunkteripunktfami- iogi+1ogdermedvisualiserekurven.deter hver egentlig kurve matematisk set er en uendelig punktmngde, er det lien gurerreprsenteresvedkoordinatlister.dissekansapunktforpunktprojiceres Ġivetdennskedespecikationafbilledettilfremvisning,kanaltsasamtlige nedi2dimensioner,hvoreftergureftergur"samles"medliniestykker Kurverogkoordinataksersudstrkning Kurveparametriseringer specicerettidsintervalogkurvetype).begrnservitidsintervallet,forhvilketvi kan have endelig eller uendelig udstrkning (alt efter plotter typer kurver, kurven, dette vil kurvens er pa ingen lngden made altid sandt vreforendelig vilkarlige (narparametriseringer). vi betragter vores Opdelingafkurvestykketipunkterogforbindelseafdissepunktermedliniervil altsamedendeligmangepunkterkunnegiveenvilkarliggodapproximation. altsa Koordinatakserne reprsenteres med i rummet endeligermange uendelige. punkter. DisseDette skal ogsa problem fremvises, vil viogvende skal tilbagetili Hvilkepunkterskalplottes? Viskalopvejeprogrammetskretid,dergesmedantalletafpunkterpr.kurve, modapproximationenskvalitet,derligeledesgesmedpunktantallet.derforma 9

10 enfornuftigbeslutningomantalletafpunktertages,ogherkommeretproblem ispil. etn2nikkendvendigvisgiveenfornuftigpunktmngdetilplotning-hvisvi Givetenkurveparametriseringf(t),t2I=[a;b],davilettilfldigtvalgaf altsavlgerdepunkter,derskalplottes,tilatvremngdenff(a+k(b n a) f0;1;:::;n 1gg(viopsplittertidsintervalleti n 1ligestorebidder(skrer 1)jk2 altsavedialtnpunkter),ogplotterhvertintervalendepunkt).detteskyldes,at kurvenssporikkegennemlbesmedkonstanthastighed. estpunkterafsttes,narkurvengennemlbesmedhjfart.skaldettelykkes Detvilgiveenrelativthjereprcisionmedetkonstantantalpunkter,hvis foros,skalvibrugekurvenshastighedsvektor(somviforkendtekurvetyperogsa nemtkanudledeetmatematiskudtrykfor)ibestemtepunkter.viskalogsatil atvurdere,hvad"hjfart"er.ogudfradisseoplysningerkanpassendepunkter bestemmes. lsningmedhenvisningtilvoresmalstningomeksibilitetogvoresnskeom Vi kan dog allerede pa nuvrede tidspunkt afvise denne noget ambitise overskuelighed. eniethvertpunktveldenerethastighedsvektorgivetvedetlukketudtryk. Hvernykurvetype,mannskerattilfje,villemeddennelsningskullehave hverendvidere-selvomenpassendealgoritmenokvillekunneudregnevorestil foratplottetilstrkkeligmangepunktertil,atfremvisningener"glat"ogfejlfri kurve hrende denition af "hj fart"pa kort tid - vil vi nok blot srge (ellerladeantalplottedepunktervreenbrugerdeneretparameter).detteletterimplementationafnyekurvetyperogforsimplerkoden.omkostningeneren forsvindendelilleforsinkelseogeventuelt\overdige"punkteriplotningen. 2.7 Inddata Vores operationer program er udfrt skal kunne et antal plotte gange en rkke pa visse nskede af kurverne. kurver, efter Herefter at enskal rkke skrmfremstillingenkunneroteresogbeskuesfraforskelligevinkler. 2d- Inddataopdelersigderfornaturligtitohalvdele: Nar Kurver gurerne til plotning. er plottetdennedelafinddataskalkunbenytteseengang. ikkegresigen,frbrugerennskeratbeskueandrekurver. internt i programmet i 3 dimensioner, dette gerenvedhjlpaffremviserprogrammetrotererogskalererbilledet.denne Rotationogprojektion.Dennedelafinddatalevereslbende,narbru- delafinddataleveresvedkaldaffunktionen erbeskrevetiinterfacetforcurveplotter,se[1]. CurvePlotter.draw(),som kendervedkommendesnsker.brugeradenifremviserprogrammettilladerikke Brugeren skal specicere en lang rkke ting, fr programmet overhovedet 10

11 specikationafkurver,parametreogoperationer.detersaledesikkeentrivialitet, hvorledesbrugerenspecicerersinenskertilprogrammet: VedkommendekunneskrivedetienJava-klasse. Vedkommendekunneskrivedetindienl,deroverholderenafosopstillet syntaks. Vi forskelligemenuerogindtastningsfelterkunnekontrollereinddata. kunne programmere en grask ekstra brugerade, hvori brugeren fra skrivesinenskerienlendatkrve,atvedkommendeskullekendetiljava.vi Sidstelsningerforambitis,ogdetermerebrugervenligtatladebrugeren harderforvalgtmidterstemodel.detkrverdog,atviopstillerensyntaksfor inddatalen,ogenmetodetilatafkodebruger-nskernedfldetienlegalsyntaks. Dettevilblivediskuteretdelsunderafsnittet4.2,delsibrugervejledningensafsnit Brugerspeciceredeparametre Tilhvergurvilvialtidladebrugerenkunnespeciceredeoplagte6tal-parametre antalpunktertilplotning,tidstart,tidslut,r,gogb,saledesatfx betyder,atdenpagldendegurskalplottesmed500punkter,parametriseringen skalplottepunktermedtiden skalistandardrgb-modellenvreiforholdet(45,255,120). tlbeneiintervallet[0;2],ogfarvenafkurven vilkarligmangevrdiertilbrugiparametriseringen5. Engursparametrekunnevisaforestilleosvillebestaaf6fasteefterfulgtaf parametre(kurvesammenstning),med3(koordinatsttilentranslationsvektor) Tiloperationererderikkeligesafasteparametre,dissekanangivesudental- ellermed45(densygeoperation,derlggeret44'te-gradspolynomiumevlueret i0tilhverkoordinatiengur).operationsparametreerderaltsaetvilkarligt antalaf. 2.8 Transformationen Vi hvorforvikanklareosmedtre-dimensionalevektorer. henviser til den matematisk tunge argumentation i bilag D. Her forklares, 5Herhenvisestilafsnit

12 2.9 Uddata Det merededelogdendel,viprogrammerer,vilvreen"rumligkasse"projiceretned samlede uddata for det komplette program bestaende af den forprogram- i2dimensioner,ledsagetafetpassendekoordinatsystemogengurmngde,helt indeholdtikassensudsnitaf fraforskelligevinkler. R3.Dettebilledekanroteresogdrejesoganskues entenladehvergurhaveforskelligfarve,ogkoordinatsystemetogbaggrunden Foratgredenne2-dimensionellefremstillinggrasktilfredsstillende,vilvi have brugerdeneret. kontrastiske srfarver, der ikke antages af kurver - eller lade alting vre passendeinddelingforsynetmedtal. Matematisk ville det vre nskeligt, om koordinatsystemet var ledsaget af 12

13 3 Design Vitilsigteratudarbejdeeteksibeltprogramdesign,dermuliggrudvidelseaf programmet. operationstyper;altsaikkeomfattendringafplotningsalgoritmen,syntaksfor Udvidelserne vil dog begrnse sig til tilfjelse af nye kurve- og samtfortolkningafinddatao.l. vilviopnavedatforsgeathaveenlavkoblingmellemdeindgaendeklasser. Vivildogtilstrbe,atudskiftningafprogramdelebliverlettestmuligt.Dette 3.1 Algoritmisk struktur af programmet - ansvar Enoverordnetrkkeprogramtrinskaltydeligviskunudfreseengangpr.inddatal,dvs.eengangforhvergangenbrugernskeratbenytteprogrammetgramtrinanfreetansvar,somenpassendeklasseidesignetmatagesigaf. I den flgende skitse af denne \engangs-algoritme" vil vi under hvert pro- Indlsinddatal,dvs.oversttilforstaeliginternreprsentationaftekst- lensindhold. prsentation Ansvar: Indlse, omstte til intern reprsentation, opbevare intern re- Udfrinddatalenskommandoer,dvs.plotningafgurer,modikationvia operationer. Ansvar:Forstainternreprsentation,kendegur-ogoperationstyper,kunneinitialiseregurerogoperationer Opretetpassendekoordinatsystemtilfremvisningsammenmedbilledet. Ansvar:Kendekoordinatakserneirummet Gemdisseoplysninger,saderkantrkkespadem,hvergangdraw()kaldes. Ansvar:Gemmedataombilledet oprettelseafcurveplotterogendtindlsningafgurer)samlersigietkaldaf Betragtervietjeblikvoresprogramdelheltoverordnet,servi,atalt(efter funktiondraw()medenrkkeparametreogenbrtattegnepa.returvrdien lbende,mensdertegnespabrttet. er en boolean (lykkedes det at tegne frdig eller ej?), da skrmen opdaterer ansvarfrem. Kiggervimereidetaljen,trderenrkkeprogramtrinmeddertilhrende Modtagparametreogetbrt-objektattegnepa,givedemvideretilrette instanser. Ansvar:Koordinerefunktionskald Tagkopi,somvigernemandrei,afoplysningernefrainddatalen. Ansvar:Kopierebilledet 13

14 Modicerkopienviarotationogprojektion. Ansvar:Transformerebilledettil2dimensioner Findpassendekoordinatsystemtilatledsagebilledet. Ansvar:Oprettepassendekoordinatsystem,kendeakserneirummet Tegnkurverogkoordinatsystempabrttet(dissevilsidelbendemedindtegningenvisespaskrmen). Ansvar:Tegnebilledet,kendestrrelsenafbrttet,hvorpadertegnes metsstruktur,skalviogsahavegurerogoperationerispil,derkanholdepa Udoverdeansvar,viharharudkrystalliseretsomenkonsekvensafprogram- informationompunktertilplotning,samt(mankunnekaldedeterfllesansvar foralleklasseriprogrammet)eksibilitetmht.udvidelse. tionmedgurerogoperationerforegarpaheltbestemtemader.vivilmedandre Dettefllesansvarkanvidoghurtigtreduceretiletkravom,atkommunika- orddenereetfllesinterfacefornyegurerogoperationer.opfylderentilfjet nygurelleroperationdetteinterface,kanprogrammetafvikles. 3.2 Design Patterns Vednrmerebetragtningafdeopgaver,derskaludfresunderprogramafviklingen,servihurtigtetparstrukturerdergarigen. vektorerskalsakunnemodicereseenforeen,narvieksempelvisladerenoperationpagurenudfres,ellernarviladerenmatrixvirkepahvervektor.imange forskelligesituationererdetpraktiskatbesgeetobjekt(fx.en Vector)ogmodicereobjektetsattributter.Denneobservationgiverosinspira- Figureelleren Forhvergurskalenlisteafpunkterellerstedvektorerfordisseplottes.Disse tiontilatanvendevisitor-mnstret,derigenbenytteriterator-mnstret. detklassernefiguremanagerogreadinputlinehjlpermedatsikrevoresmal, nemligbrugafstandardiseringerafgur-ogoperatorklassersamtinddatatype. eksible design nem tilfjelse af nye gurer operatorer. Disse gr Fleksibelindlsningmuliggrbrugafdesignpatterns Selveindlsningsalgoritmenerbeskreveti7.5.Indlsningenoginitialiseringen af kurvetilfjelserikkebetyder,atmanskalndreidenoprindeligekildekode.blot gurer og operatorer pa den heri beskrevne made sikrer, at operator- og skaletinterfaceoverholdes. ladendedesignetseksibilitet.vihardogsknnet,attilfjelseafnyeklasserer Defastlagteparameterstrukturerforgurerogoperatorermindskertilsyne- et behovet vigtigere for for at tilfje eksibiliteten nye gur- endogbrugerbestemte operatorklasserparametre, langt overstiger idet vi behovet mener, for at ndringerafparametre. 14

15 gur-ogoperationstyper. Deparametre,viharvalgt,erbredtfavnendeogkanformentligdkkedeeste mnstermedfordel. Vha. denne eksible indlsning kan vi implementere det nskede design Operationerpagurerogdesignmnstre Da operatorerdesignetsomvisitorerumuligt.istedetharoperator-klassenfaetet der i operationer pa gurer kan indga ere gurer, er et design med alle megetenkeltogikke-krvendeinterface. af. Faktiskerdetkunndvendigtatvide,hvormangegureroperatorengrbrug somermodiceretpabaggrundafindkomnegurer.igenkrvervoresdesign, Derudover skal operatoren besidde en metode, der returnerer nogle gurer, atderaltidbliverreturneretgurer,daeksempelvisopsplitningafgurerellers villevreumulig(nyegurerkankommetilellernogleafdemodtagnekanblive slettet). ogreturneredisseherefter.isafaldviloperatorernegrebrugafvisitorer,der Deterklart,atdeesteoperatorerblotvilmodiceredeindkomnegurer besgerhvergurmeden-ioperatorendeneret-visitor.fordideesteoperatorerblotharforskelligevisitorer,hardenabstrakteoperator-klasse implementeret den metode, der modicerer de indkomne gurer. Metoden OperatorA brugafenaccessor-metode,somreturnerervisitoren.dennemetodekansaoverskrives. gr ureneindholderen Visitor-designpatterneterimplementeretafgur-klasserneved,atalleg- benytterdennesdovisit()-metodepassendesteder.visitorenkanimplementeres publicmetodevisit(),somnetopmodtagerenvisitorog forskellige klasseioperatorenellerdenskalvreekstern.visitorenskalselvflgeligopfylde steder, og der stilles ingen krav til om visitoren skal vre en intern interfacettilgurernesvisitor. 3.3 Klasser Vedbetragtningafproblemstillingenudkrystalliseresnaturligtenrkkeobjektog tegningafbilledetpadetudleveredebrt,koordinationafdissehandlinger.dette problemtyper: Figurer, operationer, vektorer, matricer, et koordinatsystem, erillustreretpagur1,see Kontrologadministration Klasser:CurvePlotter, Objekter af disse klasserfiguremanager, eksisterer der kuntransform disse har hver isr veldenerede styrende roller. een afderes underprogramudvikling,og fremgaafgur2og3ibilagene. prcise funktioner vil 15

16 3.3.2 Figurer Fllesforallegurtyperneerenrkkekarakteristikaogansvar.Disseplaceres Klasser:FigureI, FigureA, Subclasses... derforienabstraktsuperklasse. Atkunnemodtageenrkkeinputparametreogomsttedissetilenkonkret parametriseringsforskrift. Atevalueresinvrditilengiventid,vedgentagneberegningeraltsaplotning. Atgemmeinformationomspeciellepunkter,derfx.skalmarkeres. Atvremodicerbareviaoperationer. Givetetbrtattegnesigselv. Atvrekopierbare,altsacloneable. ne,endvidereliggerdennebeslutningiforlngelseafkonventionelgraskjava- programmering. Atfunktionendrawplaceresihvergursikrer,atkodenindkapslesigurer Operationer Klasser:OperatorI, Flles for operationeroperatora, er, de givet Subclasses m gurer... parametrereturnererknyegurer. og n meningsfyldte tilhrende gurerneogunderbesgetmodiceretgurerneslagredekoordinaterpapassende Vivilividestmuligudstrknnigdesigneoperationersomvisitorer,derbesger vis,somnvntovenfor Vektorerogmatricer Klasser:Vector, Disseklasserlagrerkoordinatstogeransvarligeforatkunneudfrestandar- VectorX, Matrix doperationer(matrixprodukt,krydsprodukt,vektoradditionosv.)padissekoor- dinatst. distinktionen Matematisk VectorogVectorX.Dettebunderi,atvimangestederbenytter set er der ikke forskel pa vektorer, som vi antyder med vektorerudenbehovforvektoroperationer(sahvorforgivedeindgaendeobjekter redundantemetoder?).ligeledesermatricerjogeneraliseredevektorer(ellervektorereretspecialtilfldeafmatricer);atviharoprettetseparateklasserskyldes etdesign-ogoverbliksmssigtskn. Detvisersigimidlertid,atvoresproblemerkanlsesindenforde3-dimensionelle Endviderekandetanfres,atvektorerikkendvendigviser3-dimensionale. 16

17 vektorer: hellerikkeuundvrlige-vivilblotkiggepa3-dimensionelle,hvorviserbortfra De 4-dimensionale kan undvres i henhold til dimensionale er sidstekoordinat. Derforvilviudelukkendeimplementere3d-vektorer. dkapsleinformationpapassendevis. Objekterafdisseklasser,Vector, VectorXsamtMatrix,benyttestilatin- somderviltypiskvremangevector-objekterispil(punkterlagresvedplotning Matrix-objekter Vector-objekter). ved udregningen VectorX-objekter af denvil matrix kun og benyttes de vektorer, sammender med beskriver et par transformationenfra3dimensionertiletbegrnsetudsnitaf2dimensioner,eller eksisteremidlertidigt Srligepunkter Klasser:Point Tilhvergurerknyttetsrligepunkter,derskalmarkeres.Informationomdisse punkterlagresiobjekteraftypenpoint.disseerligesomgurerneudstyretmed en parametre7. draw-funktion, derunder tegningen tagerhjde for despecicerede special Designpatterns Klasser:Visitor, Disseklassereralleredebeskrevetunderafsnittet3.2. VectorVisitorI enspecikationafvisitor-interfacet,saledesatdetbesgteobjektskalvreen VectorVisitorI erblot vektor Indlsning Klasser:ReadInputLines, Disse klasser star for, som dels InputLine datalenpaenmade,dersikrerlavestmuligkoblingmellemklasserne. beskrevet i 3.2.1, og dels i 4.2, at indlse indparametre, Vi nsker hvorfor altsa at dergeneralisere altsa ikke ndvendigvis inddatas udseende vil vre forde gur- 6 faste og operations- tilgurerne,somnvnti2.7.1.vitilsigter,atparameterantalletafhensyntil parametre udvidelsesmulighederneervilkarligt Undtagelser Endvidere RuntimeException. vil vi designe en rkke undtagelser, som alle vil arve fra klassen 6Javas\clean-up"fjernerobjekterudenreferencertilsig. 7Detteharviikkenaetatimplementere,meniteorienerdetikkealenemuligt,menkrver ikkeandenndringafkildekoden 17

18 4 Programmeringsovervejelser 4.1 Implementation af design Voresimplementationafprogrammetvilihvertfaldpasystemarkitektoniskplan flgedetudviklededesignfuldstndigt.deenkeltemodulervilformentligtafvige marginaltfradetidesignetudtnkte,fx.viletbestemtstmetoderogvariable ikkealtidndvendigvismodsvareetbestemtansvarudledtidesignet. overvejelserindenimplementationen. Vivilnedenforgaidetaljermeddedeleafdesignet,derkrveryderligere 4.2 Inddata konkretiseredensopgaver. I designet har vi en separat klasse til indlsning, ReadInputLines. Vi vil her Inddatakommandoerlagresilisteaflinier Voresindlsningafinddataskervedatderlseslinieforlinieienbrugerforfattettekstl,somerkonstrueretefternoglenjeregler.Ideeneratsystemetved indlsningen deresparametre,selvomantalletafparametremattevariere. skal kunne kende forskel pa gurer og operatorer og kan indlse denpagldendelinie,etobjektaftypeninputline.dissegemmesietarrayaf Hver linie vil vi omstte til den interne reprsentation af kommandoen i InputLine's,somsakansendesvideretildenfortolkendeenhed,FigureManager. Hervedadskillesindlsningfrarestenafprogrammet. danafviklingsmeekanismenfiguremanagerskalfortolkeinput. Derskalaltsaopstillesreglerfor,hvordangyldiginddatanedfldes,oghvor- derviharvalgtenmaskelidtindvikletsyntaktiskogindlsningsmssigtlsning, tnkeligeparametre. til gengld gr det muligt for brugeren af programmet at regulere pa alle Syntaksenvilfremgaafbrugervejledningensafsnit Indkommendetalparametre ing. TalparametrevilvigemmeiJava-typendouble.Se4.3forovervejelseromafrund- inputvrdier Determeddouble'sproblematiskatangiveirrationaleellersrdelesprcise matematiskutilfredsstillendevis:ivoresinddata-lserer som eksempelvis eller e. Dette problem har =sinafrundingtil ma vi lse pa en double.brugerenkanaltsaikkeeskplicitiinddataangivetallet,somjoheller ikkekanlagresimaskinen,menblotenapproximativreelvrdisom3:1415::: 18

19 4.2.3 Fortolkningafinddata Administrationen klassenfiguremanager,sommodtagerinddatalensometarrayafinputline's. af oprettelsen af gurer og operatorer foregar i et objekt af brugervejledningens7.5.dennealgoritmesikrerfornuftigtydningafinddatalens Dettegennemlbessaogbehandlesviaenstak-algoritme,dererbeskreveti kommandoerudenmisforstaelser. gurerogoperatorer,sombrugerenharangivet,oprettetoglagtitostakke.vi Efterhanden som arrayet af InputLine's gennemlbes, bliver de forskellige harmegettidligtidesignfasennsketatholdeangivelsenafsystemetsgurerog operatorerudenforsystemet.detskullealtsavremuligtatspeciceregurerog operatorer,somsystemetiudviklingsfasenikkekendtetil.denneadskillelseer lykkesvedbrugafjava'sstandardklasse,classloader.vedhjlpafdenneklasse er bliver detoprettet muligt atved indlse initialisering en klasseafudfra FigureManager en tekststreng. pa baggrund ClassLoader-objektet standard-classloader. af systemets indgaroprettelseafetobjektafklassenconstructor,hvorpavibrugermetoden Selveoprettelsenafengurellerenoperatorerenanelsekompliceret,dader afklassenclass,dadeangiverkonstruktrensparameter-klasser. newinstance(),somtagerenlisteafobject's.object-objekterneskalallevre 4.3 Afrundingsfejl Vi ydende arbejder tal. med Denne Java-typen type er (ikke double srlig) alle de begrnset steder, vi (8har bytes), brugsa forafrundings- fejl marginaleafvigelsevilikkefakonsekvenserforhverkenfremvisningelleranden vil opsta. Vi arbejder altsa med en svkket prcision undervejs. Denne lagring af programkrsel. 4.4 Vrdibrende objekter er ikke konstante signdredes.ivoresimplementationagterviimidlertidatndrekoordinaterne ObjekteraftypenVector,VectorXellerMatrixvillemannormaltikkeforestille tiletvektorobjektvreforanderlige.eksempelvisskalviudfreoperationerpa gurerspunktlisterellerskaltransformereenvektortil2dimensioner. Ligeledes ville man ikke matematisk opfatte to vektortranslaterede8 medsammeparametriseringsomens.idesignettilsidesttesdissematematiske kurver konventionerafhensyntildetobjektorienteredeendeligelayoutsamtnsketom atimplementerevisitor,derkanndreengursudseendevedatbesgehvert plottetkoordinatst. 8Medenandenvektorendnul-vektoren,se'f'li';-) 19

20 4.5 Undtagelser Undtagelserbenyttes,narnogetfataltelleruigennemfrligtopstarundervejsien programafvikling. inddata Iprincippetskalintetjokunnegagaltivoresprogram,hvisbrugerenskriver derkunkanskyldesos.eksempelvisvilviopretteundtagelseriforbindelsemed i korrekt syntaks. Ikke desto mindre vil vi tage hjde for problemer, matrixmultiplikation overensstemmende).disseogtilsvarendeundtagelsererinformativeforeventuelle (der jo kun er deneret hvis matricernes dimensioner er videreudviklerepaprogrammetogndvendige,hvis,foreksempel,matrix-klassen isoleretskullebenyttesienandensammenhng9. selvomdeikkevilblivekastetafos,narprogrammetkres. Af dissearsager har vi altsa implementeret alle vigtige undtagelser, ogsa 4.6 Beregninger og kretid Vivilikkekunneundgaenrkke\overdige"beregninger.Samtligegurerskal plottesi3dimensioner,deterklart.herefterskalderoteresogprojiceresnedi2 dimensionervha.forskriftenangiveti[1].oftevilikkealtafdeti3dimensioner plottedekunnesespaskrmbilledet.deterderforspildatprojicerepunkter,der alligevelikkeskalvises. ticererherinddatamngdenn Sadan\overdig"plotningforvrrerimidlertidikkevoreskretid.Viiden- ogtegnes,idetplotningeni3dimensionererenengangshandlingogdermedikke somantalletafpunkter,derskaltransformeres kommertilatpavirkebrugenafprogrammet.betragteshhv.transformations-og indtegningstidenforhvertpunktsomkonstanteraogb,viltidenfortransformationogindtegningafetpunktvrean+bn.kretidenvilderforvre(a+b)n, hvornerantalletafplottedepunkter.tidskompleksitetenersaledeskuno(n). 4.7 Koordinatakserne i uddata Vores endeligudsnitafakserne,mendetteudsnitafhngerreeltsetafvinklen,hvorfra uddata skal ogsa indeholde passende koordinatakser. Vi skal fremvise et dersesmodorigo.istedetforenkompliceretalgoritmetilatvaretageenefter jepunktetpassendebeskringafakserne(beskringerndvendigforatkunne plottemedendeligmangepunkter),kanmanvlgeforskelligemetodertilvalg afkoordinatsystem. rummetafformen[b1 Narbilledetafallegurererfrdigplottet,vilderndesenmindstekassei tede punktmngde. Mana1] [b2 kunne lade a2] [b3 koordinatakserne a3],dernetopomslutterdenplot- dennekassessider,kunafhngendeafinddata(ogderforkanfremstillesengang vre liniestykker langs 9Vivilnokbenytteosaf,atvikunbehverathandteretre-dimensionellevektorertilat grematrix-klassenskodesimplere(ogdermedikkegenereltbrugbar). 20

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

Kursus navn: Indledende programmering Kursus nr. 02101

Kursus navn: Indledende programmering Kursus nr. 02101 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne. Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

Læs mere

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11 DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%

Læs mere

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

Videregående Programmering for Diplom-E Noter

Videregående Programmering for Diplom-E Noter Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status

Læs mere

Singleton pattern i C#

Singleton pattern i C# Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave:

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)

Læs mere

Fagets IT Introduktion til MATLAB

Fagets IT Introduktion til MATLAB Fagets IT Introduktion til MATLAB Mads G. Christensen mgc@kom.auc.dk Afdeling for Kommunikationsteknologi, Aalborg Universitet. MATLAB 2002 p.1/28 Kursusoversigt 1. Introduktion, matrix-indeksering, -operationer

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt) antal elementer Afleveringsopgave:

Læs mere

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree. Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

Bilag 1 Rige billeder Ordremodtagelse

Bilag 1 Rige billeder Ordremodtagelse Bilag1 Rigebilleder Ordremodtagelse Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 71 Overordnet Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 72 Produktionsgulvet Tværfagligtprojektpå2.Semester

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

Klasser og nedarvning

Klasser og nedarvning Datalogi C, Efterår 2004 OH er, forelæsning 21/9-2004 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Opgaven til senere: Generalisere

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

Læs mere

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering

Læs mere

SWC Elementer i klassedefinition

SWC Elementer i klassedefinition SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...

Læs mere

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 7 DM -. Obligatoriske Opgave Løsning af ligningssystem vha. fipunktmetoden Jacob Christiansen, 8 moffe@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense. Opgaven Der skal implementeres

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1. Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

Ting man gør med Vektorfunktioner

Ting man gør med Vektorfunktioner Ting man gør med Vektorfunktioner Frank Nasser. april 11 c 8-11. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

DM536. Rapport og debug

DM536. Rapport og debug DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Offset til terminalskærm i Java

Offset til terminalskærm i Java Denne guide er oprindeligt udgivet på Eksperten.dk Offset til terminalskærm i Java Ikke en atikkel - men en Classe til java der gør det nemt at skrive ud på avancerede måder når man kun opererer i dosvindue.

Læs mere

Skriftlig Eksamen. Datastrukturer og Algoritmer (DM02) Institut for Matematik og Datalogi. Odense Universitet. Torsdag den 6. juni 1996, kl.

Skriftlig Eksamen. Datastrukturer og Algoritmer (DM02) Institut for Matematik og Datalogi. Odense Universitet. Torsdag den 6. juni 1996, kl. Skriftlig Eksamen Datastrktrer og Algoritmer (DM0) Institt for Matematik og Datalogi Odense Universitet Torsdag den 6. jni 1996, kl. 9{13 Alle sdvanlige hjlpemidler (lrebger, notater, etc.) samt brg af

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet

Læs mere

HTX, RTG. Rumlige Figurer. Matematik og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6 DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...

Læs mere

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse

Læs mere

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7 DM01 DM01 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 13/5-2003 Side 1 af 7 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DNA2:...4 2.1.1 METODER:...4

Læs mere

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter..

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter.. 9.8 Kildekode Pakke Klasse Sidenummer db Aktivitetstype 91 Behandler 91 ConnectDB 92 DagensKommentar 93 Helligdag 94 IkkePrimaerTid 94 Patient 96 Patientaftale 96 PatientAktivitet 97 Patientgruppe 98 PatientgruppeItem

Læs mere

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller

Læs mere

Ting man gør med Vektorfunktioner

Ting man gør med Vektorfunktioner Ting man gør med Vektorfunktioner Frank Villa 3. august 13 Dette dokument er en del af MatBog.dk 8-1. IT Teaching Tools. ISBN-13: 978-87-9775--9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel

Læs mere

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning Institut for Matematik og Datalogi Syddansk Universitet, Odense 21. februar 2011 LMF DM507 Eksamen Obligatorisk Opgave Rejseplanlægning 1 Problemet Denne opgave går ud på at lave et program, som ud fra

Læs mere

public Set(int size) { this.listelement = new LinkedList<Integer>(); }

public Set(int size) { this.listelement = new LinkedList<Integer>(); } // Henri AYCARD import java.util.linkedlist; public class Set { private LinkedList listelement; public Set(int size) { this.listelement = new LinkedList(); public boolean contains(int

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

Note om RMI af Peter Kjærsgaard

Note om RMI af Peter Kjærsgaard Note om RMI af Peter Kjærsgaard 1. Filosofi Filosofien i RMI er, at et objekt på en server skal kunne kaldes fra en klient, som om server-objektet lå på klienten. RMI er dermed på et højere niveau end

Læs mere

Klienten. import java.util.*;

Klienten. import java.util.*; Klienten import java.util.*; * Aktiviteter er et model element, som indeholder blandt andet psimetiks beskrivleser. * @author rling public class Aktivitet extends Beholder implements HarEOgA, HarTilknytning,

Læs mere

Sekvenser af længde mellem 1 og 4 ord repræsenteres ved en klasse Segment, som uden grundlæggende ser således ud:

Sekvenser af længde mellem 1 og 4 ord repræsenteres ved en klasse Segment, som uden grundlæggende ser således ud: Besvarelse af opgave til formuleret til øvelserne 10. september 2002 Datastrukturer og algoritmer Henning Christiansen 22/9-2002 Følgende er ikke en eksakt besvarelse af opgaven, idet den benytter hashtabeller

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList klassen Gør det let at lave en objektsamling (collection) med et variabelt antal elementer Der er mange andre slags objektsamlinger (se Collection interfacet i JavaDoc)

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

Crash Course i Programmering. HumTek, RUC

Crash Course i Programmering. HumTek, RUC Crash Course i Programmering HumTek, RUC Kursus mål At give en basal introduktion til programmering i sproget Processing At give et overblik over sprogets potentiale At have det sjovt :-) Kursus form Meget

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere