• No results found

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

N/A
N/A
Protected

Academic year: 2022

Share "Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

Webbprogrammering 7,5 högskolepoäng

Provmoment: Tentamen

Ladokkod: NWP011

Tentamen ges för: Systemarkitektprogrammet Namn:

(Ifylles av student) Personnummer:

(Ifylles av student)

Tentamensdatum: 2013-03-25

Tid: 14.00 – 19.00

Hjälpmedel:

Inga hjälpmedel

Totalt antal poäng på tentamen: 50 poäng För att få respektive betyg krävs:

G=28, varav minst 15 på uppgift 1-5 VG=40, varav minst 15 på uppgift 1-5

Allmänna anvisningar:

OBS! Starta den virtuella maskinen via VMWare och gör alla uppgifter där.

Skriv dina svar på svarsblanketten (se nästa sida) Ange identitet för hårdisk (DISK1 o.s.v.)

Spara alla filer inom den virtuella maskinen i lätt åtkomliga mappar.

PHP filer måste läggas i C:\inetpub\wwwroot\PHPtenta\ för att kunna köras. URL:en blir http://localhost/PHPtenta/minfil.php .

Rättningstiden är som längst tre veckor

Viktigt! Glöm inte att skriva namn på alla blad du lämnar in.

Lycka till!

Ansvarig lärare: Håkan Sundell Anders Gidenstam Telefonnummer: 033 435 4426 033 435 4214

(2)

Svarsblankett

Namn:

(Ifylles av student) Personnummer:

(Ifylles av student)

Hårddisk: _____________________________________________________________

(Ifylles av student)

Uppgift 1:

i ii iii iv a)

□ □ □ □

b)

□ □ □ □

c)

□ □ □ □

d)

□ □ □ □

e)

□ □ □ □

Uppgift 2:

i ii iii iv a)

□ □ □ □

b)

□ □ □ □

c)

□ □ □ □

d)

□ □ □ □

e)

□ □ □ □

Uppgift 3:

i ii iii iv a)

□ □ □ □

b)

□ □ □ □

c)

□ □ □ □

d)

□ □ □ □

e)

□ □ □ □

Uppgift 4:

i ii iii iv a)

□ □ □ □

b)

□ □ □ □

c)

□ □ □ □

d)

□ □ □ □

e)

□ □ □ □

Uppgift 5:

i ii iii iv a)

□ □ □ □

b)

□ □ □ □

c)

□ □ □ □

d)

□ □ □ □

e)

□ □ □ □

Observera: Det minimala resultatet på uppgift 1 till 5 är 15 poäng.

(3)

1. Svara med något eller några av de angivna alternativen på följande frågor.

(a) Vilket eller vilka av följande påståenden gäller för JavaScript?

Alternativ:

i. JavaScript kan köras som svar på händelser i webbläsaren.

ii. Programspråket JavaScript är en delmängd av programspråket Java.

iii. JavaScript körs enbart när ett HTML dokument skapas.

iv. JavaScript i ett HTML dokument kan förändra dokumentet medan det visas i en webbläsare.

(b) Vilket eller vilka av följande påståenden gäller för CGI?

Alternativ:

i. Ett CGI program anropas av webbservern för att generera svaret till en HTTP fråga.

ii. Ett CGI program körs i webbläsaren.

iii. Ett CGI program kan skrivas i programspråket C.

iv. Ett CGI program kan endast skapa dokument av typen text/html.

(c) Vilken eller vilka av följande påståenden gäller för ett giltigt (eng. valid) XHTML 1.1 dokument?

Alternativ:

i. Textens formatering måste anges med Cascading Style Sheets (CSS).

ii. Alla element har en start- och en sluttag.

iii. XML namnrymden för dokumentet måste anges som

”http://www.w3.org/1999/xhtml”.

iv. Dokumentet måste ha ett <body>-element inuti rotelementet.

(d) Vilket eller vilka av följande påståenden stämmer för XML 1.0?

Alternativ:

i. Ett XML dokument måste ha ett eller flera rot-element.

ii. Ett giltigt (eng. valid) XML dokument följer garanterat ett givet XML schema.

iii. Ett XML schema uttryckt i formatet XML Schema Definition (XSD) kan göras

mer uttrycksfullt än ett XML schema uttryckt i formatet XML Document Type Definition (DTD).

iv. Information som kan innehålla godtyckliga tecken beskrivs som Parsed Character Data (PCDATA).

(e) Vilket eller vilka av följande påståenden stämmer för PHP?

Alternativ:

i. All PHP kod måste vara innesluten i <?php ?> taggar.

ii. PHP koden körs i webbläsaren.

iii. PHP är ett språk utan statisk typkontroll.

iv. Funktioner i PHP kan anropas med ett godtyckligt antal argument.

(5p)

(4)

2. Svara med något av de angivna alternativen på följande frågor.

(a) Texten i ett PHP-dokument tolkas enligt sätten ______ ? Alternativ:

i. Print mode och Compiler mode ii. Copy mode och XHTML mode

iii. Copy mode och Interpret mode

iv. Output mode och Tag mode

(b) Vid användande av session tracking i PHP blir resultatet av funktionen session_start() att _____ ?

Alternativ:

i. En loginsida genereras och skickas till användaren.

ii. Tillståndet för en pågående session blir tillgängligt för skriptet alternativt om ingen pågående session finns så skapas en ny session.

iii. En ny session skapas och ersätter eventuell föregående.

iv. En ny global variabel med namn $SESSION skapas.

(c) Ett PHP-program får flyttalsvärdet 0.0 i en kontext där ett booleskt värde förväntas.

Vad händer?

Alternativ:

i. Ett typfelsundantag (eng. exception) genereras.

ii. Värdet konverteras till det booleska värdet TRUE.

iii. Värdet konverteras till det booleska värdet FALSE.

iv. PHP har ingen boolesk typ utan värdet konverteras till heltalet 0 som tolkas som falskt.

(d) Fält (eng. array) i PHP kan indexeras med ______ ? Alternativ:

i. Endast heltal.

ii. Endast flyttal.

iii. Strängar (bland annat).

iv. Valfri typ men samma för hela fältet.

(e) Vad blir utskriften från nedanstående program?

<?php

$x = "1.5";

$y = 2;

printf("$x + $y = %d", $x+$y);

?>

Alternativ:

i. 1.5 + 2 = 3

(5)

3. Svara med något av de angivna alternativen på följande frågor.

(a) För att ange att en sida inte skall vara del av en session så används attribut enligt ______.

Alternativ:

i. <%@ page isSession = false %>

ii. <%@ session page = false %>

iii. <%@ page session = false %>

iv. <%@ session exclude = this %>

(b) Vilket av följande exempel visar en korrekt användning av en JSP predefined variable (också kallat JSP implicit object)?

Alternativ:

i. <% HttpServletRequest request = session.getRequest();

string text = request.getParameter(”aText”); %>

ii. A text: <%= request.getParameter(“aText”); %>

iii. <% HttpServletRequest request = page.getRequest(); %>

A text: <%= request.getParameter(”aText”); %>

iv. <% HttpServletRequest request = application.getRequest();

string text = request.getParameter(”aText”); %>

(c) För att kunna köra en Java Servlet krävs specifikt en _______ ? Alternativ:

i. Java Virtual Machine (JVM) ii. Servlet Container

iii. J2SE Java Runtime Environment (JRE)

iv. Java SE Development Kit (JDK)

(d) För att specificera i JSP att en instans av en JavaBean är bunden till en viss användare så används scope-attributet _______ ?

Alternativ:

i. application ii. session

iii. page

iv. request

(e) Databaser blir åtkomliga i koden för en Servlet och JSP via ______ ? Alternativ:

i. ADO.NET ii. JDBC

iii. SQL

iv. XML

(5p)

(6)

4. Svara med något av de angivna alternativen på följande frågor.

(a) Tillstånd för HTTP-uppkopplingar kan sparas med hjälp av ______ på klienten?

Alternativ:

i. Cookies ii. Sockets

iii. Persistent HTTP

iv. HTML

(b) En komponent inom HTMLControl måste alltid ha _______ ? Alternativ:

i. Attributet runat satt till server ii. Attributet id satt till ett värde iii. Attributet name satt till ett värde

iv. Attributen id och server satta till något värde

(c) Hur väljer man .NET data provider?

Alternativ:

i. Genom prefixet på de klasser i Framework Class Library man använder för datahantering.

ii. Anges i ConnectionString för kommandot.

iii. Via ett argument till SqlConnection och dess Open-metod.

iv. En inställning i Visual Studio under tools.

(d) Vad innebär "code-behind" i samband med ASP.NET?

Alternativ:

i. Koden läggs bakom allt annat och körs med lägre prioritet.

ii. Koden släpar efter med ett valfritt intervall.

iii. Koden kan inte använda arv.

iv. Koden ligger i en separat fil.

(e) Common Language Run-Time är _____ ? Alternativ:

i. Ett klassbibliotek.

ii. En mapp med kodexempel.

iii. Ett program som laddar in och kör .NET-program.

iv. Ett ramverk för att skapa egna klasser.

(5p)

(7)

5. Svara med något av de angivna alternativen på följande frågor om språket C#.

(a) Metoderna för en bas- eller superklass kan nås i subklassen via nyckelordet ____ ? Alternativ:

i. this ii. override

iii. base

iv. super

(b) En egenskap (eng. Property) i en klass fungerar internt i klassen som ____ ? Alternativ:

i. En eller två metoder ii. En instans

iii. En variabel

iv. En händelse (eng. event)

(c) För att binda en metod till en viss händelse (eng. Event) och på så sätt skapa en händelsehanterare, görs detta genom att koppla metoden till en specifik _____ ? Alternativ:

i. delegate ii. enumerator iii. iterator iv. event

(d) Ett interface är _____ ? Alternativ:

i. En implicit implementation av alla metoder som ingår i en klass definierad explicit

ii. En klass där alla metoder är definierade som abstract

iii. En mall som talar om vilka metoder och egenskaper som en klass måste

implementera

iv. En klass där alla metoder är implementerade som referenstyper

(e) En variabel som representerar en instans av en datastruktur definierad med nyckelordet class är alltid klassificerad som en ____?

Alternativ:

i. Instanstyp ii. Objekttyp iii. Värdetyp iv. Referenstyp

(5p)

(8)

6. Skapa ett PHP skript som ger en enkel sida med följande funktion: sidan har två inmatningsfält, ett för namn och ett för antal, samt en Ok-knapp enligt bild nedan.

När inmatning skett och Ok-knappen trycks skrivs angivet antal HTML-stycken med texten ”Hej <namn>!” ut under Ok-knappen som i bilden nedan.

Vid felaktig inmatning (namn saknas eller antal är inte ett heltal) visas röda feltexter enligt bilden nedan. Eventuell korrekt inmatad information skall bevaras vid fel.

Skapa din lösning i biblioteket C:\inetpub\wwwroot\PHPtenta på den virtuella maskinen. För att redigera filen kan t.ex. Notepad eller Wordpad användas (t.ex via höger klick på filen + ’Open with’).

(5p)

(9)

7. Skapa ett nytt projekt av typen ”Web Application” i NetBeans IDE, utan några valda frameworks. Skapa en enkel sajt för inmatning av bilinformation för ett bilregister, som består av två webbsidor i JSP. Startsidan skall innehålla ett formulär för

inmatning av information om en bil (för registrering). Information som skall matas in är:

* Märke och modellnamn (minst två ord,märke och modelnamn separerat med kolon

”:”)

* Årsmodell (från 1909 och framåt)

* Vridmoment (enligt ”tal Nm”)

* Registreringsnummer (enligt svensk standard, t ex ”123ABC”)

Vid inskickande av information (klick på specificerad knapp) skall informationen kontrolleras enligt korrekthetsregler givna ovan. Eventuella felaktigheter skall

indikeras vid respektive inmatningsfält och en beskrivande feltext presenteras. Om all information är korrekt inmatad skall denna registreras och läggas till en lista. Därefter vidarebefordras användaren till en annan webbsida som presenterar en lista med hitintills all inmatad bilinformation (av just denna användare), radvis med en

informativt och strukturerad design. På webbsidan med listan skall även finnas en länk tillbaka till startsidan för inmatning.

Hela sajten skall bestå av två dynamiska webbsidor. Informationen i listan med bilinformation skall sparas i en sessions-variabel. För full poäng skall JavaBeans användas för hanteringen av inmatad information.

(10p)

(10)

8. Skapa ett nytt projekt av typen ”ASP.NET Web Site” med språket C# i Visual Studio.

Skapa en enkel shoppingsajt med varukorg. Varorna skall presenteras dynamiskt med hjälp av en ”Data”-komponent (ex. DataList), och skall härröra från en statisk typad lista av egendefinierad typ (ex. class ShopItem) i programmet. Lägger man till fler instanser i listan så visas fler varor. Vid klick på respektive varas knapp, skall denna läggas till varukorgen. Varukorgen skall hela tiden vara synlig (som ex. en ListBox) på sidan. I varukorgen skall man kunna se vilka varor som man har valt, antal av varje och pris, samt det totala priset på beställningen. Med hjälp utav diverse knappar kopplade till varukorgen skall man även kunna ta bort enstaka varor från den.

Hela sajten kan bestå av en enda dynamisk sida, men kan också bestå av fler om du vill. Varukorgens utseende och beteende skall definieras i en master-page.

Vid designen av webbsajten skall relevanta användbarhetsaspekter beaktas. Vidare skall koden vara kommenterad när så är lämpligt och adekvat namngivning på variabler med mera tillämpas.

(10p)

References

Related documents

Vid god vattenförsörjning hålls temperaturen nere av transpirationen, men när vattnet blir en brist för plantan minskar transpirationen och temperaturen i bladen

• Att det finns lokala rutiner för kontroll enligt tillverkarens rekommendation av den grundutrustning som enheten ansvarar för enligt dokumentet ”Grundutrustning hjälpmedel”

Enkät inom handläggningstid och tillgänglighet under våren som riktar sig till våra förskrivare – ett område som är viktigt för oss att för att öka vår kvalité

FÖR ATT LAGA DITT HJÄLPMEDEL RING PERSONEN DU FICK DITT HJÄLPMEDEL AV ELLER RING HJÄLPMEDELSCENTER. DU KAN BEHÖVA BETALA OM HJÄLPMEDLET

Skriv tentamenskoden på samtliga inlämnade papper.. Motivera även varför u och v duger som

”Bedömningen av den verksamhetsförlagda utbildningen sker enligt ett systematiserat och validerat bedömningsformulär.” (Kursplan, C46E50 v.. • På första sidan kryssas den

Upprustning för handikappade, bättre hjälpmedel av olika slag, samordning av forskning och ut­.. vecklingsarbete och en

— Om patienten ska få ut det mesta möjliga av sitt hjälpmedel så måste det vara rätt person som ordinerar det, säger byråinspektör Gun Nilsson. Samtidigt ska patienten