Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Relevanta dokument
Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

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

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

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

ASP.NET Thomas Mejtoft

ASP.NET Web Forms. Copyright Mahmud Al Hakim Vad är Web Forms?

Viktigt! Glöm inte att skriva TentamensKod (ditt anonyma student-id) på alla blad du lämnar in.

Systemvetarutbildningen och dataekonomutbildningen

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

DAT043 - Föreläsning 7

Systemvetarutbildningen och dataekonomutbildningen

F8 Webbteknologier 1. Dynamiska webbsidor

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

TENTAMEN OOP

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

Classes och Interfaces, Objects och References, Initialization

LÖSNINGSFÖRSLAG TENTAMEN

Objektorienterad Programmering (OOP) Murach s: kap 12-16

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

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

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

PROV. 13 JSP Standard Tag Library

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Webbservrar, severskript & webbproduktion

Introduk+on +ll programmering i JavaScript

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Tentamen, EDAA10 Programmering i Java

Tentamen i Algoritmer & Datastrukturer i Java

Avancerade Webbteknologier

Statistik över heltal

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.

PROGRAMMERINGSTEKNIK TIN212

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

DAT043 Objektorienterad Programmering

Nya webbservern Dvwebb.mah.se

JAVASCRIPT. Beteende

Sidrenderingsmodellen

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Användarhandledning Version 1.2

Övning. Introduktion och förberedelser

Lektion 2, Grundläggande funktioner i ASP.NET

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

Mål med lektionen! Repetera och befästa kunskaperna.

TENTAMEN OOP

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Exemple på Tentauppgifter Webbprogrammering

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

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

TENTAMEN CD5250. Objektorienterad programutveckling med C++, 5p. Datum: , Tid: 14:00-19:00

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Metoder (funktioner) Murach s: kap Winstrand Development

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

PHP. TNMK30 - Elektronisk publicering

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin

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

Webbprogrammering. Sahand Sadjadee

Language Integrated Query, LINQ, och databaser

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

Tentamen , Introduktion till Java, dtaa98, dtea53

Systemvetarutbildningen och dataekonomutbildningen

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Tentamen FYTA11 Javaprogrammering

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

PHP. Dynamiska webbsidor

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

TENTAMEN OOP

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Tentamen TEN1 HI

Typkonvertering. Java versus C

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

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

Strukturering med XML och DTD

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

DAT043 - föreläsning 8

Transkript:

Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2014-03-24 Tid: 09.00 14.00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: För att få respektive betyg krävs: G=25 VG=38 45 poäng Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna. 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 Shirin Tavara Telefonnummer: 033 435 4426 033 435 4214

Svarsblankett Namn: (Ifylles av student) Personnummer: (Ifylles av student) Uppgift 1: i ii iii iv a) b) c) d) e) Uppgift 4: i ii iii iv a) b) c) d) e) Uppgift 6: Uppgift 2: i ii iii iv a) b) c) d) e) Uppgift 5: i ii iii iv a) b) c) d) e) Uppgift 7: Uppgift 3: i ii iii iv a) b) c) d) e) Uppgift 8: a) A B C D a) A B C D a) A B C D b) b) b) c) c) c) d) d) d) e) e) e) 2

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? i. JavaScript i ett HTML dokument kan förändra dokumentet medan det visas i en webbläsare. ii. JavaScript kan köras som svar på händelser i webbläsaren. iii. Programspråket JavaScript är en delmängd av programspråket Java. iv. JavaScript körs enbart när ett HTML dokument skapas. (b) Vilket eller vilka av följande påståenden gäller för CGI? i. Ett CGI program kan endast skapa dokument av typen text/html. ii. Ett CGI program anropas av webbservern för att generera svaret till en HTTP fråga. iii. Ett CGI program körs i webbläsaren. iv. Ett CGI program kan skrivas i programspråket (c) Vilken eller vilka av följande påståenden gäller för ett giltigt (eng. valid) XHTML 1.1 dokument? i. Dokumentet måste ha ett <body>-element inuti rotelementet. ii. Textens formatering måste anges med Cascading Style Sheets (CSS). iii. iv. Alla element har en start- och en sluttag. XML namnrymden för dokumentet måste anges som http://www.w3.org/1999/xhtml. (d) Vilket eller vilka av följande påståenden stämmer för XML 1.0? i. Information som kan innehålla godtyckliga tecken beskrivs som Parsed Character Data (PCDATA). ii. Ett XML dokument måste ha ett eller flera rot-element. iii. iv. Ett giltigt (eng. valid) XML dokument följer garanterat ett givet XML schema. 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). (e) Vilket eller vilka av följande påståenden stämmer för PHP? i. Funktioner i PHP kan anropas med ett godtyckligt antal argument. ii. All PHP kod måste vara innesluten i <?php?> taggar. iii. PHP koden körs i webbläsaren. iv. PHP är ett språk utan statisk typkontroll. (5p) 3

2. Svara med något av de angivna alternativen på följande frågor. (a) Texten i ett PHP-dokument tolkas enligt sätten? i. Output mode och Tag mode ii. Print mode och Compiler mode iii. Copy mode och XHTML mode iv. Copy mode och Interpret mode (b) Vid användande av session tracking i PHP blir resultatet av funktionen session_start() att? i. En ny global variabel med namn $SESSION skapas. ii. En loginsida genereras och skickas till användaren. iii. 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. iv. En ny session skapas och ersätter eventuell föregående. (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? i. PHP har ingen boolesk typ utan värdet konverteras till heltalet 0 som tolkas som falskt. ii. Ett typfelsundantag (eng. exception) genereras. iii. Värdet konverteras till det booleska värdet TRUE. iv. Värdet konverteras till det booleska värdet FALSE. (d) Fält (eng. array) i PHP kan indexeras med? i. Valfri typ men samma för hela fältet. ii. Endast heltal. iii. Endast flyttal. iv. Strängar (bland annat). (e) SimpleXML är i PHP? i. Ett lågnivå gränssnitt för XML processing ii. Ett högnivå gränssnitt för XML processing iii. Ett XML filformat för skript iv. En modul för att visa XML dokument som HTML (5p) 4

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. i. <%@ session exclude = this %> ii. <%@ page issession = false %> iii. <%@ session page = false %> iv. <%@ page session = false %> (b) Vilket av följande exempel visar en korrekt användning av en JSP predefined variable (också kallat JSP implicit object)? i. <% HttpServletRequest request = application.getrequest(); string text = request.getparameter( atext ); %> ii. <% HttpServletRequest request = session.getrequest(); string text = request.getparameter( atext ); %> iii. A text: <%= request.getparameter( atext ); %> iv. <% HttpServletRequest request = page.getrequest(); %> A text: <%= request.getparameter( atext ); %> (c) För att kunna köra en Java Servlet krävs specifikt en? i. Java SE Development Kit (JDK) ii. Java Virtual Machine (JVM) iii. Servlet Container iv. J2SE Java Runtime Environment (JRE) (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? i. request ii. application iii. session iv. page (e) Databaser blir åtkomliga i koden för en Servlet och JSP via? i. XML ii. ADO.NET iii. JDBC iv. SQL (5p) 5

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? i. HTML ii. Cookies iii. Sockets iv. Persistent HTTP (b) En komponent inom HTMLControl måste alltid ha? i. Attributen id och server satta till något värde ii. Attributet runat satt till server iii. Attributet id satt till ett värde iv. Attributet name satt till ett värde (c) Hur väljer man.net data provider? i. En inställning i Visual Studio under tools. ii. Genom prefixet på de klasser i Framework Class Library man använder för datahantering. iii. Anges i ConnectionString för kommandot. iv. Via ett argument till SqlConnection och dess Open-metod. (d) Vad innebär "code-behind" i samband med ASP.NET? i. Koden ligger i en separat fil. ii. Koden läggs bakom allt annat och körs med lägre prioritet. iii. Koden släpar efter med ett valfritt intervall. iv. Koden kan inte använda arv. (e) Common Language Run-Time är? i. Ett ramverk för att skapa egna klasser. ii. Ett klassbibliotek. iii. En mapp med kodexempel. iv. Ett program som laddar in och kör.net-program. (5p) 6

5. Svara med något av de angivna alternativen på följande frågor om språket C#. (a) För att definiera om (överskugga) en metod i en klass där en metod med samma namn och signatur redan finns definierad för bas-klassen, används nyckelordet? i. hide ii. new iii. override iv. sub (b) För att definiera en parameter vars värde sätts av metoden och tillåta att en inte initierad variabel används som respektive argument, så används nyckelordet? i. ref ii. out iii. extern iv. intern (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? i. event ii. delegate iii. enumerator iv. iterator (d) Ett interface är? i. En klass där alla metoder är implementerade som referenstyper ii. En implicit implementation av alla metoder som ingår i en klass definierad explicit iii. iv. En klass där alla metoder är definierade som abstract En mall som talar om vilka metoder och egenskaper som en klass måste implementera (e) En variabel som representerar en instans av en datastruktur definierad med nyckelordet class är alltid klassificerad som en? i. Referenstyp ii. Instanstyp iii. Objekttyp iv. Värdetyp (5p) 7

6. Studera följande givna PHP-program. Svara kortfattat på var och en av frågorna med ett av de givna alternativen, alternativt ett specifikt värde. (a) Vad blir utskriften från nedanstående program? <?php?> $x = 3; $y = 2; print("$x+$y"); (b) Vad blir utskriften från nedanstående program? <?php?> $x = 3; $y = 2; print('$x+$y'); (c) Vad blir utskriften från nedanstående program? <?php?> $x = "1.5"; $y = 2; printf('$x + $y = %d', $x+$y); 8

(d) Vad blir utskriften från nedanstående program? <?php?> $x = "3"; $y = 4; print($x/$y); (e) Vad blir utskriften från nedanstående program? <?php?> $x = array('a' => 1, 'b' => 7, 4.0); foreach($x as $y => $z) print("$y: $z, "); (5p) 9

7. Studera följande givna JSP-program. Svara kortfattat på var och en av frågorna med ett av de givna alternativen, alternativt ett specifikt värde. (a) Vad blir utskriften från nedanstående programavsnitt, givet att hela skriptet körs via en URL med en ändelse av?a=3&b=4? <%-- int a = Integer.parseInt(request.getParameter("a")) --%> + <%-- int b = Integer.parseInt(request.getParameter("b")) --%> = <%-- a+b --%> (b) Vad blir utskriften från nedanstående programavsnitt, givet att hela skriptet körs via en URL med en ändelse av?a=1&b=2? <% String a = request.getparameter("a"); %> + <% String b = request.getparameter("b"); %> = <% Integer.parseInt(a)+Integer.parseInt(b); %> (c) Vad blir utskriften från nedanstående programavsnitt, givet att hela skriptet körs via en URL med en ändelse av?a=2&b=3? <% String a = request.getparameter("a"); %> + <% String b = request.getparameter("b"); %> = <%= Integer.parseInt(a)+Integer.parseInt(b) %> 10

(d) Vad blir utskriften från nedanstående programavsnitt, givet att hela skriptet körs via en URL med en ändelse av?a=2&b=3? <% String a = request.getparameter("a"); %> + <% String b = request.getparameter("b"); %> = <% out.print(integer.parseint(a)+integer.parseint(b)); %> (e) Vad blir utskriften från nedanstående programavsnitt, givet att hela skriptet körs via en URL med en ändelse av?a=1&b=2? <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:out value="$param.a" /> + <c:out value="$param.b" /> = <c:out value="$param.a+param.b" /> (5p) 11

8. Studera följande givna ASP.NET/C#-programavsnitt. Anta att övrig kod som är nödvändig för att köra programavsnitten finns tillgänglig. Svara kortfattat på var och en av frågorna med ett av de givna alternativen, alternativt ett specifikt värde. (a) Vad får Sum.Text för värde efter att man fyllt i värden 1 och 2 i fälten samt tryckt på knappen med texten +=? <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:textbox ID="Value1" RunAt="server" /> <asp:textbox ID="Value2" RunAt="server" /> <asp:button ID="Button1" Text=" += " OnClick="Button2_Click" RunAt="server" /> <asp:button ID="Button2" Text=" -= " OnClick="Button1_Click" RunAt="server" /> <asp:label ID="Sum" RunAt="server" /> </form> </body> </html> namespace WebApplication1 public partial class UppgiftA : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) int a = Convert.ToInt32(Value1.Text); int b = Convert.ToInt32(Value2.Text); Sum.Text = (a - b).tostring(); protected void Button2_Click(object sender, EventArgs e) int a = Convert.ToInt32(Value1.Text); int b = Convert.ToInt32(Value2.Text); Sum.Text = (a + b).tostring(); 12

(b) Vad får Sum.Text för värde efter att man fyllt i värden 2 och 3 i fälten samt tryckt på knappen med texten =? <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:textbox ID="Value1" RunAt="server" /> + <asp:textbox ID="Value2" RunAt="server" /> <asp:button ID="Button1" Text=" = " OnClick="Button2_Click" RunAt="server" /> <asp:label ID="Sum" RunAt="server" /> </form> </body> </html> namespace WebApplication1 public partial class UppgiftB : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) Value1.Text += "0"; protected void Button1_Click(object sender, EventArgs e) int a = Convert.ToInt32(Value1.Text); int b = Convert.ToInt32(Value2.Text); Sum.Text = (a + b).tostring(); 13

(c) Vad får Result.Text för värde efter att man fyllt i värdet 4 i fältet samt tryckt på knappen med texten =? <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:textbox ID="Value1" RunAt="server" /> <asp:button ID="Button1" Text=" = " OnClick="Button1_Click" RunAt="server" /> <asp:label ID="Result" RunAt="server" /> </form> </body> </html> namespace WebApplication1 public partial class UppgiftC : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) Cache["0"]=Value1.Text; protected void Button1_Click(object sender, EventArgs e) int a = Convert.ToInt32(Cache["0"]); Result.Text = (a*2).tostring(); 14

(d) Vad får Result.Text för värde efter att man fyllt i värdet 5 i fältet samt tryckt på knappen med texten =? <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="client"> <asp:textbox ID="Value1" RunAt="server" /> <asp:button ID="Button1" Text=" = " OnClick="Button1_Click" RunAt="server" /> <asp:label ID="Result" RunAt="server" /> </form> </body> </html> namespace WebApplication1 public partial class UppgiftD : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) Session["0"]=Value1.Text; protected void Button1_Click(object sender, EventArgs e) string v1 = (string)(session["0"]); int a = Convert.ToInt32(v1); Result.Text = (a*2).tostring(); 15

(e) Vad får Result.Text för värde efter att man valt siffran 5 i multiväljaren? <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:dropdownlist ID="DropList1" OnSelectedIndexChanged="DropList1_SelectedIndexChanged" AutoPostBack="True" runat="server" /> <asp:label ID="Result" RunAt="server" /> </form> </body> </html> namespace WebApplication1 public partial class UppgiftE : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) for (int i = 0; i < 10; i++) DropList1.Items.Add(new ListItem((i + 1).ToString(), i.tostring())); e) protected void DropList1_SelectedIndexChanged(object sender, EventArgs Result.Text = DropList1.SelectedValue; (5p) 16