|
|
- Toril Thorstensen
- 8 år siden
- Visninger:
Transkript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 C:\>cd \eclipse\workspace C:\eclipse\workspace>mkdir exampleproject C:\eclipse\workspace>cd exampleproject C:\eclipse\workspace\exampleproject>copy..\lib-coretrek-buildsys\antscript\webapp-build.xml-TEMPLATE build.xml C:\eclipse\workspace\exampleproject>ant create cd eclipse/workspace/ mkdir exampleproject cd exampleproject cp../lib-coretrek-buildsys/antscript/webapp-build.xml-template build.xml
23 ant create
24
25
26
27 ## I webmacro, linjer som begynner med ## er kommentar linjer ## Eksempel variabel navn: $variabel ## Kalle opp metoden getvalue(): $variabel.getvalue() ## Hente ut instans variabel "public String instancevar": $variabel.instancevar ## Hente ut statisk variabel "public static String STATIC_VAR": $variabel.static_var
28 ## Gitt følgende WebMacro tekst: $variable.name ## Så vil følgende oppslag bli prøvd: 1. Instans variabelen "Name" på objektet $variable 2. Den statisk variaben "Name" på objektet $variable 3. $variable.getname() 4. $variable.isname() 5. $variable.get("name") $variable.object.value $variable.getobjectbyid($id).name
29 #set $variablereference = <Expression> ## En variabel kan settes til en streng #set $var = "Value" ## En kan også kalle på metoder og lagre resultatet #set $varlength = $var.length() ## Å bruke uttryk er også gyldig #set $sum = #if () BLOCK [#elseif () BLOCK] [#else BLOCK] #if (<test>) Resultat1 #elseif (<test2>) Resultat2 #else Resultat3 #end
30 #foreach $listentry in $collection[indexing $indexvariable[ from $fromvariable][ limit $ <table> #foreach $entry in $list <tr> <td>$entry.name</td> <td>$entry.value</td> </tr> #end </table> #count $i from $start to $end[ step $step] #set $start = 100 #set $end = 1 #set $step = -1 #count $i from $start to $end step $step $i. I like WebMacro<br /> #end #alternate $variable through $collection ## Notasjonen [ <var>, <var> ] lar deg lage lister rett i WebMacro koden ## Listen kan ha flere enn bare 2 elementer som vist her #alternate $rowcolor through ["#ffffff", "#dddddd"] <table>
31 <tr bgcolor="$rowcolor"> </tr> <tr bgcolor="$rowcolor"> </tr> <tr bgcolor="$rowcolor"> </tr> </table> ## resultatet her blir #ffffff for første og siste, og #dddddd for den i midten. #text BLOCK #text #if her vil ikke bli tolket som en #if #end #macro ($argument,...) BLOCK ## Her definerer vi en macro som tar ett argument, $param, som den skriver ut i bold #macro testmacro($param) <b>$param</b> #end ## Her sender vi inn teksten "test" som ett parameter, resultatet blir at det her står <b>test</b> #macro("test")
32 #include [as text as template as macro] $filename ## Include as text gjør at filen blir lest rått og innholdet satt inn #include as text "info.txt" ## Include as template gjør at filen blir parset som om innholdet stod direkte her #include as template "template.wm" ## Include as macro brukes for filer der en sammler sammen flere #macro kommandoer #include as macro "macros.wm" import java.io.bytearrayoutputstream; import java.io.ioexception; import java.io.outputstream; import java.util.map; import org.webmacro.context; import org.webmacro.fastwriter; import org.webmacro.initexception; import org.webmacro.propertyexception; import org.webmacro.resourceexception; import org.webmacro.template; import org.webmacro.wm; /** * Dette er en liten hjelpeklasse for å rendere webmacro filer. */ public class WebMacroRenderer { private String _template; private WM _wm; public WebMacroRenderer(String template) throws InitException { _template = template; // initialiser WebMacro instansen _wm = new WM(); public void render(outputstream stream, Map contextmap) throws ResourceException, PropertyException, IOException { // For å kunne rendere en WM fil, så trenger vi Template objeketet. Dette // er fordi WebMacro cacher parse resultatet fra en fil. Template template = _wm.gettemplate(_template);
33 // For å parse en fil så trenger vi en FastWriter til å skrive. Denne // peker vi på OutputStreamen som vi får inn, og setter encoding til ISO FastWriter fastwriter = new FastWriter(_wm.getBroker(), stream, "ISO "); // Contexten er det objektet som inneholder alle variabler som er tilgjengelig i en // WebMacro fil. Vi kan også fylle den med data før parsing for å sende variabler inn // til WM filen. Contexten er en utvidelse av Map, og vi fyller den med det mapet // som har blitt sendt inn. Context context = _wm.getcontext(); context.putall(contextmap); // Render templaten med det FastWriter objektet vi har laget og den konteksten vi // har template.write(fastwriter, context); // Flush fastwriteren, slik at resultatet blir skrevet ut. fastwriter.flush(); public String rendertostring(map context) throws PropertyException, ResourceException, IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); render(baos, context); baos.close(); return new String(baos.toByteArray(), "ISO "); import java.util.hashmap; import java.util.map; public class WebMacroMain { // Generer template navn utifra klassenavn. Dette slik at det bare er å lage en template med // samme navn som klassen i den pakken som WebMacroMain ligger. private static final String TEMPLATE = WebMacroMain.class.getName().replace('.','/')+".wm"; public static void main(string[] args) throws Exception { // Opprett en renderer for filen vår. WebMacroRenderer renderer = new WebMacroRenderer(TEMPLATE); // Lag og fyll en Context Map context = new HashMap(); // Render resultatet til Syste,out. renderer.render(system.out, context);
34
35 public class SomeCorelet extends Corelet { private static final String TEMPLATE = SomeCorelet.class.getName().replace('.','/')+".wm"; public String gettemplate() { return TEMPLATE;
36 package com.coretrek.kurs; import com.corelet.corelet; public class HelloWorld extends Corelet { private static final String TEMPLATE = HelloWorld.class.getName().replace('.','/')+".wm"; private static final String TITLE = "Hello World"; public String gettitle() { return TITLE; public String gettemplate() { return TEMPLATE;
37 <span class="normal">hello World</span> <Module id="example"> <Corelet id="helloworld" class="com.coretrek.kurs.helloworld" size="small"> <Addable application="true" portal="true" /> </Corelet> </Module>
38 ModuleId[.ModuleId] CoreletId
39 <a href="parameters?$this:key=value">send key=value to $this</a> <form method="post" action="parameters"> <input type="text" name="$this:text" /> </form> public void process(coreletrequest creq, CoreletResponse cres)
40 public void sendparameter(string coreletid, String parametername, Object parametervalue)
41
42 <img src="$spaceimage" width="1" height="1" />
43
44
45
46 <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE Config SYSTEM "corelets.dtd"> <Config> <!-- Mange forskjellige tager som kun gjelder for server oppsettet --> <Modules> <Module id="test"> <Corelet id="test" class="com.test.test" size="small"> <Addable portal="true" application="true" /> </Corelet> </Module> </Modules> </Config>
47 <!-- Den første Entryen her inneholder kun en String --> <Entry key="string">stringvalue</entry> <!-- Denne Entryen inneholder en liste, man må caste til java.util.list når den hentes ut. --> <Entry key="list"> <Value>Entry 1</Value> <Value>Entry 2</Value> <Value>Entry 3</Value> <Value>Entry 4</Value> </Entry> <!-- Denne entryen inneholder ett nytt map inne i seg selv. En må cate til java.util.map når verdien henter ut. --> <Entry key="map"> <Entry key="subkey1">subvalue 1</Entry> <Entry key="subkey2">subvalue 2</Entry> <Entry key="subkey3">subvalue 3</Entry> <Entry key="subkey4">subvalue 4</Entry> </Entry> <!-- Her er ett eksempel som bruker flere ting om en annen. Man må kjenne til strukturen i koden der man leser ut innholdet --> <Entry key="mix"> <Value> <Entry key="submap">submapvalue</entry> <Entry key="somethingelse">value</entry> </Value> <Value>String</Value> <Value> <Value>2</Value> <Value>4</Value> <Value>6</Value> <Value>8</Value> </Value> <Value> <Entry key="map">
48 <Value>TEXT</Value> </Entry> </Value> </Entry> #set $coreletid = $this.getsiblingid("popupcorelet") #set $popupwidth = 200 #set $popupheight = 400 ## Vanlig popup <a href="javascript:popup($coreletid, $popupwidth, $popupheight)">popup</a> ## popup mede paramter <a href="javascript:popup("$coreletid&$coreletid:para1=val&$coreletid:para2=val", $popupwidth, $popupheight)">popup</a>
49
50
51
52 mins hours dates months days 0,30 * * * *
53 0 0 1 * * run()
54
55 com.corelet.event.event Listener.EVENT_ID_USER_ SESSION_ADDED_MASTER com.corelet.event.event Listener.EVENT_ID_USER_ SESSION_ADDED_SHARED com.corelet.event.event Listener.EVENT_ID_REMOV E_USER_SESSION_MASTER com.corelet.event.event Listener.EVENT_ID_REMOV E_USER_SESSION_SHARED com.corelet.event.event Listener.EVENT_ID_DOMAI N_LOGGEDIN com.corelet.event.event Listener.EVENT_ID_LOGOU T_DOMAIN fireevent
56 corelets.xml corelets.xml corelets.xml <Authentication masterchainid="--chain ID ref--" optionalchainid="--chain ID ref--" logoutchainid="--chain ID ref--"> <AuthenticationSystemMappings defaultmasterchainid="--chain ID ref--" fileuploaddownloadchainid="--chain ID ref--" optionalchainid="--chain ID ref--" /> <StateStore class="--statestore class--"> </StateStore> <SessionKeepers> <SessionKeeper id="--session keeper ID--" class="--session keeper class--"> </SessionKeeper> </SessionKeepers> <AuthenticationSources> <AuthenticationSource id="--authentication source ID--" class="--authentication source class--"> </AuthenticationSource> </AuthenticationSources>
57 <AuthenticationSourceStacks> <AuthenticationSourceStack id="--authentication stack ID--"> <AuthenticationSourceRef sourceref="--authentication source ID ref--" /> </AuthenticationSourceStack> </AuthenticationSourceStacks> <AuthenticationMethods> <AuthenticationMethod id="--authentication method ID--" class="--authentication method class--"> </AuthenticationMethod> </AuthenticationMethods> <AuthenticationChains> <AuthenticationChain id="--chain ID--" defaultstackref="--authentication stack ID ref--" sessionkeeperref="--session keeper ID ref--" mastersession="--true/false--"> <AlreadyLoggedInAuthenticationMethodRef methodref="--authentication method ID ref--" /> <AuthenticationMethodRef methodref="--authentication method ID ref--" /> </AuthenticationChain> </AuthenticationChains> </Authentication> <AuthenticationSources> <!-- Simple SQL authentication with users and domains. No groups, etc. --> <AuthenticationSource id="simpledb_ct-domain" class="com.coretrek.machete.auth.std.source.simpledb.simpledbauthenticationsource"> <Alias absoluteid="dbsrc_ct-domain" /> <Entry key="connectionid">ct-domain</entry> <Entry key="databasefailurehaltsstartup">false</entry> </AuthenticationSource> </AuthenticationSources> <AuthenticationSourceStacks>
58 <!-- Only use the simple SQL based authentication system --> <AuthenticationSourceStack id="dbstack"> <Alias id="default" /> <AuthenticationSourceRef sourceref="dbsrc_ct-domain" /> </AuthenticationSourceStack> </AuthenticationSourceStacks> <AuthenticationMethods> <AuthenticationMethod id="htmlform" class="com.coretrek.machete.auth.std.method.htmlformauthenticationmethod"> <!-- <Entry key="singledomain">default</entry> --> <Entry key="loginpage">com/coretrek/machete/auth/std/method/login.wm</entry> <Entry key="takenoverpage">com/coretrek/machete/auth/std/method/takenover.wm</entry> </AuthenticationMethod> </AuthenticationMethods>
59 <SessionKeepers> <SessionKeeper id="httpsessionbasedsessionkeeper" class="com.coretrek.machete.auth.std.sessionkeeper.servlet.httpsessionbasedsessionkeeper"> <Alias absoluteid="default" /> </SessionKeeper> </SessionKeepers> <StateStore class="com.coretrek.machete.auth.std.statestore.sql.sqlstatestore"> <Entry key="connectionid">ct-domain</entry> <Entry key="databasefailurehaltsstartup">false</entry> </StateStore>
60 <AuthenticationChains> <AuthenticationChain id="html Form" defaultstackref="default" sessionkeeperref="default" mastersession="true"> <AlreadyLoggedInAuthenticationMethodRef methodref="htmlform" /> <AuthenticationMethodRef methodref="sessionkeeper" /> <AuthenticationMethodRef methodref="ccscookie" /> <AuthenticationMethodRef methodref="popupblocker" /> <AuthenticationMethodRef methodref="htmlform" /> </AuthenticationChain> </AuthenticationChains> <Authentication masterchainid="html Form" optionalchainid="optional-shared" logoutchainid="logout-chain">
61 <AuthenticationSystemMappings defaultmasterchainid="html Form" fileuploaddownloadchainid="http BASIC-shared" optionalchainid="optional-shared" />
62 <AuthenticationChain id="html Form + Anonymous" defaultstackref="default" sessionkeeperref="httpsessioninactivityintervalboostingsessionkeeper" mastersession="true"> <AlreadyLoggedInAuthenticationMethodRef methodref="htmlform" /> <AuthenticationMethodRef methodref="cookietester" /> <AuthenticationMethodRef methodref="anonymoushtmlsnoop" /> <AuthenticationMethodRef methodref="sessionkeeper" /> <AuthenticationMethodRef methodref="ccscookie" /> <AuthenticationMethodRef methodref="popupblocker" /> <AuthenticationMethodRef methodref="anonymoususer" /> <!-- This method generates a AnonymousUser --> </AuthenticationChain> corelets.xml
63 corelets.xml <AdminServlet password="default" />
64
65
66
67 logconfig.xml logconfig.xml
68 registerrss getrssnewsitems reloadrss getregisteredrssfeeds incrementcounter getcurrentvalue getupdatetimes percentagehit eventtofire percentagehit eventtofire
69 public class ExampleStateCorelet extends Corelet implements Stateful { private ExampleState _instancestate; private ExampleState _globalstate; public void setinstancestate(state state) { _instancestate = (state == null)? new ExampleState() : (ExampleState) state; public void getinstancestate() { return _instancestate; public void setglobalstate(state state) { _globalstate = (state == null)? new ExampleState() : (ExampleState) state; public void getglobalstate() { return _globalstate; // Corelet methods // State class definiton public static class ExampleState extends State { setxxxstate getxxxstate
70 public class ExampleStatefulCorelet extends StatefulCorelet { private ExampleState _instancestate; private ExampleState _globalstate; public void process(coreletrequest creq, CoreletResponse cres) { if (_instancestate == null) { _instancestate = (ExampleState) getinstancestate(); if (_instancestate == null) { _instancestate = new ExampleState(); setinstancestate(_instancestate); if (_globalstate == null) { _globalstate = (ExampleState) getglobalstate(); if (_globalstate == null) { _globalstate = new ExampleState(); setglobalstate(_globalstate); // State class definiton public static class ExampleState extends State { getxxxstate setxxxstate getmodulestate setmodulestate public ExampleState getmodulestate() { if (_modulestate == null) { _modulestate = (ExampleState) user.getmodulestate(getcoreletconfig().getmoduleconfig()); if (_modulestate == null) { _modulestate = new ExampleState(); user.setmodulestate(getcoreletconfig().getmoduleconfig(), _modulestate); return _modulestate;
71 _modulestate public ExampleState getdomaincoreletstate() { if (_domaincoreletstate == null) { _domaincoreletstate = (ExampleState) domain.getcoreletstate(getcoreletconfig()); if (_domaincoreletstate == null) { _domaincoreletstate = new ExampleState(); domain.setcoreletstate(getcoreletconfig(), _domaincoreletstate); return _domaincoreletstate; public ExampleState getdomainmodulestate() { if (_domainmodulestate == null) { _domainmodulestate = (ExampleState) domain.getmodulestate(getcoreletconfig().getmoduleconfig()); if (_domainmodulestate == null) { _domainmodulestate = new ExampleState(); domain.setmodulestate(getcoreletconfig().getmoduleconfig(), _domainmodulestate); return _domainmodulestate;
72 <!-- example for connection URLs of the type jdbc:<driver>://<host>/<database> --> <Connection id="--connectionid--" driverclass="--driverclass--" exceptionshaltstartup="--true/false--"> <ConnectionParameters driver="--driver--" host="--host--" database="--database--" /> <ConnectionCredentials username="--dbusername--" password="--dbpassword--" /> <PoolParameters minsize="--minpoolsize--" maxsize="--maxpoolsize--" maxidletime="--maxconnectionidletime--" maxreuse="--maxconnectionreuse--" /> </Connection> <!-- Example using URL instead of parameters --> <Connection id="--connectionid--" driverclass="--driverclass--" exceptionshaltstartup="--true/false--"> <ConnectionURL url="--jdbcurl--" /> <ConnectionCredentials username="--dbusername--" password="--dbpassword--" /> <PoolParameters minsize="--minpoolsize--" maxsize="--maxpoolsize--" maxidletime="--maxconnectionidletime--" maxreuse="--maxconnectionreuse--" /> </Connection>
73
74 // Getting the connection Connection con; try { // in Corelets con = getconnection("ct-domain"); // elsewhere con = Server.getServer().getConnection("ct-domain"); catch (SQLException e) { // Handle connection error try { // Perform SQL operations catch (SQLException e) { // Handle SQL error finally { try { con.close(); catch (SQLException e) { // Handle connection closing error
75 import org.apache.log4j.logger; private static final Logger log = Logger.getLogger(<logger name>); if (log.isdebugenabled()) log.debug("current time is: "+System.currentTimeMillis()+"ms since 1. January 1970");
76 <appender name="demoappender" class="org.apache.log4j.dailyrollingfileappender"> <param name="datepattern" value="'.'yyyy-mm-dd" /> <param name="file" value="${com.coretrek.machete.log.dir/demoappender.log" /> <layout class="org.apache.log4j.patternlayout"> <param name="conversionpattern" value="%d{iso8601 %-5p %-25t %-35c [%x] %m%n" /> </layout> </appender>
77 <category name="demo.democategory" additivity="false"> <priority value="debug" /> <appender-ref ref="demoappender" /> </category>
78
79 public FormParser createform() { InputField field1 = new TextField(/* Constructor parameters*/); InputField field2 = new TextField(/* Constructor parameters*/); InputField field3 = new TextField(/* Constructor parameters*/); FormParser form = new FormParser(getId() getnamespace()); form.addinputfield(field1); form.addinputfield(field2);
80 form.addinputfield(field3); Validator range = new RangeCheckValidator(/* Constructor parameters*/); Validator match = new MatchValidator(/* Constructor parameters*/); form.addvalidator("numberfield", range); form.addvalidator(new String[] {"pass1", "pass2", match); ## This assumes that the Corelet has a method called getform(), which ## returns a FormParser object. $this.form.startform("formname") ## To print out the field named "field1" $this.form.field1 $this.form.endform
81 public void process(coreletrequest req, CoreletResponse res) { String formsubmitted = req.getstringparameter(formparser.parameter_form_submitted); if (formsubmitted.equals("formname")) { form.process(req); if (userrequestedsave && form.validate()) { saveformdata(form); private void saveformdata(formparser form) { String stringfield = form.getstring("stringfieldname"); Date datefield = form.getdate("datefieldname"); int intfield = form.getint("intfieldname"); Object customobject = form.getobject("customobjectfieldname");
82
83
84
85
86 public class ExampleComponent extends WebmacroComponent {
87 // Statisk definert Componenet ID public static final String COMPONENT_ID = "ExampleComponent"; // WebMacro template for Componenten // Det er egen hjelpefunksjon for å lage den som gir den samme navn som klassen +".wm", og // peker til at WebMacro filen ligger i samme mappe/pakke som klassen. private static final String TEMPLATE = classtotemplate(examplecomponent.class); // Default konstruktør - når denne brukes så kan Componenten kun // oppstå en gang under en parent public ExampleComponent() { super(component_id); // Konstruktør som tar ID som parameter public ExampleComponent(String id) { super(id); // Process kan implementeres ved behov protected void process(componentrequest creq, ComponentResponse cres) { // DisplayPrepare kan implementeres ved behov protected void displayprepare() { public String gettemplate() { return TEMPLATE;
88 // ExampleComponentCorelet.java public class ExampleComponentCorelet extends Corelet implements ComponentHolder { // Componentet som vi bruker. private Component _component; // getnamespace metoden som man må implementere fra ComponentHolder public String getnamespace() { // Denne metoden vil alltid se slik ut for Coreletter return getid(); // process for Coreletten public void process(coreletrequest creq, CoreletResponse cres) { // Pass på at vi har en instans av Component if (_component == null) { _component = new ExampleComponenet("Example"); // Kall opp process på Component. Dette vil videre kalle den implementerte // process metoden på Componetet etter at kontekstverdier er satt. _component.process(this, creq); public void displayprepare() { // Kall opp displayprepare på Componenten, som vil kalle videre til den faktisk // implementasjonen etter at kontekst har blitt satt _component.displayprepare(this); /** * Denne metoden vil gjøre det mulig å få tak i Componenten i WebMacro. */ public Component getcomponent() { return _component; // gettemplate metoden må også implementeres her. ## ExampleComponentCorelet.wm ## Dette vil hente ut Componentet, og så vil det i tur rendere seg selv med sin template der det plasseres. $this.component
89 public class StateComponent extends WebmacroComponent { private StateComponentState _state; protected void process(componentrequest creq, ComponentResponse cres) { if (_state == null) { _state = (StateComponentState) getstate(); if (_state == null) { _state = new StateComponentState(); setstate(_state); // Bruk staten private static final class StateComponentState extends State {
90 public TabContainer createtabcontainer() { // Første steg er å opprette selve TabContaineren TabContainer result = new TabContainer("TabContainer", "details"); // Vi har satt at default tabben skal være details, vi må da sikre at vi legger // til en tab med den IDen
91 // Den første tabben vi legger til her er også den som kommer til å // ende opp som default tab. result.addcontainedcomponent(new CompanyDetailComponent("details")); result.addcontainedcomponent(new CompanyAddressComponent("address")); result.addcontainedcomponent(new CompanyContactsComponent("contacts")); // TabContainer er nå initialisert, den må videre brukes som en vanlig Component return result;
92
93 <Themes> <Default id="standard" /> <Common logout="com/corelets/htmldesign/logout.wm" restore="com/corelets/htmldesign/restore.wm" replacementcorelet="com/corelets/htmldesign/replacementcorelet.wm" serverdown="com/corelets/htmldesign/serverdown.wm" exception="com/corelets/htmldesign/exception.wm" /> <Theme id="standard" description="the Blue Dull" frameset="com/corelets/htmldesign/standard/frameset.wm" stylesheet="com/corelets/htmldesign/standard/css.wm" topbar="com/corelets/htmldesign/standard/topbar.wm" topsize="26" corelet="com/corelets/htmldesign/standard/corelet.wm" mainlet="com/corelets/htmldesign/standard/applicationmodemainlet.wm" themeinclude="com/corelets/htmldesign/standard/themeinclude.wm" workbench="com/corelets/htmldesign/standard/workbench.wm" staticcontent="themes/standard" /> </Themes>
94 <link rel="stylesheet" href="$ccs_abscontextpath/stylesheet/$ccs_theme.id" type="text/css" /> #parse "$CCS_Theme.ThemeInclude" #set $themehtmlroot="$htmlroot/$ccs_theme.staticcontent"
95 themes/<themeid>
96
97
98 corelets.xml <?xml version="1.0" encoding="iso "?> <Dictionary> <Key key="module"> <Key key="modulepart"> <Key key="text"> <Value lang="no_no">teksten på norsk</value> <Value lang="en_us">the text in english</value> </Key> </Key> </Key> </Dictionary>
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
DetaljerVideregående programmering 6
Videregående programmering 6 1. Feilkontroll i klasser uten unntaksobjekter Klasser skal lages sikre. Argumentverdier skal kontrolleres, og eventuelle feil skal rapporteres til klienten. I praksis har
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerINF 1010, vår 2005 Løsningsforslag uke 11
INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato
DetaljerStein Gjessing, Institutt for informatikk, Universitetet i Oslo
INF1010 Våren 2015 Feilsituasjoner og unntak i Java (Engelsk: Exception) Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Jeg prøvde å bestille billett med Air France:
DetaljerINF1000 - 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()){
DetaljerLøsningsforslag Test 2
Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.
DetaljerKonstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:
Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i
DetaljerKalkulator-leksjonen (nesten ferdig)
Kalkulator-leksjonen (nesten ferdig) Introduksjon I denne leksjonen vil du lære hvordan du kan koble FXML-koden til Java-koden og gjøre app-en levende (interaktiv)! Steg 1: Opprette app-pakke, app-klasse,
DetaljerSocket 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
DetaljerINF2100. Oppgaver 23. og 24. september 2010
INF2100 Oppgaver 23. og 24. september 2010 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med + og ; grammatikken ser du i figur 1 på neste side. Tallkonstanter består av bare ett
DetaljerAlgoritmer 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
DetaljerImplementering av caching ved hjelp av Spring. Christian Vestøl 27.04.06
Implementering av caching ved hjelp av Spring Christian Vestøl 27.04.06 Agenda Kort introduksjon til Spring med Spring Praktiske eksempler Forskjellige rammeverk for caching April 2006 2 Kort om Spring
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerSAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM
SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM 2 TEMA 1 MULTIPROSESSERING MED DATASTEGET Multiprosessering har lenge vært et tema i SAS Stadig ny funksjonalitet er med på
DetaljerDel 3: Evaluere uttrykk
Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret
Detaljer2 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.
DetaljerEksekveringsrekkefø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
DetaljerINF2100. Oppgaver 9. oktober 2012 C 100 X 10
INF2100 Oppgaver 9. oktober 2012 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side. Tallkonstanter
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerINF Notater. Veronika Heimsbakk 10. juni 2012
INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerTDT4100 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
DetaljerINF2100. Oppgaver 6. og 11. oktober 2011 C 100 X 10
INF2100 Oppgaver 6. og 11. oktober 2011 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side.
DetaljerOOT Seminar H-97 CORBA. Praktisk del
OOT Seminar H-97 CORBA Praktisk del Valg av ORB implementasjon Har valgt å bruke Visigenic sin ORB implementsjon ORB en er 100% Java kodet Bygger på OMG sin IDL to Java language mapping fra Jun 97 Gratis
DetaljerGjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerINF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java
INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne
DetaljerINF2100. Oppgaver uke 40 og
INF2100 Oppgaver uke 40 og 41 2014 For å få trening i å programmere en parser, skal vi aller først gjøre det for et veldig enkelt programmeringsspråk: E. Dette språket består av uttrykk med de fire vanligste
Detaljer/** * A cache of words and their stems */ static private Map<String, String> cache = new WeakHashMap<String, String>();
package com.dlj.ir.analysis.ma; import java.util.map; import java.util.weakhashmap; * Marathi light stemmer- removes number, gender and case suffixes from nouns and adjectives * Done by Ljiljana Dolamic(University
DetaljerProgram delegate. Lage et nytt prosjekt i Visual Studio
Program delegate Kommunikasjon mellom objekter er en utfordring i objektorientert programmering. Dette GUI eksempelet viser hvordan bruke en delegate til å gjøre metodekall i et annet objekt. Vi skal legge
DetaljerHentet fra Suns Totorial:
Sun s Hello-eksempel Hentet fra Suns Totorial: http://java.sun.com/j2se/1.4.2/docs/guide/idl/gshome.html Andre nyttige URIer: Java IDL documentation: http://java.sun.com/j2se/1.4.2/docs/guide/idl/index.html
DetaljerINF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2
DetaljerEksamen Objektorientert Programmering 2012
Eksamen Objektorientert Programmering 2012 Høgskolen i Østfold 2012-05-09 Emnekode Emne ITF10611 Dato 2012-05-09 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering To A4-ark (fire
DetaljerPresentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen
Presentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen Hva er ibatis Rammeverk laget for: Forenkling av database oppkoblinger Separering av SQL kode fra kildekode Data access objects
DetaljerHØ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
DetaljerEks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
Detaljer< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»
< T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" michael@ifi.uio.no INF1010 21. februar
DetaljerKapittel 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
DetaljerAlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1
AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1 Ole Kristian Pedersen, Høst 2016 Agenda Introduksjon til Python for begynnere Intro til øving 1 Litt om lenkede lister Øvingssystemet
DetaljerEksamen 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
DetaljerTDT4100 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
DetaljerProgrammering i C++ Løsningsforslag Eksamen høsten 2005
Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
DetaljerINF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004
INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere
DetaljerXML og JDOM. Helge Furuseth
XML og JDOM Helge Furuseth furuseth@idi.ntnu.no XML XML = Extensible Markup Language Basert på SGML Standard Generalized Markup Language HTML = Hypertext Markup Language Også basert på SGML Mange likheter
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
Detaljerclass Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerDagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?
Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille
DetaljerObjektorientert Programmering Ekstraordinær eksamen 2014
Objektorientert Programmering Ekstraordinær eksamen 2014 Høgskolen i Østfold 2014-01-13 Emnekode Emne ITF10611 Dato 13.01.2014 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering
DetaljerINF1010. 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
DetaljerINF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)
INF1010 våren 2019 Onsdag 30. januar Mer om unntak i Java (med litt repetisjon av I/O først) Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type:
DetaljerJentetreff INF1000 Debugging i Java
Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver
DetaljerArv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerObject 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
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
DetaljerINF1010 våren 2018 tirsdag 23. januar
INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean
DetaljerINF2100. Oppgave 1, 2 og 3. Løsningsforslag til oppgaver 23. og 24. september Her er det mange mulige løsninger her er én: import java.io.
INF2100 Løsningsforslag til oppgaver 23. og 24. september 2010 Oppgave 1, 2 og 3 Her er det mange mulige løsninger her er én: import java.io.*; class E { public static void main(string arg[]) { Scanner.init();
DetaljerINF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 15. januar 2014 2. time Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder med parametre En metode uten parameter:
DetaljerAvdeling 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
DetaljerIN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
Detaljerimport 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
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
DetaljerForkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen
Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output
DetaljerUNIVERSITETET 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(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
DetaljerDistributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter
DCOM Distributed Component Object Model Almir Delkic og Frank Jensen Institutt for Informatikk, Universitetet i Oslo, oktober 2003 Introduksjon Utvikling av distribuerte applikasjoner Utvidelse av COM
DetaljerKompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering
Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at
Detaljer1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 26. februar 2014 1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Vi tar utgangspunkt i dette programmet for
DetaljerINF100 Institutt for informatikk Universitetet i Bergen Øving 5
INF100 Institutt for informatikk Universitetet i Bergen Øving 5 Høst 2013 Mål: Bruk av objekter. Innlevering: Adventure.java, Spiller.java og Rom.jav pakket i en zip fil. Innleveringsfrist: Torsdag 10.
DetaljerNB!!! 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
DetaljerEksamen. Objektorientert Programmering IGR 1372
+ JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV
DetaljerEKSAMEN 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
DetaljerOppgave 1 (Opprett en database og en tabell)
Oppgave 1 (Opprett en database og en tabell) 1) I «Object Explorer» (i «SQL Server Management Studio»), høyreklikk over Databases : 1 2 2) Skriv så databasenavnet og klikk OK: 3) Plasser så kursoren på
DetaljerKapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon
Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon
DetaljerINF2440 Prøveeksamen, løsningsforslag, 20 mai Arne Maus PSE, Inst. for informatikk
INF2440 Prøveeksamen, løsningsforslag, 20 mai 2015 Arne Maus PSE, Inst. for informatikk 1 Prøveeksamen Er en modell av hva du får til eksamen: - like mange (+-1) oppgaver som eksamen og nesten samme type
DetaljerINF1010, 21. januar 2016. Klasser med parametre = Parametriserte klasser = Generiske klasser
INF1010, 21. januar 2016 Klasser med parametre = Parametriserte klasser = Generiske klasser Stein Gjessing Inst. for Informatikk Universitetet i Oslo Først litt repetisjon fra i går class LagBiler { public
DetaljerLøsningsforslag, inf101, våren 2001
Løsningsforslag, inf101, våren 2001 Anders Brunland Oppgave 1 (15%) a) Navn på søker trenger ikke være med i sak-objektet siden den kan hentes fra det første dokumentet i saken. Variabelen FRIST er strengt
DetaljerProsedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19
Prosedyrer Lars Vidar Magnusson October 26, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 26, 2011 1 / 19 Repetisjon om triggere og prosedyrer Triggere og prosedyrer ligner på hverandre
DetaljerLogo med FXML. Introduksjon. Skrevet av: Hallvard Trætteberg
Logo med FXML Skrevet av: Hallvard Trætteberg Kurs: Javafx Introduksjon En viktig del av det å lage app-er er å utforme skjerminnholdet, dvs. alt app-en inneholder av grafikk, knapper, lister, osv. Formålet
DetaljerTilkobling og Triggere
Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble
DetaljerKlasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting STOL ALDRI PÅ KLIENTEN!
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse Transaksjonshåndtering LC191D Videregående programmering
DetaljerKontinuasjonseksamensoppgave i TDT4100 Objektorientert programmering
Institutt for datateknikk og informasjonsvitenskap Kontinuasjonseksamensoppgave i TDT4100 Objektorientert programmering Faglig kontakt under eksamen: Hallvard Trætteberg Tlf.: 918 97 263 Eksamensdag: Fredag
DetaljerINF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1.
INF1010 Eksamenstips Løsningsforslag prøveeksamen del 1. michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 2 Les igjennom hele oppgaven. Les igjennom hele oppgaven en gang til, marker i teksten ting
DetaljerFeilmelding Årsak Løsning
Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed Feil oppstod i Window.DialogWindow:
DetaljerForkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.
Forkurs INF1010 Dag 2 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Gard Inge Rosvold (gardir@ifi.uio.no) Institutt for Informatikk, 14. januar 2016 Forkurs INF1010 - dag 2 Feilmeldinger 2 Forkurs INF1010
DetaljerÅ lese tall fra en fil, klassen Scanner
Å lese tall fra en fil, klassen Scanner 1. Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2. Kan skanne teksten etter data av ulike typer. 3. Kan kun skanne framover i teksten. Vis
DetaljerDagens tema: Mer av det dere trenger til del 1
Dagens tema Dagens tema: Mer av det dere trenger til del 1 Hvilke klasser trenger vi? Uttrykk Typer Testutskrifter 12 gode råd Dagens tema Prosjektet Utifra dette AlboC-programmet: int pot2 (int x) { int
DetaljerEksamen Oppgave a) public class DayTime { public final int hours, minutes;
Eksamen 2012 Del 1 - Innkapsling (20%) Gitt følgende klasse, som representerer et tidspunkt på dagen: public class DayTime { public final int hours, minutes; public DayTime(int hours, int minutes) { this.hours
DetaljerDagens tema: Kompilatorens struktur. De ulike modulene Prosjektet. Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java
Dagens tema: Kompilatorens struktur Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java De ulike modulene Prosjektet Hva skal Del-0 gjøre? Feilmeldinger Testutskrifter Siste råd og påbud
DetaljerLitt 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
DetaljerINF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær:
TRÆR Vi skal i denne forelesningen se litt på ulike typer trær: Generelle trær (kap. 4.1) Binærtrær (kap. 4.2) Binære søketrær (kap. 4.3) Den siste typen trær vi skal behandle, B-trær (kap. 4.7) kommer
DetaljerINF2100. Oppgave 1. Oppgave 2 4. Løsningsforslag til oppgaver uke 40 og Se figur 1 på neste side.
INF2100 Løsningsforslag til oppgaver uke 40 og 41 2014 Oppgave 1 Se figur 1 på neste side. Oppgave 2 4 Her er det mange mulige løsninger her er én: import java.io.*; import java.util.*; class E { public
DetaljerDagens tema: Kompilatorens struktur. De ulike modulene Prosjektet. Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java
Dagens tema: Kompilatorens struktur Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java De ulike modulene Prosjektet Hva skal del-0 gjøre? Feilmeldinger Testutskrifter Siste råd og påbud
DetaljerAlgoritmer og datastrukturer A.1 BitInputStream
Vedlegg A.1 BitInputStream Side 1 av 8 Algoritmer og datastrukturer A.1 BitInputStream A.1 BitInputStream A.1.1 Instansiering BitInputStream har fire konstruktører og to konstruksjonsmetoder (eng: factory
Detaljer