DSDS - ps, Opgavesæt 10

Sidst opdateret 16-04-2008

DSDS

Opgavesæt 10: Åben øvelse

Denne øvelse er en åben øvelse i den forstand at du selv vælger hvad du vil lave. Her er en liste af forslag til øvelser - du er også velkommen til selv at komme med en ide, bare husk den generelle struktur:

  1. konstruktion af datamodel
  2. opstilling af legale transaktioner
  3. tilknytning af transaktioner til web-forms (HTML-sider)
  4. konstruktion af kode til at processere ovenstående web-forms (PHP-scripts)

Husk de "5 hurtige"

Den åbne øvelse vægter 90% og de 5 hurtige 10%

Prøveeksamenssættet, efterår 2000

Implementer prøveeksamenssættet fra efteråret 2000.

Du skal løse sættet elektronisk, d.v.s. implementere din besvarelse i biblioteket ps10/ i dit webbibliotek på ITU's webserver.

ITU Jobbørs

Opgaven består i at konstruere en service som tillader studerende på ITU (og andre steder) at søge i studenterjobs opslået af blandt andet virksomheder. Virksomhederne er selv ansvarlige for at indtaste jobbeskrivelser og for at nedtage jobbeskrivelserne igen.

Den gode løsning tillader at kontaktpersonen i virksomheden skal benytte et password og et brugernanv (evt email) til at konstruere og ændre jobbeskrivelser.

Besvarelsen vil blive bedømt efter samme mønster som opgavesæt 9. Din besvarelse skal altså omhandle de fire punkter:

  1. konstruktion af datamodel
  2. opstilling af legale transaktioner
  3. tilknytning af transaktioner til web-forms (HTML-sider)
  4. konstruktion af kode til at processere ovenstående web-forms (PHP-scripts)

Vedlagt besvarelsen ønskes 10-20 liniers redegørelse for omfanget og indholdet af øvelsen.

Polling-service

Denne øvelse består i at konstruere en mulighed for at enhver kan indsætte ja/nej-spørgsmål på sin hjemmeside, og følge med i fordelingen af svarene. Brugeren som ønsker en polling-service på sin side opretter sig som bruger på servicen. Herefter kan brugeren indsætte direkte links på sin side til PHP-scripts som opdaterer tællere i databasen for ja- og nej-svarene.

eks.:<a href='http://www.mypoll.com/poll.php?pollid=34'>Bliver Joakim gift en tredie gang?</a>

Besvarelsen vil blive bedømt efter samme mønster som opgavesæt 9. Din besvarelse skal altså omhandle de fire punkter:

  1. konstruktion af datamodel
  2. opstilling af legale transaktioner
  3. tilknytning af transaktioner til web-forms (HTML-sider)
  4. konstruktion af kode til at processere ovenstående web-forms (PHP-scripts)

Vedlagt besvarelsen ønskes 10-20 liniers redegørelse for omfanget og indholdet af øvelsen.

Administrationsmodul til eksisterende service

Denne øvelse går ud på at konstruere et administrationsmodul til en af de services du har lavet i tidligere øvelser. Der lægges vægt på at en administrator har alle muligheder for at styre servicen, uden at skulle tilgå databasen via MySQL-prompten.

Forslag til indhold: Login, slette/tilføje/rette (hvad end det er brugere, events etc)

Besvarelsen vil blive bedømt efter samme mønster som opgavesæt 9. Din besvarelse skal altså omhandle de fire punkter:

  1. konstruktion af datamodel
  2. opstilling af legale transaktioner
  3. tilknytning af transaktioner til web-forms (HTML-sider)
  4. konstruktion af kode til at processere ovenstående web-forms (PHP-scripts)

Vedlagt besvarelsen ønskes 10-20 liniers redegørelse for omfanget og indholdet af øvelsen.

Opgave B (10 procent) - 5 hurtige

  1. Hvad er en variabel? Du må gerne svare ved at bruge et eksempel.
  2. Hvad er en funktion? Hvorfor bruger man funktioner?
  3. Givet funktionen UdskrivNavn og arrayet $navn nedenfor:
    1. Lav et kald til funktionen UdskrivNavn med $navn som argument.
      Hvor i koden vil du placere funktionskaldet?
    2. Skriv den html kode som returneres til browseren ved et kald til funktionen UdskrivNavn med $navn som argument.
    3. Omskriv funktionen UdskrivNavn så den returnerer html'en istedet for at udskrive den. Og vis hvordan funktionen kaldes.
    4. Omskriv funktionen UdskrivNavn med en while-løkke i stedet for en for-løkke. Et kald til funktionen UdskrivNavn (med $navn som argument) implementert med while-løkken skal give det samme resultat som med for-løkken.
  4. Hvad er forskellen på et right/left join og et almindeligt join? Brug gerne tabeller fra tidligere øvelser eller fra forelæsningene som eksempler når du svarer.

function UdskrivNavn($navn) 
  {
    $size=sizeof($navn);
    $tmp="<ul>";

    for ($i=0; $i<$size; $i++)
      {
        $tmp= $tmp."<li>$navn[$i]</li>";
      }

    $tmp=$tmp."</ul>";
    echo $tmp;
}


$navn=array();
$navn[0]="Ane";
$navn[1]="Katrine";
$navn[2]="Thomas";
$navn[3]="Christian";

Rigtig god fornøjelse


Martin Elsman - mael@itu.dk
Jonas Holbech - holbech@itu.dk

Valid HTML 4.01 Transitional