Skip to content
Snippets Groups Projects
Verified Commit 934028d1 authored by Eirik Lorgen Tanberg's avatar Eirik Lorgen Tanberg
Browse files

Initial commit

parents
No related branches found
No related tags found
No related merge requests found
Showing
with 590 additions and 0 deletions
# Created by https://www.toptal.com/developers/gitignore/api/jupyternotebooks,python,visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=jupyternotebooks,python,visualstudiocode
### JupyterNotebooks ###
# gitignore template for Jupyter Notebooks
# website: http://jupyter.org/
.ipynb_checkpoints
*/.ipynb_checkpoints/*
# IPython
profile_default/
ipython_config.py
# Remove previous ipynb_checkpoints
# git rm -r .ipynb_checkpoints/
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
# IPython
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
# End of https://www.toptal.com/developers/gitignore/api/jupyternotebooks,python,visualstudiocode
\ No newline at end of file
Eksamensoppgaver/eksamen_kont_2015/img/3a_ex.png

11.7 KiB

Eksamensoppgaver/eksamen_kont_2015/img/3b_ex.png

14.9 KiB

Eksamensoppgaver/eksamen_kont_2015/img/3c_ex.png

45.7 KiB

Eksamensoppgaver/eksamen_kont_2015/img/3d_ex.png

38.5 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4a_ex.png

29.1 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4b_ex.png

45.8 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4c_ex.png

64.2 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4c_tuppel.png

16.5 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4d_ex.png

42.8 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4e_ex.png

20.9 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4f_biler.png

54.7 KiB

Eksamensoppgaver/eksamen_kont_2015/img/4f_ex.png

92.6 KiB

Eksamensoppgaver/eksamen_kont_2015/img/yatzy.png

143 KiB

%% Cell type:markdown id: tags:
# Eksamen kont 2015 Programmering
**Merk at teori og kodeforståelse ikke er med her.**
Hele eksamen ligger på BlackBoard. Her ligger også funksjoner som var vedlagt oppgaven, som kan være nyttig å bruke mens du arbeider med oppgavene under.
%% Cell type:markdown id: tags:
## *Oppgave 3 Programmering Yatzy (15%)*
Du kan anta at alle funksjonene mottar gyldige argumenter (inn-verdier).
I denne oppgaven skal du skrive noen funksjoner til spillet Yatzy. I Yatzy spiller man med 5 terninger
der målet er å få høyest poengsum på ulike sammensetninger av terninger som ett par, to par, tre like,
fire like, liten straight, stor straight, hus, sjanse og yatzy.
<img src="img/yatzy.png" width="250px" align="left">
%% Cell type:markdown id: tags:
## Oppgave 3 a) (3%)
Lag funksjonen **throw** som har inn-parameteren **n**. Funksjonen skal returnere en liste med **n**
tilfeldige verdier mellom 1 og 6.
Eksempel på kjøring av funksjonen og hva den returnerer:
<img src="img/3a_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 3 b) (3%)
Lag funksjonen **chance** som har inn-parameteren **dice** som er en liste med fem elementer med
verdier mellom 1 og 6. Funksjonen skal returnere summen av alle elementene i lista og skal lages
uten ved hjelp av innebygde funksjoner for å summere lister.
Eksempel på kjøring av funksjonen og hva den returnerer:
<img src="img/3b_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 3 c) (4%)
Lag funksjonen **house** som har inn-parameteren **dice** som er en liste med fem elementer med
verdier mellom 1 og 6. Funksjonen skal returnere summen av alle terningene hvis verdiene i **dice**
har både 3 like og ett par (f.eks. 4,4,4,2,2 eller 1,1,6,6,6), hvis ikke skal verdien 0 returneres.
Funksjonen skal også returnere verdien 0 hvis alle elementene i **dice** er like.
Eksempel på kjøring av funksjonen og hva den returnerer:
<img src="img/3c_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 3 d) (5%)
Lag funksjonen **straight** som har inn-parameteren **dice** som er en liste med fem elementer med
verdier mellom 1 og 6. Funksjonen skal undersøke om listen representerer en liten eller stor straight.
Følgende skal returneres:
For en liten straight (liste som inneholder tallene 1,2,3,4,5) skal funksjonen returnere tallet 15. For en
stor straight (liste som inneholder tallene 2,3,4,5,6) skal funksjonen returnere tallet 20. For en liste
som er verken liten eller stor straight skal funksjonen returnere tallet 0.
Eksempel på kjøring av funksjonen og hva den returnerer:
<img src="img/3d_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## *Oppgave 4 Programmering vitneobservasjoner (45%)*
I noen av oppgavene kan det være gunstig å kalle funksjoner som du har laget i tidligere deloppgaver.
Selv om du ikke har fått til den tidligere oppgaven, kan du kalle funksjon derfra med antagelse om at
den virker som spesifisert i oppgaveteksten.
Politiet trenger et system for å sjekke om vitneobservasjoner av kjøretøyer fra hendelser som
etterforskes, stemmer med faktiske kjøretøyer i et register.
## Oppgave 4 a) (5%)
Skriv en funksjon **les_inn_bilinfo( )** som leser inn fra tastatur vitnets observasjon av bilmerke,
modell og farge for et kjøretøy. Funksjonen skal returnere disse tre opplysningene i en liste.
Eksempel på kjøring (det i fete typer tastes inn av brukeren):
<img src="img/4a_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 4 b) (5%)
Skriv en funksjon **sjekk_bil( )** som sammenligner to lister som hver inneholder tre tekststrenger, der
den ene lista representerer en vitneobservasjon og den andre en faktisk bil. I vitneobservasjonen kan
felt inneholde '?' som betyr at vitnet var usikker på den informasjonen. Funksjonen skal returnere
True eller False. True hvis det er full match eller hvis avvik kun gjelder ‘?’, False hvis det fins avvik
som ikke er ‘?’.
Eksempler på kjøring:
<img src="img/4b_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 4 c) (5%)
Gitt tuppelet
<img src="img/4c_tuppel.png" width="450px" align="left">
%% Cell type:markdown id: tags:
Dette inneholder bokstaver som er lov å bruke på moderne norske bilskilt, samt ‘?’ helt bakerst (hvis
vitnet ikke husker). Skriv en funksjon **les_gyldig_vitneskilt()** som leser inn fra tastatur en streng på
nøyaktig 7 tegn, hvorav de 2 første tegnene skal være tegn fra tuppelet SKILTBOKSTAV, og de fem
siste tegnene skal være tall eller ?. Ved feil input skal funksjonen be brukeren gjøre et nytt forsøk,
inntil input er gyldig. Da skal funksjonen returnere strengen.
Eksempel på kjøring:
<img src="img/4c_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 4 d) (5%)
Skriv en funksjon **match( )** som skal sjekke om et vitneobservert skilt kan stemme overens med et
faktisk skiltnummer. Funksjonen må ta inn de to strengene som skal sammenlignes som parametere.
Returner True hvis det er en hel match (strengene er identiske) eller mulig match (de eneste
forskjellene skyldes ?), og False hvis de to ikke kan stemme overens.
Eksempel på kjøring:
<img src="img/4d_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 4 e) (5%)
Skriv en funksjon **match_liste( )** som sammenligner ett vitneobservert skilt med en liste av faktiske
skilt. Funksjonen skal returnere lista av alle skilt som kan stemme med det observerte skiltet.
Eksempel på kjøring:
<img src="img/4e_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
%% Cell type:markdown id: tags:
## Oppgave 4 f) (20%)
Anta at vi har en tekstfil `biler.txt` med format som vist i utdraget under, dvs. skiltnummer,
bilmerke, modell, farge og navn på eier, hvor hvert element er adskilt med mellomrom.
<img src="img/4f_biler.png" width="700px" align="left">
%% Cell type:markdown id: tags:
Skriv et skript eller en main()-funksjon som gjør følgende:
- Les inn data fra fila `biler.txt` og putter i en dictionary. Bruk unntaksbehandling for å unngå
krasj hvis fila mangler.
- La brukeren sjekke den ene vitneobserverte bilen etter den andre opp mot det som fins i
dictionary’en, inntil brukeren ønsker å slutte.
- For hver bil som sjekkes, skriv ut potensielle treff til skjerm, dvs. alle biler hvor de
opplysningene som ikke var ‘?’, matchet. Vis på skjerm skiltnummer og navn på eier.
- Hvis ingen kjøretøy matcher, skal programmet skrive ut 'Ingen match'
Du bestemmer selv om du vil skrive all koden for dette i skriptet / main( ), eller om du vil dele det
opp i flere funksjoner, men god oppdeling vil telle positivt der det er naturlig. Likeledes vil det telle
positivt om du klarer å bruke funksjoner fra tidligere deloppgaver der det passer.
Eksempel på kjøring (hvis fila kun besto av de linjene som var vist i utdraget ovenfor):
<img src="img/4f_ex.png" width="700px" align="left">
%% Cell type:code id: tags:
``` python
# Skriv ditt svar her...
```
Eksamensoppgaver/eksamen_kont_2017/img/2a_ex.png

106 KiB

Eksamensoppgaver/eksamen_kont_2017/img/2b_ex.png

34.1 KiB

Eksamensoppgaver/eksamen_kont_2017/img/2c_ex.png

40.9 KiB

Eksamensoppgaver/eksamen_kont_2017/img/2d_ex.png

60.9 KiB

Eksamensoppgaver/eksamen_kont_2017/img/2e_ex.png

60.2 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment