IN Seminaroppgaver til uke 11

Like dokumenter
Seminaroppgaver IN1010, uke 2

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Eksamensoppgaver 2014

IN Notat om I/O i Java

IN1000 Obligatorisk innlevering 7

INF1000 Eksamen 2014 (modifisert)

UNIVERSITETET I OSLO

Endret litt som ukeoppgave i INF1010 våren 2004

INF120: Oblig 3. Yngve Mardal Moe

Informasjon Prøveeksamen i IN1000 høsten 2018

UNIVERSITETET I OSLO

Objektorientert programmering i Python

INF1000 Eksamen 2014 (modifisert)

Øvingsforelesning 5 Python (TDT4110)

Læringsmål uke 7. Introduksjon til objektorientert programmering. Paradigmet objektorientering. Objektreferanser. INF1001 Høst 2016 Uke 7

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

Øvingsforelesning 5 Python (TDT4110)

INF Ekstrainnlevering

Innhold uke 8. Objekter: Bruk og intern organisering. Beskjeder: Oblig 1 6. Beskjeder: Oblig 7 (og 8)


UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

Repetisjon Novice Videregående Python PDF

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

INF1000 Prøveeksamen Oppgave 7 og 9

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

Finne ut om en løsning er helt riktig og korrigere ved behov

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hvorfor objektorientert programmering?

INF Notat om I/O i Java

INF Løsning på seminaropppgaver til uke 8

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Obligatorisk oppgave 5: Labyrint

Prøveeksamen IN1000. IN Prøveeksamen. Dato november 2017 Tid 12:30-12:00 Alle trykte og skrevne hjelpemidler er tillatt.

INF Seminaroppgaver til uke 3

Obligatorisk oppgave 1: Regneklynge

Oblig4 - forklaringer. Arne og Ole Christian

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

Enkle generiske klasser i Java

Oppgaver uke 1: Løsningsforslag

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

INF1000-SIKT - Notat om I/O i Java

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

Forside. 1 Hva skrives ut?

UNIVERSITETET I OSLO

Oblig4 - forklaringer. Arne og Ole Christian

IN1010 V19, Obligatorisk oppgave 2

IN1000 Repetisjonskurs: IO og listeoperasjoner (+ string)

Finne ut om en løsning er helt riktig og korrigere ved behov

AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1

Gjennomgang av eksamen H99

Klasser og objekter. Tuva Kristine Thoresen 21. oktober Institutt for Informatikk

Introduksjon til objektorientert programmering

Steg 1: Rest etter divisjon

HØGSKOLEN I SØR-TRØNDELAG

Løse reelle problemer

Anta at følgende programsetninger utføres. Hva skrives ut på skjermen? Hva skrives ut her (skriv nøyaktig de karakterene som printes, og bare de)?

Informasjon Eksamen i IN1000 høsten 2017

IN1010 V18, Obligatorisk oppgave 5

INF Uke 10. Ukesoppgaver oktober 2012

UNIVERSITETET I OSLO

INF Innleveringsoppgave 6

Klasser og objekter. Tuva Kristine Thoresen 4. november Institutt for Informatikk

INF100 INNLEVERING 3 HØSTEN 2004

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

UNIVERSITETET I OSLO

INF Uke 11. Ukeoppgaver oktober 2012

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Oppgave 1.1 (1 poeng) Oppgave 1.2 (2 poeng) Oppgave 1.3 (2 poeng) 1.1

Oppgaven består av to deler, del A og del B. Alle skal besvare både del A og del B, men det finnes noen valgmuligheter innenfor hver del.

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

Obligatorisk oppgave 4: Lege/Resept

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

UNIVERSITETET I OSLO

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. Grunnleggende programmering

UNIVERSITETET I OSLO

Oblig 4Hybelhus litt mer tips enn i oppgaven

Kontinuasjonseksamen

INF1000: noen avsluttende ord

TDT4110 IT Grunnkurs Høst 2016

Øvingsforelesning 7 i Python (TDT4110)

Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl

Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1

UNIVERSITETET I OSLO

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

K O N T I N U A S J O N S E K S A M E N

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

UNIVERSITETET I OSLO

INF Obligatorisk innlevering 7 - Hangman

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

PGZ - Hangman Ekspert Python Lærerveiledning

Transkript:

IN1000 - Seminaroppgaver til uke 11 Fortsettelse på Studentsystemet: Du har allerede laget Fag-objekter som holder oversikt over sine Studenter, og Student-objekter som holder oversikt over sine Fag. Nå skal dere lage et objekt StudentSystem som skal knytte alle fag sammen og holde oversikten over alle studenter og alle fag, samt å tilby en del operasjoner for brukeren. Programmet skal tilby følgende operasjoner: Legge til ny student. Legge til nytt fag. Legge til et nytt fag til en student/legge til en ny student til et fag. Skrive ut alle studenter som tar et fag. Skrive ut alle fag en student tar. Finne ut hvilket fag som blir tatt av flest studenter. Finne ut hvilken student som tar flest fag. Fjerne en student fra et fag/fjerne et fag fra en student. (Legg til metoder i Student og Fag) Avslutt program. Programmet skal lese inn fra en gitt fil; emnestudenter.txt. Filen er på følgende format (filinnlesningen skal løses i oppgave 1.2): *MAT1001 Emilie Jonathan Henrik Mari Esben Gard Fridtjof *MAT1100 Mathias Ole Petter Elsie Emilie Andreas Martin Oppgave 1 1.1 Lag en klasse Studentsystem. Skriv konstruktøren for Studentsystem, denne skal ved opprettelsen ikke ta inn noen parametre, men skal lage en tom liste som skal holde på studenter og en tom liste som skal holde på fag.

1.2 Lag en metode i Studentsystem som håndterer innlesning fra fil, hvor filnavnet sendes med som parameter. Alle studenter skal legges inn i listen over Studenter og alle Fag inn i listen over Fag. Pass på så du ikke legger til duplikater av studenter (anta at alle studenter har unikt navn). Her kan du ha bruk for metoden du skriver i 1.3. Merk: studentene må i tillegg meldes opp til faget de ligger under (legges til i Fagets liste over studenter) og studentene må legge til faget i sin oversikt/liste over fag. 1.3 Lag en metode i Studentsystem som finner og returnerer en Student basert på navn. Metoden skal returnere None dersom faget ikke finnes i listen. Merk: her må du bruke student-objekenes hentstudentnavn()-metode. 1.4 Lag en metode i Studentsystem som finner og returnerer et Fag basert på navn/fagkode. Oppgave 2 2.1 Lag en metode som ber om et Student-navn (input fra bruker) og skriver ut alle fagene som den aktuelle studenten tar. Dersom studenten ikke finnes skal en beskjed skrives ut til brukeren. Hint: Bruk metoden du skrev i 1.3 samt Student sin metode skrivfagpaastudent() 2.2 Lag en metode som ber om et Fag-navn (input fra bruker) og skriver ut alle studentene som tar det aktuelle faget. Dersom faget ikke finnes skal en beskjed skrives ut til brukeren. 2.3 Lag en metode som finner ut hvilken student som tar flest fag. Resultatet kan skrives ut i terminalen. Hint: Bruk studentenes hentantallfag()-metode. 2.4 Lag en metode som finner ut hvilket fag som blir tatt av flest studenter. Resultatet skrives ut i terminalen. Oppgave 3 3.1 Lag en metode som legger til en ny student i systemet, husk å sjekke om studenten allerede finnes. 3.2 Lag en metode som legger til et nytt fag i systemet, husk å sjekke om faget allerede finnes.

Oppgave 4 4.1 Lag en metode for å registrere en student ved ett fag (hvor studentens og fagets navn gis som input fra bruker). Husk å sjekke at både studenten og faget er registert (finnes i listen over alle fag og alle studenter), samt at studenten ikke allerede tar faget. Tips for å sjekke om studenten allerede tar faget; legg til metoden tarfag() i student, som tar inn et fag og returnerer True dersom den finnes i studentens liste over fag, og false dersom faget ikke finnes, feks slik: def tarfag (self, fag): return fag in self._fagliste Oppgave 5 Lag en metode i Studentsystem som håndterer ordreløkken. For hver ordre skal det kalles på en metode. Lag gjerne en metode som heter skrivmeny() som kun skriver ut oversikten over alle valgene. Oppgave 6 Lag et lite hovedprogram som oppretter et studentsystem. Les inn filen fagliste.txt (kall på studentsystemets innlesnings-metode). Start deretter ordreløkken. Oppgave 7 - Hvis tid Lag en metode som sletter en student fra ett fag (hvor studentens og fagets navn gis som input fra bruker). Husk å sjekke at både studenten og faget er registert (finnes i listen over alle fag og alle studenter), samt at studenten må ta faget. NB! Her bør man legge til en metode i Fag og en metode i Student, disse er gitt under: I student: def fjernfag (self, fag): self._studentliste.remove(fag) I fag: def fjernstudent (self, student): self._studentliste.remove(student)