Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Labb 5" mellan 2015-09-15 15:47 av Åsa Björndahl och 2015-09-15 15:53 av Åsa Björndahl.

Visa < föregående ändring.

Labb 5

Gör följande uppgift, kraven måste uppfyllas. TV-objektsimulatorn Scenario betyder en exempelkörning av simulatorn.OBS! I scenariot har vi, för att tydliggöra vad som är användarens inmatning och vad som är utskrift från simulatorn, valt text med röd färg som användarens inmatning och text med svart färg som simulatorns utskrift. Ditt program behöver alltså inte hantera färgeri fetstil som simulatorns utskrift och användarens i normal text.Skriv ett program som simulerar TV-apparater. Användaren ska kunna välja en kanal samt kunna öka och sänka ljudvolymen. Se till att kanalerna respektive ljudvolymen håller sig inom rimliga värden, man ska t.ex inte kunna välja 7 som kanal då det endast finns 4 kanaler att välja mellan.1. Skapa en lista med kanaler och program. När ett TV-objekt skapas använder konstruktorn kanal- och program- listan för att hämta aktuella program som sänds. Du kan anta att följande program sänds:MTv: Music is lifeTv 3: Har du tur i kärlek?Svt 1: Pengar är inte alltKanal 4: Vem vill inte bli miljonär?Initial kanal kan vara första kanal i kanallistan, i detta fall "MTv", men när simulatorn har använts ett tag och användaren väljer att avsluta simulatorn ska information om TV-apparater och deras status lagras i en fil. Information i filen ska sedan användas när man startar simulatorn igen. TV-apparaterna ska alltså ha samma kanal och samma volym som de hade då den senaste körningen avslutades. 2. Ljudvolymen kan ha värden 0 till 10. Se till att användaren kan ändra samt att ljudvolymen håller sig inom rimliga värden d.v.s. mellan 0 och 10.En körning av simulatorn kan se ut som nedan:datorn:> python3 tv_simulatorn.py***Välkommen till TV-simulatorn, vi har två TV-apparater som kan användas i simuleringen****1. VardagsrumsTV2. Köks TV3. AvslutaVälj: 4Fel val, försök igen: 7Fel val, försök igen: 0Fel val, försök igen: 1VardagsrumsTV:Tv-program: Music is lifeKanal: MTvLjudvolymen: 31. Byt kanal2. Sänk ljudvolym3. Höj ljudvolym4. Gå till huvudmenynVälj: 3VardagsrumsTV:Tv-program: Music is lifeKanal: MTvLjudvolymen: 41. Byt kanal2. Sänk ljudvolym3. Höj ljudvolym4. Gå till huvudmenynVälj: 11. MTv: Music is life2. Tv 3: Har du tur i kärlek?3. Svt 1: Pengar är inte allt4. Kanal 4: Vem vill inte bli miljonär?Välj: 0Fel val, försök igen: 3VardagsrumsTV:Tv-program: Pengar är inte alltKanal: Svt 1Ljudvolymen: 41. Byt kanal2. Sänk ljudvolym3. Höj ljudvolym4. Gå till huvudmenynVälj: 41. VardagsrumsTV2. Köks TV3. AvslutaVälj: 3Simuleringen avslutasdatorn:> python3 tv_simulatorn.py***Välkommen till TV-simulatorn, vi har två TV-apparater som kan användas i simuleringen****1. VardagsrumsTV2. Köks TV3. AvslutaVälj: 1VardagsrumsTV:Tv-program: Pengar är inte alltKanal: Svt 1Ljudvolymen: 41. Byt kanal2. Sänk ljudvolym3. Höj ljudvolym4. Gå till huvudmenynVälj: 3osv.....Krav:
* En klass som representerar TV-apparat ska deklareras i en egen fil. Huvudprogrammet ska skivas i en egen fil som importerar filen med deklaration av TV-apparaten. Förutom att programmet går att köra felfritt är strukturering av programmet också viktigt med metoderna bytKanal, sank_volym, hoj_volym, menyer och kanske diverse andra funktioner och metoder som gör att man får ett välstrukturerat program.
* Inför felhantering i ditt program. Om det finns 4 kanaler att välja mellan och man väljer t.ex 7 ska man få ett felmeddelande. Därefter ska man ha möjlighet att välja igen. Använd dessutom try, except för att fånga in annan inmatning än tal.
* Man ska inte kunna välja ett tal som ljudvolym, utan att endast kunna sänka eller höja volym.
* Inga koduppreppningar i din kod. Tips: Definiera generella funktioner med parametrar.
* Tänk på att metoderna i klassen TV ska inte ha några anrop till input och print, d.v.s inga inläsningar eller utskrift i metoderna ska finnas. Använd parametrar för indata och returvärde för utdata.
* Simulatorn ska komma ihåg apparaternas kanal och volym mellan varje körning, t.ex om vardagsrumsTVs kanal är Svt 1 och volymen är inställd på 7 innan man avslutar simulatorn, ska vardagsrumsTV visa programmet som sänds från Svt 1 och volymen ska vara inställd på 7 när man startar simulatorn nästa gång.