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



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

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: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

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

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

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

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

ASP.NET Thomas Mejtoft

Introduk+on +ll programmering i JavaScript

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

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

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

Systemvetarutbildningen och dataekonomutbildningen

Tentamen OOP

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

En snabb titt på XML LEKTION 6

Systemvetarutbildningen och dataekonomutbildningen

JAVASCRIPT. Beteende

Systemvetarutbildningen och dataekonomutbildningen

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

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#

F8 Webbteknologier 1. Dynamiska webbsidor

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

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

Objektorienterad programmering D2

SMD 134 Objektorienterad programmering

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

DAT043 - Föreläsning 7

Omtentamen i OOSU2, 21 augusti 2014

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Programmering för språkteknologer II, HT2014. Rum

Introduktion till PHP

Language Integrated Query, LINQ, och databaser

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Dugga Datastrukturer (DAT036)

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Tentamen, EDAA20/EDA501 Programmering

Föreläsning 9: Arv och UML

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h

Hantera informationspaket i system för bevarande

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

Tentamen Programmeringsteknik II och NV2 (alla varianter) Skriv bara på framsidan av varje papper.

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

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

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

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.

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

Webbservrar, severskript & webbproduktion

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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Modul 8 Hantering av indata

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

Objektsamlingar i Java

Classes och Interfaces, Objects och References, Initialization

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

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

Tentamen, EDA501 Programmering M L TM W K V

Chapter 3: Using Classes and Objects

endast har ett korrekt alternativ. Om

Statistik över heltal

Avancerade Webbteknologier

OOP Omtenta

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

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

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Tentamen. Grundläggande programmering i Java A 5p, DTAA

Introduktion till arv

TENTAMEN OOP

Snabbguide Visma Compact API Version 5.1 Copyright Visma Spcs AB Visma Compact API

Tentamen i Objektorienterad programmering

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

DAT043 - föreläsning 8

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

OOP Objekt-orienterad programmering

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen, EDAA10 Programmering i Java

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.

Introduktion till Entity Framework och LINQ. Källa och läs mer

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

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)

Övning. Introduktion och förberedelser

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

DAT043 Objektorienterad Programmering

DELPROV 1 I DATAVETENSKAP

MVC med Javascript och Ajax. Filip Ekberg

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

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

Programmering A. Johan Eliasson

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

Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet


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

Transkript:

Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2014-06-13 Tid: 09.00 13.00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: För att få respektive betyg krävs: G=23 VG=33 40 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 Telefonnummer: 033 435 4426

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) Document Object Model (DOM) används i huvudsak för att? i. Dynamiskt skapa XML-dokument på servern med hjälp av C# och ASP. ii. Komma åt delar av ett XHTML-dokument med hjälp av javascript på klienten. iii. Ändra delar av ett XHTML-dokument via programspråket Java på servern. iv. Läsa in och skriva XML-dokument på valfritt filsystem. (b) Ett giltigt (eng. valid) XHTML 1.1-dokument måste ha? i. Minst ett html-element och ett överensstämmande schema. ii. Endast ett rot-element och alla taggar avslutade. iii. Högst ett html-element och inte innehålla tecknen < och >. iv. Innehålla en <?xml?>-tagg och ett html-element innehållande ett head- och ett body-element. (c) Information i XML som kan innehålla godtyckliga tecken beskrivs som? i. Namnrymder (Namespaces) ii. Character Data (CDATA). iii. Ett datafält med hjälp av taggen <data>. iv. Parsed Character Data (PCDATA). (d) 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 ersätta alla tillämpningar av PHP. iii. Programspråket JavaScript är en delmängd av programspråket Java. iv. JavaScript körs enbart när ett HTML dokument skapas. (e) Programspråket PHP är ett? i. Starkt typat språk. ii. Språk utan några typer alls. iii. Språk utan statisk typkontroll som använder coercing mellan typer. iv. Språk med endast en typ av variabler och värden. (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 = 2; $y = 3; print("$x+$y"); (b) Vad blir utskriften från nedanstående program? <?php?> $x = 2; $y = 3; print('$x+$y'); (c) Vad blir utskriften från nedanstående program? <?php?> $x = "2.5"; $y = 3; printf('$x + $y = %d', $x+$y); 8

(d) Vad blir utskriften från nedanstående program? <?php?> $x = "3"; $y = 5; print($x/$y); (e) Vad blir utskriften från nedanstående program? <?php?> $x = array('a' => 1, 'b' => 5, 2.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=4&b=3? <%-- 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=2&b=1? <% 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=3&b=2? <% 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=3&b=2? <% 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=2&b=1? <%@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 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: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 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: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 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="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 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="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 3 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