\documentclass[11pt,norsk]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}

\usepackage{../MAT-INF1100-oppg}


\begin{document}
\begin{flushright}
\small 3.~september, 2015
\end{flushright}
\vspace{10mm}

\begin{center}
\huge MAT-INF 1100: Obligatorisk oppgave 1\\
\vspace{5mm}
\Large  Innleveringsfrist: 17/9-2015, kl. 14:30
\end{center}
\vspace{1mm}


\subsection*{Informasjon} Den skriftlige besvarelsen skal enten leveres i Devilry, eller i obligkassa som står i gangen utenfor ekspedisjonen i 7.~et. i Niels Henrik Abels hus.
Frist er {\em kl. 14.30 torsdag 17/9}. Besvarelsen {\em skal} være skrevet av deg selv, for hånd eller på datamaskin.

Studenter som blir syke eller av andre grunner trenger å søke om utsettelse for denne obligatoriske oppgaven, må ta kontakt med studieadministrasjonen ved Matematisk institutt (7.
et. Niels Henrik Abels hus, telefon 22~8558 88,  e-post: studieinfo@math.uio.no) i god tid før innleveringsfristen.

Du kan lære masse fra medstudenter så det er både lurt og lærerikt å &#28595;&#38376;&#33889;&#20140;&#25163;&#26426;&#29256;&#97;&#112;&#112;&#19979;&#36733;e med andre i arbeidet med oppgavene.  Gruppelærerne har også anledning til å hjelpe, men ikke med ferdige løsninger. Målet med den
obligatoriske oppgaven er at den skal bidra til læring, men {\em den endelige besvarelsen som du leverer må du skrive selv, og du må kunne redegjøre for innholdet ved en eventuell muntlig høring (aktuelt ved mistanke om ren avskrift, det gir dessverre ikke så mye læring :-)).}

Husk at de to obligatoriske oppgavene i MAT-INF 1100 begge må bestås for å kunne gå opp til endelig eksamen i kurset.
{\em For å få bestått på denne første obligatoriske oppgaven må du gjøre seriøse løsningsforsøk på alle oppgavene, og minst to av de fire oppgavene bør være riktig besvart.}
\newpage

\begin{oppgaver}

\oppgave Uttrykk følgende tall som en sifferutvikling i 2-tallsystemet, det vil si skriv dem på formen  $(d_n d_{n-1}\ldots d_1 d_0\, .\,  d_{-1}d_{-2}\ldots)_2$. Angi den repeterende sekvensen i de tilfellene der sifrene gjentar seg.
\begin{deloppgaver}
\oppgave $\textrm{da7}_{16}$
\oppgave $29/64$
\oppgave $1/25$
\oppgave $0.4_{16}$
\oppgave $\textrm{b2c}_{16}/1000_{16}$.

\end{deloppgaver}

\oppgave 
Følgen $\{x_n\}$ er gitt ved differensligningen
$$
x_n=\bigl(\cos(x_{n-1})\bigr)^2\sin(x_{n-2}) \quad \text{for $n\ge2$}
$$
og  $x_0=\pi/2$ og $x_1=3$.
Vis ved induksjon at $0\le x_n\le 1$ for alle heltall $n\ge2$. 

\oppgave  
I denne oppgaven skal vi løse annengradsligninger på datamaskin.

\begin{deloppgaver} 

\oppgave Skriv et Python-program som regner ut de reelle røttene til annengradspolynomet $a x^2+b x + c=0$, og skriver de ut. Du kan bruke formlene  
$$x_1=\frac{-b-\sqrt{b^2-4ac}}{2a}, \quad x_2=\frac{-b+\sqrt{b^2-4ac}}{2a}$$
for de to løsningene. Koeffisientene  $a$, $b$ og $c$ er reelle tall, og skal leses inn fra terminalen. Programmet ditt trenger ikke ta høyde for at $a$ kan være $0$, eller at du
kan få et negativt tall under rottegnet. Test programmet ditt med tre eksempler som du også løser manuelt for å sjekke at det er riktig.

\oppgave
Bruk programmet i a) til å løse ligningen
$$10^{-8}x^2+10x+10^{-8}=0$$
(i terminalen kan du skrive {\tt 1e-8} i stedet for {\tt 10**(-8)}, for at Python skal klare å tolke tallene som flyttall).
En av røttene $x_1$, $x_2$ som maskinen regner ut vil få stor relativ avrundingsfeil på datamaskinen. Hvilken av røttene gjelder dette, og hva skyldes det?
Foreslå en alternativ formel for denne roten som unngår problemet.

\end{deloppgaver}

\pagebreak
\oppgave
Følgende python-program er gitt:

\begin{verbatim}
from random import random

antfeil = 0; N = 10000
x0 = y0 = z0 = 0.0
feil1 = feil2 = 0.0

for i in range(N):
    x = random(); y = random(); z = random();
    res1 = (x + y)**3
    res2 = x**3 + 3*x**2*y + 3*x*y**2 + y**3
    
    if res1 != res2:
        antfeil += 1
        x0 = x; y0 = y; z0 = z
        feil1 = res1
        feil2 = res2

print (100. * antfeil/N)
print x0, y0, z0, feil1 - feil2
\end{verbatim}

En kjøring av programmet ga utskriften

{\small\begin{verbatim}
50.64
0.82693218052 0.276620385833 0.244855430623 -4.4408920985e-16
\end{verbatim}
}

\begin{deloppgaver}
\oppgave Forklar hva programmet gjør og hva utskriften forteller oss.
\oppgave Endre programmet slik at det i stedet sammenligner de to størrelsene \verb/x+(y+z)/ og \verb/(x+y)+z/, og kjør det på nytt. Du skal nå se at det første tallet som blir
skrevet ut er lavere enn det første tallet som ble skrevet ut over (d.v.s. {\tt 50.64}). Kan du tenke deg en mulig forklaring på dette?
\end{deloppgaver}

\vspace{1cm}
\centerline{\em Lykke til!!}

\end{oppgaver}




\end{document}




