Skip to content

Commit 8cdedeb

Browse files
committed
Folder fra julefrokosten 2014.
1 parent 5917d34 commit 8cdedeb

21 files changed

+5066
-331
lines changed

2014/.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
/output
1+
/output
2+
*.log

2014/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
BASENAME = sanghaefte
22
BOOKNAME = booklet
3-
FILENAME = sanghaefte13
3+
FILENAME = sanghaefte14
44
OUTDIR = $(CURDIR)/output
55
OUTFILE = $(OUTDIR)/$(FILENAME).pdf
66

2014/README

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Den genererede booklet.pdf har en fejl ift. printeren: Side 6 skal roteres 180
2+
grader, for ellers printes folderen forkert. Brug et pdf-program til det såsom
3+
pdfjam og/eller pdftk og/eller LaTeX. De andre sider er fine.

2014/bagside.tex

+16-20
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,28 @@
55
\\[.1cm]
66
\begin{table}[h!]
77
\begin{tabular}{p{.8\textwidth} p{.2\textwidth}}
8-
\textbf{Øl og vand} & \\
9-
Thy Julebryg (33 cl) & 10 kr\\
10-
Limfjordsporter (33 cl) & 10 kr\\
11-
Ale no. 16 (33 cl) & 10 kr\\
12-
GT (33 cl) & 10 kr\\
13-
Light (33 cl) & 10 kr\\
14-
Carlsberg 47 (33 cl) & 10 kr\\
15-
Leffe (Brune/Blonde) (75 cl) & 40 kr\\
16-
Hoegaarden (75 cl) & 40 kr\\
17-
Franziskaner (Hefe/Dunkel) (50 cl) & 15 kr\\
18-
Julemumme (75 cl) & 40 kr\\
19-
Golden Naked Christmas Ale (75 cl) & 40 kr\\
20-
Semper Arden Christmas Ale (75 cl) & 40 kr\\
21-
Somersby (33 cl) & 15 kr \\[2ex]
8+
\textbf{Øl} & \\
9+
Ale No. 16 (50 cl på fad) & 25 kr.\\
10+
Nørrebro Julebryg (50 cl på fad) & 30 kr.\\
11+
Limfjordsporter (33 cl) & 15 kr.\\
12+
GT (33 cl) & 15 kr.\\
13+
Grøn Tuborg (33 cl) & 10 kr.\\
14+
Somersby (33 cl) & 20 kr. \\
15+
Golden Naked Christmas Ale (75 cl) & 40 kr.\\
16+
Julebock (75 cl) & 40 kr.\\
17+
Hoegaarden (75 cl) & 50 kr.\\[2ex]
2218
\textbf{Drinks} & \\
23-
Alkohol (2 cl) & 10 kr \\
24-
Sodavand & 10 kr \\
25-
Mælk/Juice & 5 kr \\[2ex]
19+
Sodavand & 15 kr.\\
20+
Shot (2 cl) & 10 kr.\\[2ex]
2621
\textbf{Diverse} & \\
27-
Vin (70 cl) & 35 kr\\
28-
Snaps (35cl) & 70 kr\\
22+
Vin (flaske) & 40 kr.\\
23+
Snaps (35 cl) & 50 kr.\\
24+
Klippekort for 60 kr. & 50 kr.\\
2925
\end{tabular}
3026
\end{table}
3127
\end{flushleft}
3228
\begin{figure}[h!]
3329
\begin{center}
34-
\includegraphics[width=.35\linewidth]{../logo.jpg}
30+
\includegraphics[width=.45\linewidth]{../logo.pdf}
3531
\end{center}
3632
\end{figure}

2014/bonusopgaver.tex

+126-86
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,156 @@
11
\section{\huge{Bonusopgaver}}
2-
(til de flittige snapsedrikkere)
32

3+
\setlength{\parindent}{3mm}
44

55
\subsection{Opgave 0}
6-
Skriv en SML funktion, der finder det mindste tal, som er deleligt med alle
7-
tal fra $1$ til $100$.
86

7+
Din IP-instruktor har fået besked på at lave en sjov SML-opgave, men han har
8+
ikke lært at formulere sig letforståeligt, så du får følgende:
99

10-
\subsection{Opgave 1}
11-
Du har IP-adresseblokken 138.72.13.0/22. Hvor mange forskellige IP-adresser
12-
råder du over? Angiv også den højeste og den laveste IP-adresse i dit råderum.
10+
Skriv en SML-funktion \texttt{multifilter} med typen \texttt{($\alpha$ -> bool)
11+
list -> $\alpha$ list -> $\alpha$ list}. Funktionen tager en liste af
12+
funktioner og en liste af $\alpha$-værdier, og giver den liste tilbage, hvor det
13+
for hvert element \texttt{x} i listen gælder at \texttt{x} er en del af
14+
inddatalisten af $\alpha$-værdier, og at \texttt{f(x) = true} for hver funktion
15+
\texttt{f} i listen af funktioner, og at uddatalisten har samme sortering som
16+
inddatalisten.
1317

18+
Du må kun bruge funktioner fra \texttt{List}-modulet.
1419

15-
\subsection{Opgave 2}
16-
Løs følgende ligningssystem:
1720

18-
\begin{align*}
19-
A + B + 2C &= 21 \\
20-
4A + 3D &= 40 \\
21-
B + 2C + 4D &= 49 \\
22-
A + 2B + 2C + 3D &= 58 \\
23-
\end{align*}
21+
\subsection{Opgave 1}
2422

23+
Din vens mor vil lave en opgave om grafer, men hun kan ikke finde på nogen
24+
analogi, og desuden er hun ikke særlig god til at tegne grafer.
2525

26-
\subsection{Opgave 3}
27-
Omskriv tallet $154.7$ til dets 32-bit IEEE 754 repræsentation. Bliver der
28-
mistet præcision?
26+
Brug Prims algoritme til at finde det mindst udspændte træ for grafen:
27+
\begin{center}
28+
\includegraphics[width=.8\textwidth]{figures/graf.pdf}
29+
\end{center}
2930

30-
\subsection{Opgave 4}
3131

32-
Find en tæt øvre og nedre asymptotisk grænse for følgende rekurrensformel
33-
\[
34-
T(n) = T(n/2) + T(n-1)\ .
35-
\]
36-
Antag at $T(n) = O(1)$ for $n < 2$.
32+
\newpage
33+
\subsection{Opgave 2}
3734

35+
I det følgende program har funktionen \texttt{f} dynamisk virkefelt der virker
36+
over funktionsgrænser, mens funktionen \texttt{g} har statisk virkefelt.
3837

39-
\subsection{Opgave 5}
40-
Du skal finde et nyt farveskema til \url{http://kantine.diku.dk}. Farveskemaet
41-
skal være baseret på den mest brugervenlige farve. Hvilken af følgende er det?
42-
\begin{enumerate}
43-
\item Marineblå
44-
\item Azurblå
45-
\item Ultramarin
46-
\item Kornblomst blå
47-
\end{enumerate}
48-
Fremstil en paper mock-up af den nye hjemmeside og foretag en
49-
fokusgruppeundersøgelse med den relevante målgruppe. Rapporter dine resultater
50-
(ca. 40-50 sider) og giv referencer hvor nødvendigt.
38+
\begin{verbatim}
39+
int x = 10; int g(int z) {
40+
return f(z - x);
41+
int f(int y) { }
42+
return x + y;
43+
} int run() {
44+
int x = 3;
45+
return g(1);
46+
}
47+
\end{verbatim}
5148

49+
\noindent{}Hvad returnerer \texttt{run()}?
5250

53-
\subsection{Opgave 6}
54-
Giv et formelt bevis for følgende udsagn:
55-
\[
56-
\forall x P(x)\lor \forall x Q(x)\Rightarrow \forall x \left(P(x)\lor
57-
Q(x)\right)\ .
58-
\]
5951

52+
\subsection{Opgave 3}
6053

61-
\subsection{Opgave 7}
62-
Forklar hvad følgende INTERCAL kode gør. Er programmet høfligt nok? Er det
63-
\emph{for} høfligt?
54+
For at undgå flaskehalse har Kantinebestyrelsen anskaffet sig en ny colaautomat
55+
med et flerbrugersystem, så nu kan $n > 1$ brugere købe cola fra den samme
56+
automat samtidigt. Automaten blev leveret med følgende enterprise-kode:
6457
\begin{verbatim}
65-
DO ,1 <- #13
66-
PLEASE DO ,1 SUB #1 <- #238
67-
DO ,1 SUB #2 <- #108
68-
DO ,1 SUB #3 <- #112
69-
DO ,1 SUB #4 <- #0
70-
DO ,1 SUB #5 <- #64
71-
DO ,1 SUB #6 <- #194
72-
DO ,1 SUB #7 <- #48
73-
PLEASE DO ,1 SUB #8 <- #22
74-
DO ,1 SUB #9 <- #248
75-
DO ,1 SUB #10 <- #168
76-
DO ,1 SUB #11 <- #24
77-
DO ,1 SUB #12 <- #16
78-
DO ,1 SUB #13 <- #162
79-
PLEASE READ OUT ,1
80-
PLEASE GIVE UP
58+
int antal_colaer = 1000;
59+
60+
void køb_en_cola() {
61+
afspil_fanfare();
62+
if (antal_colaer > 0) {
63+
træk_kroner(14);
64+
antal_colaer--;
65+
giv_cola();
66+
}
67+
}
8168
\end{verbatim}
69+
Antag at koden køres samtidigt af flere brugere. Lokalisér kapløbsstriden og
70+
reparér den med en lås.
8271

83-
Hvad er iøvrigt det fulde navn for programmeringssproget INTERCAL?
8472

85-
% Det er hello world
73+
\subsection{Opgave 4}
8674

87-
\subsection{Opgave 8}
88-
Du er givet $n$ linjesegmenter, som udgør en pinball maskine, samt et
89-
$x$-koordinat, hvor en pinball bliver smidt ned i maskinen. Bolden vil falde
90-
nedad (negativ $y$-retning) indtil den rammer en af linjerne. Den følger
91-
derefter linjen nedad indtil linjen slutter, hvorefter den falder videre ned.
92-
Lav en algoritme, der beregner hvilket $x$-koordinat bolder falder ud af i
93-
bunden. Det kan antages, at alle linjesegmenterne hælder, og at ingen af dem
94-
overlapper. Se figuren herunder for et eksempel på hvordan bolden falder ned
95-
igennem pinball maskinen.
75+
Giv et formelt bevis for at
76+
\begin{align*}
77+
\forall x P(x) \lor \forall x Q(x) \lor \forall x R(x) \Rightarrow
78+
\forall x \left(P(x) \lor Q(x) \lor R(x)\right)
79+
\end{align*}
9680

97-
Din algoritme skal køre $O(n\log n)$.
9881

99-
\begin{figure}[h!]
100-
\centering
101-
\includegraphics[width=0.7\linewidth]{figures/pinball.pdf}
102-
\caption{Eksempel på en bolds rute ned gennem pinball maskinen.}
103-
\label{fig:pinball}
104-
\end{figure}
82+
\subsection{Exercise 5}
83+
84+
This one's also for our international guests!
85+
86+
Half-Broken Car in Heavy Traffic (or ``HBCHT'') is a programming language for
87+
the modern, dystopic age. You define a two-dimensional grid in which you place
88+
road redirections, a car, and an exit. You then let the car follow the road
89+
redirections. Unfortunately, the car is half-broken and can never turn left,
90+
relative to its current heading.
91+
92+
A program must contain exactly one car and exactly one exit. When a program
93+
starts, the car turns to a random direction -- either south, west, north, or
94+
east. After the initial car heading has been determined, the car moves one step
95+
in that direction, determines its new direction, moves one step in that
96+
direction, and so on, until it maybe reaches the exit. If the car is at
97+
position $(x, y)$, moving north puts it at $(x, y - 1)$, south at $(x, y + 1)$,
98+
west at $(x - 1, y)$, and east at $(x + 1, y)$. Moves ``wrap around'', so that
99+
e.g. $(0, y)$ moved west becomes $(x_{max}, y)$, where $x_{max}$ is the highest
100+
$x$ value.
101+
102+
The basic road redirections are ``go east'', ``go west'', ``go north'', and ``go
103+
south''. If the car moves to a position where there is a redirection, the car
104+
changes heading unless that means turning left (relative to its current
105+
heading).
106+
107+
To use the car for computations, a scheme has been set up whereby road
108+
redirections double as instructions in a minimal tape-based instruction set.
109+
The program uses a memory tape with cell IDs from $-\infty$ to $+\infty$, and a
110+
program starts on cell $0$. All cells have the initial value $0$ and contain
111+
arbitrary precision integers. The following table describes the road
112+
redirection semantics, along with a final road redirection, and the shorthands
113+
used for programming a grid.
114+
115+
{
116+
\scriptsize
117+
\begin{center}
118+
\begin{tabular}{l|c|p{4cm}}
119+
Redirection & Shorthand & Tape semantics\\\hline
120+
Car start position & \texttt{o} & -\\
121+
Highway exit & \texttt{\#} & Halt program\\
122+
Go east & \texttt{>} & Increment memory cell pointer\\
123+
Go west & \texttt{<} & Decrement memory cell pointer\\
124+
Go north & \textasciicircum & Increment current memory cell value\\
125+
Go south & \texttt{v} & Decrement current memory cell value\\
126+
Maybe go east & \texttt{/} & Go east if the current memory cell $n$ has the same value as
127+
cell $n - 1$; else continue
128+
\end{tabular}
129+
\end{center}
130+
}
131+
132+
\noindent\textbf{6 (a)} Write a program in HBCHT that increments cell 0 and
133+
exits, without causing any other lasting effects, i.e. all other cell values
134+
must have the value $0$ (the start value) when the car hits the exit.
135+
136+
\noindent\textbf{6 (b)} Prove or disprove that HBCHT is Turing complete.
105137

106-
% Brug en sweepline fra top til bottom
107-
\newpage
108-
\subsection{Opgave 9}
109138

110-
Lad $G$ være en plan, 3-regulær, bipartit graf, som er 3-vertex-connected.
111-
Bevis eller modbevis at alle sådanne grafer $G$ indeholder en hamilton cycle.
139+
\subsection{Opgave 6}
140+
141+
$k$ dataloger står på den samme linje på en cirkulær løbebane med omkreds på 1
142+
meter. Startskuddet går, og de begynder alle samtidigt at løbe. Hver datalog
143+
har en unik løbehastighed.
144+
145+
En fysiker opstiller en konjektur: For alle $k \geq 0$ gælder at der for hver af
146+
de $k$ dataloger findes et tidspunkt hvor datalogen er mindst $\frac{1}{k}$ m
147+
væk fra enhver anden datalog i cirklen.
148+
149+
Bevis eller modbevis konjekturen.
150+
151+
\vspace{.1in} \textbf{\emph{NB: Der udloddes en flaske snaps til den første som
152+
kommer op i baren med en korrekt besvarelse af denne opgave!}}
112153

113-
\vspace{.1in}
114-
\textbf{\emph{NB: Der udloddes en flaske snaps til den første som kommer op i baren med en korrekt besvarelse af denne opgave!}}
154+
% Uløst problem: Lonely runner conjecture
115155

116-
% Uløstproblem. "Barnette's Conjecture".
156+
\setlength{\parindent}{0mm}

2014/booklet.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
\usepackage[pdftex]{color,graphicx,epsfig}
33
\usepackage[final]{pdfpages}
44
\begin{document}
5-
\includepdf[pages=-,landscape,booklet]{output/sanghaefte13.pdf}
5+
\includepdf[pages=-,landscape,booklet]{output/sanghaefte14.pdf}
66
\end{document}

2014/figures/braet.pdf

-1.69 KB
Binary file not shown.

0 commit comments

Comments
 (0)