Läromedel för GY2011 PROGRAMMERING 1. Programmering 1 ARBETSBOK. Krister Trangius 2012 ISBN: Thelin Läromedel.

Storlek: px
Starta visningen från sidan:

Download "Läromedel för GY2011 PROGRAMMERING 1. Programmering 1 ARBETSBOK. Krister Trangius 2012 ISBN: Thelin Läromedel."

Transkript

1 Läromedel för GY2011 PROGRAMMERING 1 Programmering 1 C# Krister Trangius 2012 ISBN: Thelin Läromedel

2 FÖRORD Detta är arbetsbok som hör till Läroboken Programmering 1 med C#. Boken är anpassad efter gymnasieskolans kursplan GY2011 för kursen Programmering 1 med kurskod PRRPRR01. Boken är skriven av Krister Trangius, erfaren gymnasielärare i programmering. Boken är utgiven av Thelin Läromedel. Boken finns även tillgänglig för läsning via internet via Skolportalen ebooks. Om du som läsare skulle hitta några felaktigheter i boken är du välkommen att kontakta Krister på krister@trangius.se. Eventuella uppdateringar och rättelser till boken som tillkommit efter denna upplagas tryckning finns att ladda hem via Thelin Läromedel och Krister Trangius, april Förord till reviderad upplaga Detta är den reviderade upplagan. De flesta uppgifter är desamma. Vissa uppgifter har dock ändrats, vissa har flyttats om, ett par har tagits bort och det har kommit till ett par uppgifter. Detta efter kommentarer från lärare samt ytterligare genomgång av innehållet. Jag hoppas att denna upplaga ska vara än mer komplett och heltäckande. Krister Trangius, april Samtliga varumärken som förekommer i boken tillhör innehavaren av varumärket. OBSERVERA ATT ALL KOPIERING ELLER ANNAT MÅNGFALDIGANDE AV DENNA BOK ELLER DELAR AV DEN ÄR FÖRBJUDET ENLIGT LAG. THELIN LÄROMEDEL, LIDKÖPING Tel , Andra upplagan, utskriven Beställningsnummer J Tryckeri: JustNu ISBN: THELIN LÄROMEDEL & KRISTER TRANGIUS

3 ATT ANVÄNDA DETTA LÄROMEDEL Detta häfte innehåller övningar till läroboken Programmering 1 med C#. Övningarna är anpassade efter gymnasiekursen Programmering 1. Övningarna är upplagda enligt kapitelindelningen i läroboken och bygger ibland på innehållet i denna bok. Vissa kapitel har inga övningar knutna till sig i denna bok. Det beror antingen på att inga övningar behövs för kapitlet (vilket är fallet för kapitel 1 4) eller att det som kapitlet lär ut, är så pass genomgående att man tränar på det när man gör i stort sett alla övningar (vilket är fallet för kapitel 9 och 10). Övningarna bör göras någorlunda i ordning. Många av de senare övningarna bygger på att man har tillägnat sig kunskap från tidigare övningar. Boken kan ses som indelad i två delar. Först kommer mindre uppgifter för de olika kapitlen, sist i boken finns ett enskilt kapitel för mer komplexa uppgifter. Småuppgifterna är tänkt att öva upp en viss aspekt inom programmering. Om det är ett visst moment man inte behärskar i den mer komplexa övningen, kan man göra vissa enkla övningar för att träna sig i det moment. Jag vill hävda att de viktigaste uppgifterna är de komplexa uppgifterna. Det är med dem man lär sig det logiska tänket som man behöver behärska som programmerare. Att lära sig logiskt tänk kan vara svårt och göras på olika sätt: individuell handledning, klassrumsdiskussioner, grupparbeten med mera. I vassa av de komplexa uppgifterna finns också krav på att pseudokod och aktivitetsdiagram skapas. Det är inte tänkt att alla elever ska lösa alla uppgifter i häftet. För de flesta räcker det med ett lämpligt urval. De komplexa uppgifterna lämpar sig ofta för grupparbeten (men aldrig för större grupper än 3). Utöver övningarna finns det också frågor. Svaren på frågorna går att finna i boken. En viktig del inom programmering är att hitta själv hitta svar på olika uppgifter. För att göra detta behöver man ofta dela upp problemen i mindre delproblem. Det står mer om detta i läroboken. Programmering är något man lär sig genom att göra. Att göra för att lära, är syftet med detta häfte! Lycka till! Krister Trangius THELIN LÄROMEDEL & KRISTER TRANGIUS

4 INNEHÅLLSFÖRTECKNING FÖRORD... 1 Förord till reviderad upplaga... 1 Att använda detta läromedel... 2 Frågor till kapitel 5 (Bakgrund)... 7 Fråga 5.1 Olika typer av programmering... 7 Fråga 5.2 Algoritm... 8 Fråga 5.3 Operativsystemet... 8 Fråga 5.4 Plattformsoberoende... 9 Fråga 5.5 Turingkomplett... 9 Fråga 5.6 C#:s rötter Fråga 5.7 CLI Övningar och frågor till kapitel 6 (Komma igång med VS C#) Övning 6.1 Hello World Fråga 6.2 Rader i C# Fråga 6.3 Kompilering Fråga 6.4 Skriptspråk vs C# Fråga 6.5 Kommentarer Övningar och frågor till kapitel 7.1 (Variabler) Fråga Namngivning av variabler Övning Summan av två tal Övning Summan och medelvärdet av tre tal Övning Decimaltal till heltal Övning En saga med två string variabler Övning Avrunda flyttal Övning Char Fråga När använder man char? Övning felaktiga variabeltyper THELIN LÄROMEDEL & KRISTER TRANGIUS

5 Övning Operatorn % Övningar till kapitel 7.3 (if satsen) Övning Kontrollera vädret (del 1) Övning Kontrollera vädret (del 2) Övning Kontrollera vädret (del 3) Övning Var är det kallast? (del 1) Övning Var är det kallast? (del 2) Övning Felaktig if sats Övningar och frågor till kapitel 7.4 (switch satsen) Fråga If eller switch? Övning banksimulator Övningar till kapitel 7.5 (while och do while) Övning Skriva ut en talföljd (1 20) Övning Skriva ut en talföljd (upp till 100) Övning Krona eller klave Övning Felaktig loop Övning Yatzy Övningar till kapitel 8 (Pseudokod och strukturdiagram) Övning 8.1 termostat Övningar till kapitel 11 (Metoder) Övning 11.1 Hello() Övning 11.2 Lägga samman två textsträngar Övning 11.3 Addera() Övning 11.4 Räkna ut moms (del 1) Övning 11.5 Räkna ut moms (del 2) Övning 11.6 ToPercentage() Övning 11.7 Myndig? Övning 11.8 Skapa en meny Övning 11.9 Klassen MyTemperature THELIN LÄROMEDEL & KRISTER TRANGIUS

6 Övningar till kapitel 12 (Vektorer och listor) Övning 12.1 Alla namn (del 1) Övning 12.2 Alla namn (del 2) Övning 12.3 Väderstationen Övning 12.4 Väderstationen (version 2) Övning 12.5 Tvådimensionell vektor Övningar och frågor till kapitel 13 (Objektorientering) Fråga 13.1 Objekt vs klasser Fråga 13.2 Objekt vs variabler Uppgift 13.3 Djuret (del 1) Uppgift 13.4 Djuret (del 2) Uppgift 13.5 Djuret (del 3) Uppgift 13.6 Temperatur i olika städer Övningar till kapitel 14 (Sökning, sortering och rekursion) Övning 14.1 Binär sökning Utökningar Övning 14.2 Bubblesort Övning 14.3 Rekursion Övning 14.4 Andra algoritmer Övningar till kapitel 15 (Grafiska användargränssnitt) Övning 15.1 Kalkylatorn Övning 15.2 Kalkylatorn (del 2 fixa buggar) Övning 15.3 Kalkylatorn (del 3 utökningar) Komplexa övningar Komplex övning 1 Gissa talet Komplex övning 2 Höja talet Komplex övning 3 Reaktionsspelet Komplex övning 4 FindPrim() Komplex Övning 5 Godisautomaten THELIN LÄROMEDEL & KRISTER TRANGIUS

7 Komplex övning 6 Klassen HighScore Två klasser Klassen HighScore Detaljerad beskrivning av de olika metoderna Testkör Implementering Utökningar THELIN LÄROMEDEL & KRISTER TRANGIUS

8 FRÅGOR TILL KAPITEL 5 (BAKGRUND) I kapitel fem går vi igenom viss bakgrund till programmering. Det finns inga specifika övningar till detta kapitel, då det är främst teoretiskt. Svaren på alla frågor går att finna i boken. Diskutera gärna svaren i grupper! Fråga 5.1 Olika typer av programmering Vi skiljer på tre olika typer av programmering: sekventiell, objektorienterad och händelsebaserad. Förklara skillnaden så gott du kan: THELIN LÄROMEDEL & KRISTER TRANGIUS

9 Fråga 5.2 Algoritm Beskriv vad en algoritm är för något: Fråga 5.3 Operativsystemet Beskriv vilken roll operativsystemet spelar i en dator: THELIN LÄROMEDEL & KRISTER TRANGIUS

10 Fråga 5.4 Plattformsoberoende Beskriv vad det innebär att ett programmeringsspråk är plattformsoberoende: Fråga 5.5 Turingkomplett Beskriv vad det innebär att något (en dator eller ett operativsystem, tex) är turingkomplett: THELIN LÄROMEDEL & KRISTER TRANGIUS

11 Fråga 5.6 C#:s rötter Beskriv vilka språk som C# är släkt med: Fråga 5.7 CLI Beskriv vad CLI är och vad det är bra för: THELIN LÄROMEDEL & KRISTER TRANGIUS

12 ÖVNINGAR OCH FRÅGOR TILL KAPITEL 6 (KOMMA IGÅNG MED VS C#) I kapitel 6 skapar vi vårt första projekt i C# och skriver ut text på skärmen. Kapitlet är främst teoretiskt. Övning 6.1 Hello World Skapa ett nytt projekt i Visual Studio. Skriv ett program som skriver ut texten Hello World på skärmen. Fråga 6.2 Rader i C# Viket tecken använder man för att avsluta en vanlig rad i C#: Fråga 6.3 Kompilering Förklara vad som händer när man kompilerar ett program i C#. Använd begreppen källkod, Just In Time och CIL i din beskrivning (rita gärna figurer): THELIN LÄROMEDEL & KRISTER TRANGIUS

13 Fråga 6.4 Skriptspråk vs C# Beskriv vad skillnaden är på ett skriptspråk och C#: Fråga 6.5 Kommentarer Beskriv varför det är viktigt att kommentera sin kod: THELIN LÄROMEDEL & KRISTER TRANGIUS

14 ÖVNINGAR OCH FRÅGOR TILL KAPITEL 7.1 (VARIABLER) I kapitel 7.1 lär vi oss om variabler som är ett sätt för programmeraren att lagra data. Fråga Namngivning av variabler Beskriv vad du tycker att man bör tänka på när man namnger variabler:... Övning Summan av två tal Skapa ett program där man matar in två tal, sedan lägger programmet ihop dessa tal. Övning Summan och medelvärdet av tre tal Skapa ett program där man får mata in tre heltal. Programmet beräknar sedan beräknar summan och medelvärdet av dessa tal. Övning Decimaltal till heltal Skapa ett program som omvandlar ett inmatat decimaltal till närmsta heltal. Ange ett decimaltal: 11,534 decimaltalet 11,534 avrundas till heltalet 12 THELIN LÄROMEDEL & KRISTER TRANGIUS

15 Övning En saga med två string variabler Låt användaren mata in namnet på två personer. Skriv sedan ut en kort berättelse om dessa två personer. Övning Avrunda flyttal Använd metoden Math.Round() för att avrunda ett flyttal som användaren skriver in till två decimaler. Övning Char Använd dig av exempel 7.16 i läroboken. Prova att använda olika numeriska värden i UNICODEtabellen. Vilka slutsatser kan du dra av detta? Fråga När använder man char? Beskriv i vilka lägen det kan vara smart att använda char (istället för string): THELIN LÄROMEDEL & KRISTER TRANGIUS

16 Övning felaktiga variabeltyper I följande kodstycke ger inte rätt utskrift: int a = 1; int b = 2; float c = a / b; Console.WriteLine(c); Utskriften vi får är: 0 Men det vi vill ha är ju 0,5 inte 0. Det finns två lösningar på problemet, finn båda! Övning Operatorn % Analysera följande kodstycke och vilken utskrift som ges: int a = 8 % 3; Console.WriteLine(a); Testa med olika värden på sidan om % tecknet. Dra slutsatser. THELIN LÄROMEDEL & KRISTER TRANGIUS

17 ÖVNINGAR TILL KAPITEL 7.3 (IF SATSEN) I kapitel 7.3 lär vi oss jämförelsesatsen if. Övning Kontrollera vädret (del 1) Skapa ett program som ställer frågan Är det fint väder?. Om användaren svarar j skriver programmet ut Vi går på picknick!. Annars händer ingenting. Övning Kontrollera vädret (del 2) Arbeta vidare på övning men lägg till att användaren kan svara n. Då skriver programmet ut Vi stannar inne och läser en bok. Det ska inte spela någon roll om man användaren matar in liten eller stor bokstav. Övning Kontrollera vädret (del 3) Arbeta vidare på övning Gör så att om användaren matar in något annat än j, J, n eller N, så skriver programmet ut Jag förstår inte. Övning Var är det kallast? (del 1) Skapa ett program där man får mata in temperaturen i Östersund och Åmål. Programmet ska sedan berätta var det är kallast. THELIN LÄROMEDEL & KRISTER TRANGIUS

18 Övning Var är det kallast? (del 2) Skapa ett program som jämför temperaturen mellan Östersund, Åmål och Arboga. Programmet ska berätta var det är kallast. Du kommer att behöva använda OCH operatorn &&. Utgå från följande kod och ersätt... med kod: Console.Write("Ange temperatur för Östersund: "); int ostersund = Convert.ToInt32(Console.ReadLine()); Console.Write("Ange temperatur för Åmål: "); int amal = Convert.ToInt32(Console.ReadLine()); Console.Write("Ange temperatur för Arboga: "); int arboga = Convert.ToInt32(Console.ReadLine()); if (...) { Console.WriteLine("Det är kallast i Östersund "); } else if (...) { Console.WriteLine("Det är kallast i Åmål"); } else { Console.WriteLine("Det är kallast i Arboga"); } Övning Felaktig if sats Något stämmer inte riktigt med följande if sats: int var = 10; if (var = 10) Console.WriteLine("den är 10!"); Fundera över följande: När vi försöker kompilera koden så får vi ett felmeddelande, varför får vi just detta felmeddelande tror du? Skriv om koden så att det blir rätt! THELIN LÄROMEDEL & KRISTER TRANGIUS

19 ÖVNINGAR OCH FRÅGOR TILL KAPITEL 7.4 (SWITCH SATSEN) Switch satsen är en annan jämförelsesats än if satsen. Egentligen kan man göra allt med en if sats men switch har också sina användningsområden. Fråga If eller switch? Beskriv när man ska använda sig av en if sats och när man ska använda sig av en switch sats: Övning banksimulator Skriv ett program som simulerar en bank. Man ska kunna sätta in pengar och ta ut pengar, samt kola saldo. Detta görs via en meny som du ska göra med en switch sats: [I]nsättningt [U]ttag [S]aldo [A]vsluta Observera att du bör arbeta med loopar för denna uppgift, se kapitel 7.5! THELIN LÄROMEDEL & KRISTER TRANGIUS

20 ÖVNINGAR TILL KAPITEL 7.5 (WHILE OCH DO WHILE) I kapitel 7.5 lär vi oss att göra loopar för att köra samma kodslinga om och om igen. while och do while är två olika loopar i C#. Övning Skriva ut en talföljd (1 20) Skapa ett program som skriver ut alla tal mellan 1 och 20. Övning Skriva ut en talföljd (upp till 100) Skapa ett program där användaren får mata in ett tal mellan 1 och 100. Programmet skriver sedan ut alla tal, från talet som användaren matade in upp till och med 101. Allt på samma rad. Om man matar in något annat än ett tal mellan 1 och 100 stängs programmet av. Exempel: Mata in ett tal: Övning Krona eller klave Be användaren mata in hur många gånger denne vill singla slant. Programmet ska sedan slumpvis mata ut om det blir krona eller klave, lika många gånger som användaren angett. För att implementera uppgiften i C# behöver du söka reda på hur man slumpar fram saker. THELIN LÄROMEDEL & KRISTER TRANGIUS

21 Övning Felaktig loop I följande loop får vi ett felmeddelande: string str; do { Console.WriteLine("Vil du fortsätta loopen?"); str = Console.ReadLine(); } while(str = "j"); Vad innebär felmeddelandet? Hur fixar du så att det blir rätt? Övning Yatzy Skapa ett program som sex gånger slumpar fram tärningsslag (tal mellan 1 och 6). Börja med att skriva pseudokod för detta. För att implementera uppgiften i C# behöver du söka reda på hur man slumpar fram saker. THELIN LÄROMEDEL & KRISTER TRANGIUS

22 ÖVNINGAR TILL KAPITEL 8 (PSEUDOKOD OCH STRUKTURDIAGRAM) I kapitel 8 lär vi oss mer om pseudokod och att skapa strukturdiagram. I övningar som kommer senare i denna bok kommer vi vidare att öva på att skapa både pseudokod och strukturdiagram. I detta kapitel finner du en övning då du ska skapa kod utifrån ett redan färdigt strukturdiagram! För att skapa C# kod utifrån pseudokod kan jag rekommendera implementering av sök och sorteringsalgoritmer. (Övning på nästa sida.) THELIN LÄROMEDEL & KRISTER TRANGIUS

23 Övning 8.1 termostat Skapa pseudokod och C# kod för strukturdiagramet nedan. Nån stans bör också temperaturen skrivas ut. THELIN LÄROMEDEL & KRISTER TRANGIUS

24 ÖVNINGAR TILL KAPITEL 11 (METODER) I kapitel 11 lär vi oss att strukturera kod med hjälp av metoder. Övning 11.1 Hello() Skapa en metod Hello() som tar en string variabel som indata och skriver ut texten ihop med ett annat meddelande. Övning 11.2 Lägga samman två textsträngar Skapa en metod som tar in två string variabler, lägger samman dessa och returnerar som en sträng. (T.ex. strängarna Hej din gamle galosch! och Hur mår du? blir alltså Hej du gamle galosch! Hur mår du? ) Övning 11.3 Addera() Skapa (den smått meningslösa) metoden Addera() som tar in två heltal och returnerar summan. Övning 11.4 Räkna ut moms (del 1) Skapa en metod som lägger till momsen till en viss summa. Antag att momsen är 25%. (T.ex. talet 100 ger alltså svaret 125). Övning 11.5 Räkna ut moms (del 2) Gör om funktionen i uppgift 8.4, så att man i metodanropet (via parameterlistan) får ange vad momsen ligger på. Övning 11.6 ToPercentage() Skapa metoden ToPercentage() som tar in ett decimaltal och returnerar ett heltal. (T.ex. flyttalet 0.73 ger alltså heltalet 73.) Övning 11.7 Myndig? Skapa en metod som kontrollerar om en person är myndig. Metoden ska ta in ett heltal och returnera true eller false. THELIN LÄROMEDEL & KRISTER TRANGIUS

25 Övning 11.8 Skapa en meny Skapa ett program med ett menyval. I menyn får man välja att exekvera olika uppgifter som du hittills löst. Ett exempel på hur menyn kan se ut: Välj ett alternativ genom att trycka respektive tangent: [K]ontrollera vädret [övning 7.3.3] [S]kriva ut en talföljd 1 20 [övning 7.5.1] [A]ddera() [övning 11.3] [R]äkna ut moms [övning 11.5] [Q]uit Alla menyalternativ ska ligga i olika metoder. Övning 11.9 Klassen MyTemperature Utgå från klassen i exempel i läroboken. Gör följande förbättringar: Som det är nu ligger uträkningen från Celsius till Fahrenheit (fahrenheit = ((celsius * 9) / 5) + 32) på två ställen. En i varje överlagring. Skapa istället en intern metod för denna uträkning. Metoden ska inte vara synlig utifrån (private). De båda överlagringarna ska använda denna interna metod. Kalla metoden CTF(). Skapa en konverterare från Fahrenheit till Celsius med två överlagringar (int och float). På samma sätt som med Celsius till Fahrenheit ska själva uträkningen ligga i en intern metod (se punkten ovan). Skapa och anropa den interna metoden FTC(). THELIN LÄROMEDEL & KRISTER TRANGIUS

26 ÖVNINGAR TILL KAPITEL 12 (VEKTORER OCH LISTOR) I kapitel 12 lär vi oss att lagra listor i vektorer och i List klassen. Övning 12.1 Alla namn (del 1) Skapa en string vektor med fem element. Användaren får mata in fem namn via en for loop. Programmet skriver sedan ut dessa namn via en annan for loop. Övning 12.2 Alla namn (del 2) Efter att alla namn har skrivits ut, ska användaren kunna skriva ett index och därefter ett annat namn. Personen på detta index i vektorn byts då ut och alla namn skrivs ut igen. Om användaren istället skriver Q eller q så avslutas programmet direkt. Övning 12.3 Väderstationen Skapa en vektor som ska innehålla temperaturmätningar från en väderstation. I programmets början ska användaren få ange hur många mätningar som har gjorts. Därefter får användaren mata in olika temperaturer. Temperaturerna ska anges i decimaltal. Programmet ska sedan skriva ut de olika temperaturerna och medeltemperaturen. Bestäm själv om du använder for eller foreach. Motivera ditt val som en kommentar i koden! Innan du kodar programmet i C#, skapa ett strukturdiagram av det. Övning 12.4 Väderstationen (version 2) Denna övning påminner om den förra, men man skriver inte in i början hur många mätningar som ska göras. Allt sköts istället via en meny: [L] ägg till temperaturmätning [S]kriv ut alla temperaturer och medeltemperatur [T]ag bort temperaturmätning [A]vsluta När man väljer att ta bort en temperaturmätning, så anger man viken mätning man vill ta bort med hjälp av index. Programmet ska vara kodat för att hantera undantag, så om användaren skriver in något oväntat ska programmet hantera detta. Bestäm själv om du använder for eller foreach. Motivera ditt val som en kommentar i koden! A THELIN LÄROMEDEL & KRISTER TRANGIUS

27 Övning 12.5 Tvådimensionell vektor Skapa ett litet gissa spel med en tvådimensionell vektor som är 4x4 stor. Slumpa ut en ruta i vilket ett mål ligger. Användaren ska få mata in x och y koordinater för att skjuta mot målet. Om användaren missar målet ska denne se var den har skjutit. I exemplet nedan har användaren skjutit två gånger (mot koordinaterna 1,1 och 4,3) och missat. Användaren försöker också skjuta mot ett nytt mål: * * NYTT SKOTT Ange X koordinat: 3 Ange Y koordinat: Efter att användaren har träffat målet skrivs antal försök ut och programmet avslutas. Programmet ska vara kodat för att hantera undantag, så om användaren skriver in något oväntat ska programmet hantera detta. THELIN LÄROMEDEL & KRISTER TRANGIUS

28 ÖVNINGAR OCH FRÅGOR TILL KAPITEL 13 (OBJEKTORIENTERING) I kapitel 13 lär vi oss om klasser och objekt i C#. Fråga 13.1 Objekt vs klasser Beskriv skillnaden mellan ett objekt och en klass: Fråga 13.2 Objekt vs variabler Beskriv vad skillnaden mellan objekt och variabler är i C#: THELIN LÄROMEDEL & KRISTER TRANGIUS

29 Uppgift 13.3 Djuret (del 1) Skapa en klass för ditt favoritdjur. Skapa klassmedlemmar (både variabler och metoder) som du finner lämpliga. T.ex. kan djuret hund innehålla de publika variablerna name, race och age samt de publika metoderna Bark() och Fetch(). Skapa sedan ett testobjekt till klassen. Uppgift 13.4 Djuret (del 2) Gör om så att variablerna i din djur klass (uppgift 13.3) är osynliga, private. De skall istället göras om till egenskaper (med get och set). Använd egenskaperna i ett testobjekt. Uppgift 13.5 Djuret (del 3) Skapa en konstruktor till din djur klass som tar emot värden för namn, ålder, ras eller vad du nu har skapat för medlemsvariabler. Använd konstruktorn i ett testobjekt. Uppgift 13.6 Temperatur i olika städer Utveckla övning Nu ska det inte vara bestämt i programmet vilka städer som finns eller hur många. Användaren ska själv via en meny kunna välja att lägga till en stad. När användaren lägget till en stad, får han eller hon får ange namn och temperatur. Via menyn kan man sedan kontrollera temperatur för alla städer, medeltemperatur samt var det är varmast och var det är kallast. Programmet ska vara kodat för att hantera undantag, så om användaren skriver in något oväntat ska programmet hantera detta. THELIN LÄROMEDEL & KRISTER TRANGIUS

30 ÖVNINGAR TILL KAPITEL 14 (SÖKNING, SORTERING OCH REKURSION) Övning 14.1 Binär sökning Att implementera en sökmetod blir meningsfullt först då man har en lång lista att söka i. Långa listor lagras oftast på fil eller i databaser. Att ladda in från fil och databaser ligger dock utanför ramarna på kursen Programmering 1. Skapa en klass som hanterar personer med namn och personnummer. Skapa sedan en lista med hjälp av klassen List. Användaren ska i programmet kunna lägga till personer till listan, samt söka på personnummer i listan. När användaren söker ska namnet och index (var i listan) för personen skrivas ut. (För att göra det enkelt för dig, kan du i programkoden lägga till flera element i listan, så att de finns där redan från början.) Utökningar Är du klar i god tid? Då kan du arbeta vidare på klassen genom att lägga till stöd för följande: Gör så att man kan söka på namn, inte bara personnummer. Tips: sök på C# string compare för hjälp! Fixa filsparning och filladdining för att läsa in listor från fil! Detta är inget som kommer förrän i kursen Programmering 2, men det kan vara intressant att prova redan nu! Övning 14.2 Bubblesort Implementera algoritmen bubblesort enligt läroboken. Gör följande: Testa med olika listor. Ändra så att algoritmen sorterar så att det hösta talet kommer först. Förklara för din lärare hur bubbulesort fungerar. THELIN LÄROMEDEL & KRISTER TRANGIUS

31 Övning 14.3 Rekursion Implementera Fibonacci() så som den beskrivs i läroboken. Prova med olika värden som indata. Ju högre värden man provar, desto långsammare går det. Lägg till en möjlighet att mäta hur lång tid algoritmen tar på sig. Förklara vad det beror på att det går så långsamt vid höga värden som indata: Övning 14.4 Andra algoritmer Det finns ett flertal andra sök, sorterings och rekursiva algoritmer än de som tas upp i läroboken. Använd webben för att söka reda på några och ange namnet på några du finner: Kan du implementera någon av dem i C#? Försök förstå hur den algoritmen fungerar och förklara för din lärare! THELIN LÄROMEDEL & KRISTER TRANGIUS

32 ÖVNINGAR TILL KAPITEL 15 (GRAFISKA ANVÄNDARGRÄNSSNITT) Övning 15.1 Kalkylatorn Följ guiden i kapitel 15.8 för att skapa en kalkylator. Delar av guiden kan upplevas som krångliga och inte helt självklara. Beskriv vilka delar du upplevde som svårare och förklara varför: THELIN LÄROMEDEL & KRISTER TRANGIUS

33 Övning 15.2 Kalkylatorn (del 2 fixa buggar) Kalkylatorn innehåller vissa buggar. Här är två: Om man direkt efter att ha använt lika med knappen trycker på en siffra, så blir det lite knasigt. Vad händer? Lös problemet! Som det är, så kan man nu skriva saker i textrutan, det ska man inte kunna. Lös! Finns det fler buggar? Övning 15.3 Kalkylatorn (del 3 utökningar) Som det är nu hanterar kalkylatorn bara plus. Lägg till funktionalitet för de övriga tre räknesätten (, * och / ) också. THELIN LÄROMEDEL & KRISTER TRANGIUS

34 KOMPLEXA ÖVNINGAR Här följer sex komplexa övningar. De är tänkta att träna dig i flera moment samtidigt. Inför varje övning anges vilket kapitel i läroboken du förväntas ha läst. Att flera av uppgifterna kan lösas redan efter att ha läst kapitel 7, betyder inte att det är lätt att lösa dem då. Det har helt enkelt med att det som beskrivs i kapitel 7, är det som gör språket C# turingkomplett. Övningarna i detta kapitel är sorterade i svårighetsordning. Hur svårt något är kan dock upplevas olika av olika personer. Om övningarna här upplevs som svåra, gör tidigare övningar i övningsboken. Kom överens med din lärare! Komplex övning 1 Gissa talet Övningen kräver att du har läst fram till minst: kapitel 7 (för konsolläge) och kapitel 15 (för grafiskt läge). Denna uppgift går ut på att skapa ett klassiskt spel. Spelet går till så att datorn slumpvis hittar på ett tal mellan 1 och 100. Användaren ska sedan gissa talet. Gissar man fel svarar programmet Fel. Talet är mindre. respektive Fel. Talet är större. I slutet skriver programmet ut antalet försök. Här är två exempel på hur det kan se ut, dels i konsolläge och dels i grafiskt läge: Gissa talet? 15 Fel! Talet är större! Gissa talet? 50 Fel! Talet är mindre! Gissa talet? 40 Fel! Talet är större! Gissa talet? 45 Fel! Talet är större! Gissa talet? 48 Rätt! Du gjorde 5 försök. THELIN LÄROMEDEL & KRISTER TRANGIUS

35 Börja med att skriva programmet i pseudokod och gör ett aktivitetsdiagram till det. För att koda denna uppgift måste du ta reda på hur man slumpar fram tal i C#. Kom överens med din lärare om du ska koda det i konsolläge eller med grafiskt användargränssnitt. Om du gör programmet för konsol, börja med att skriva programmet i pseudokod och gör ett aktivitetsdiagram till det. Koda det därefter i C#. Komplex övning 2 Höja talet Övningen kräver att du har läst fram till minst: kapitel 7 (för konsolläge) och kapitel 15 (för grafiskt läge). Du ska nu konstruera ett spel för två spelare. I tur och ordning får spelarna höja det aktuella värdet med 1,2 eller 3. Den som skriver in 21 förlorar. Vinnaren får ett fint vinstmeddelande. Här är två exempel på hur det kan se ut, dels i konsolläge och dels i grafiskt läge: Spelare 1, välj 1,2 eller 3: 3 Spelare 2, välj 4,5 eller 6: 4 Spelare 1, välj 5,6 eller 7: 6 Spelare 2, välj 7,8 eller 9: 8 Spelare 1, välj 9,10 eller 11: 11 Spelare 2, välj 12,13 eller 14: 13 Spelare 1, välj 14,15 eller 16: 16 Spelare 2, välj 17,18 eller 19: 17 Spelare 1, välj 18,19 eller 20: 20 Spelare 2, välj 21 OCH FÖRLORA SEN!!!: 21 Spelare 1 vann! Grattis! Börja med att skriva programmet i pseudokod och gör ett aktivitetsdiagram till det. Koda det därefter i C#. Kom överens med din lärare om du ska koda det i konsolläge eller med grafiskt användargränssnitt. Om du gör programmet för konsol, börja med att skriva programmet i pseudokod och gör ett aktivitetsdiagram till det. Koda det därefter i C#. THELIN LÄROMEDEL & KRISTER TRANGIUS

36 Komplex övning 3 Reaktionsspelet Övningen kräver att du har läst fram till minst: kapitel 7 (för konsolläge) och kapitel 15 (för grafiskt läge). Skapa ett spel som testar användarens reaktionsförmåga och anger hur snabbt användaren trycker på tangenter i millisekunder. Spelet kan se ut såhär: Ok, Get ready... NOW! Det tog 343 millisekunder Mellan Ok, Get ready och NOW! ska spelet vänta slumpvis mellan 3 och 10 sekunder. Efter att NOW! har skrivits ut, ska en mätning starta som kontrollerar hur lång tid det tar för användaren att trycka på en tangent. Tiden ska sedan skrivas ut i millisekunder. Om användaren fuskar och trycker innan NOW skrivs ut, så ska ett meddelande om fusk skrivas ut. Börja med att skriva programmet i pseudokod och gör ett aktivitetsdiagram till det. Koda det därefter i C#. Tips att söka på via webben: C# sleep och C# tickcount. Komplex övning 4 FindPrim() Övningen kräver att du har läst fram till minst: kapitel 7. Skapa en metod som tar ett heltal som parameter. Metoden ska finna alla primtal mellan 1 och talet som anges som parameter (t.ex. FindPrim(3400), ger alla primtal mellan 1 och 3400). Ett primtal är ett positivt heltal som endast är jämnt delbart med sig själv och 1. Om man vill avgöra om ett tal är ett primtal, delar man det med alla talet som ligger mellan talet själv och 1. Använd dig av for loopar. Du kommer behöva operatorn %. Se: THELIN LÄROMEDEL & KRISTER TRANGIUS

37 Komplex Övning 5 Godisautomaten Övningen kräver att du har läst fram till minst: kapitel 13. Skapa ett program för en godisautomat. I godisautomaten finns det ett antal godisar. Som användare får man skriva in ett nummer på luckan ur vilken man vill köpa godis. Första godiset ligger på lucka 1, andra godiset på lucka 2 osv. Varje gång man köper en godis minskar antalet av just den godistypen. Användaren får fortsätta köpa godis så länge han eller hon vill (och även fortsätta och stirra på automaten när den är tom). Det kan aldrig bli färre än 0 godisar i en lucka. Blir det färre får användaren ett meddelande att det godiset är slut. LUCKA NR: 1. Japp ANTAL: 3 LUCKA NR: 2. Dajm ANTAL: 5 LUCKA NR: 3. Kola ANTAL: 5 LUCKA NR: 4. Lakris ANTAL: 5 Vilken godis vi du ha ([q] för att avsluta): 1 Du får en Japp. Mums! Tryck valfri tangent för att fortsätta köpa godis! [ SKÄRMEN TÖMS ] LUCKA NR: 1. Japp ANTAL: 2 LUCKA NR: 2. Dajm ANTAL: 5 LUCKA NR: 3. Kola ANTAL: 5 LUCKA NR: 4. Lakris ANTAL: 5 Vilken godis vi du ha ([q] för att avsluta): THELIN LÄROMEDEL & KRISTER TRANGIUS

38 Komplex övning 6 Klassen HighScore Övningen kräver att du har läst fram till minst: kapitel 14. Detta är den största övningen i denna övningsbok. Du kommer att få användning av flera saker du lärt dig innan. Du ska skapa en klass som kan användas i alla tänkbara spel där man kan använda sig av en highscore. Tanken är att vilken programmerare som helst ska kunna använda sig av din klass, genom att importera din.cs fil i sitt projekt. Klassen ska innehålla vissa metoder som jag är specificerade nedan. Det är upp till dig att konstruera klassen och innehållet. Det är mycket viktigt att du läser igenom allt nedan innan du börjar! Två klasser Egentligen behöver du konstruera två klasser: 1. En (mycket liten) klass som innehåller egenskaperna namn och poäng. Klasen ska också innehålla en konstruktor som tar emot indata för name och points. Klassen ska heta HSItem (som i High Score item). Börja med följande kodstycke: class HSItem { string name; int points; } Du ska konstruera egenskaper för name och points. 2. Själva klassen HighScore. Detta är en mycket stor klass som innehåller många metoder. Beskrivning för klassen finner du nedan. Klassen HighScore Klassen HighScore ska innehålla följande synliga (public) metoder: HighScore() Add() ska överlagras Print() testfunktion Klassen ska också innehålla följande osynliga (private) metod: Sort() THELIN LÄROMEDEL & KRISTER TRANGIUS

39 Detaljerad beskrivning av de olika metoderna Nedan följer en detaljerad beskrivning av de olika metoderna som ska ingå i klassen. HighScore()(ej obligatorisk då konstruktorer ej är en tvungen del i Programmering 1. Kom överens med din lärare!) Beskrivning Indata Konstruktor för klassen. Tar emot ett heltalsvärde för hur många som får finnas i higscore listan åt gången. int maxinlist Utdata Add() Beskrivning Indata Lägger till element i listan. Tänk på att det aldrig ska finnas fler element i listan, än vad maxinlist anger. Dock ska en person med mer poäng, peta ut en person med mindre poäng om listan är full. string name, int points Utdata Print() Beskrivning Detta är en testmetod för att testa om koden funkar. Denna skriver ut hela listan, med nummer (1a, 2a osv), namn och poäng till konsolen. Indata Utdata I vanliga fall när man skapar en klass så ska den inte vara beroende av konsolen. Oftast har vi ju grafiska spel. Tanken med denna metod är dock att vi ska kunna klassen den i konsolen. Sort() Beskrivning Detta är en osynlig (private) metod som sorterar listan. Programmeraren som använder klassen i sitt spel ska själv aldrig behöva kalla på sorteringsmetoden. Det gör du lämpligtvis när du lägger till ett element. Indata I denna metod använder du dig av valfri sorteringsalgoritm. Tala med din lärare! Utdata THELIN LÄROMEDEL & KRISTER TRANGIUS

40 Testkör Din klass ska ju egentligen användas i något eller några spel. Vi kan dock redan nu testa om klassen funka, med följande kodstycke: class Program { static void Main(string[] args) { // Skapa highscoreklassen, max 5 i listan: HighScore hs = new HighScore(5); // Fyll på med element: hs.add("jamestkirk", 132); hs.add("agentmulder", 120); hs.add("captainpicard", 40); hs.add("bobbafett", 180); hs.add("rickdeckard", 110); // Gör testutskrift: hs.print(); // Fyll på med fler element hs.add("hal9000", 403); hs.add("davidbowman", 445); } } // Ny testutskrift hs.print(); Ovanstående kodstycke ska vid exekvering ge följande utskrift: ******** HIGHSCORE ******** 1. BobbaFett 180p 2. JamesTKirk 132p 3. AgentMulder 120p 4. RickDeckard 110p 5. CaptainPicard 40p ******** HIGHSCORE ******** 1. DavidBowman 445p 2. Hal p 3. BobbaFett 180p 4. JamesTKirk 132p 5. AgentMulder 120p THELIN LÄROMEDEL & KRISTER TRANGIUS

41 Implementering Implementrera klassen så att den används i de olika spel du skapat. Utökningar Är du klar i god tid? Då kan du arbeta vidare på klassen genom att lägga till stöd för följande: I vissa spel ska man ju få så mycket poäng som möjligt, i andra ska man göra något på så kort tid som möjligt. Lägg till stöd så att programmeraren som använder din klass kan ställa in detta via konstruktorn. Bubblesort är den enklaste, men också den långsammaste sorteringsalgoritmen. Implementera fler än en sorteringsalgoritm. Visa din lärare och diskutera för och nackdelar med de olika algoritmerna! Fixa filsparning och filladdining! Detta är inget som kommer förrän i kursen Programmering 2, men det kan vara intressant att prova redan nu! THELIN LÄROMEDEL & KRISTER TRANGIUS

7 GRUNDERNA I PROGRAMMERING

7 GRUNDERNA I PROGRAMMERING Grunderna i programmering 7 GRUNDERNA I PROGRAMMERING Detta kapitel är bokens största kapitel och kanske det viktigaste. Vi kommer här att gå igenom grunderna för sekventiell programmering. Det vi går

Läs mer

2 INNEHÅLLSFÖRTECKNING

2 INNEHÅLLSFÖRTECKNING Innehållsförteckning 2 INNEHÅLLSFÖRTECKNING FÖRLAGETS FÖRORD... 1 1 Författarens förord... 2 2 Innehållsförteckning... 3 3 Ämnesplan och kursplan... 11 Ämnesplan Programmering... 11 Ämnets syfte... 11

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte

Läs mer

JAVA Mer om klasser och objektorientering

JAVA Mer om klasser och objektorientering JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Programmering för språkteknologer I, VT2012. Rum

Programmering för språkteknologer I, VT2012. Rum Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin) Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel 732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public

Läs mer

Statistik över heltal

Statistik över heltal Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande

Läs mer

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. .0.0 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6 poäng Denna tentamen

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Chapter 4: Writing Classes/ Att skriva egna klasser.

Chapter 4: Writing Classes/ Att skriva egna klasser. Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla TentamensKod: Tentamensdatum: 180322 Tid: 09.00 13.00 Hjälpmedel:

Läs mer

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Från laboration 3 till 4 I laboration 3 har du implementerat klasser implementerat metoder i klasserna I laboration 4 kommer du att implementera

Läs mer

FILSPARNING OCH FILLADDNING MED KLASSEN HIGHSCORE

FILSPARNING OCH FILLADDNING MED KLASSEN HIGHSCORE FILSPARNING OCH FILLADDNING MED KLASSEN HIGHSCORE Detta dokument ska läsas för den som vill fördjupa sin förståelse för hur man kan arbeta med filsparning- och filladdning i XNA. Dokumentet kan ses som

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer

OOP Tenta

OOP Tenta Stockholms universitet sid 1 OOP OOP Tenta 2012-01-14 10.00 15.00 Avser kurserna DSK1:OOP och GES:OOP Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt

Läs mer

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09 Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.

Läs mer

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

JAVAUTVECKLING LEKTION 4

JAVAUTVECKLING LEKTION 4 JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Frekvenstabell över tärningskast med C#

Frekvenstabell över tärningskast med C# Instruktion Frekvenstabell över tärningskast med C# Introduktionsuppgift Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Innehåll Du ska följa steg för steg -instruktionen i

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Kursplanering för EE3D i kursen Programmering 1, 100p.

Kursplanering för EE3D i kursen Programmering 1, 100p. Kursplanering för EE3D i kursen Programmering 1, 100p. Tidplan Kursstart 2013-08-22 - Kursslut 2014-06-03 Datum/Period Kursinnehåll/Moment Sidhänvisning Vecka 34 Kursintroduktion Vecka 35 Allmänt om Java,

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

Kompilera och exekvera Javakod

Kompilera och exekvera Javakod Kompilera och exekvera Javakod Förberedelser För att kunna göra dessa övningar måste du ha installerat Java Development Kit, JDK, som bland annat innehåller Java kompilatorn, javac. Hur du installerar

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: 2:a september 200, klockan 8:30-12:30. Plats: V Ansvarig lärare: Katarina Blom, tel 772 10 0. Läraren besöker tentamen kl 9:30

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Instuderingsfrågor, del D

Instuderingsfrågor, del D Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt

Läs mer

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

Programmering för språkteknologer II, HT2011. Rum

Programmering för språkteknologer II, HT2011. Rum Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget

Läs mer

Objektorientering i liten skala

Objektorientering i liten skala Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2012-10-24 Objektorientering i liten skala Mål I denna lab skall du skriva ett objektorienterat program. Programmet skall delas

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT TIDAA Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/

Läs mer

SKOLFS. beslutade den -- maj 2015.

SKOLFS. beslutade den -- maj 2015. SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, 8.15-13.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny

Läs mer

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

Läs mer

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar

Läs mer

Tentamen i Introduktion till programmering

Tentamen i Introduktion till programmering Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:

Läs mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008 DD1311 meringsteknik för S1 Laborationer läsåret 2007-2008 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor 732G11 Linköpings universitet 2011-02-01 1 2 3 Strukturdiagram Strukturdiagram används för att visa hur ett program fungerar. Man kan se alla val och upprepningar som sker i programmet. Består av tre (!)

Läs mer

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande: Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp

Läs mer

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så

Läs mer

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,

Läs mer

Planering Programmering grundkurs HI1024 HT 2015 - data

Planering Programmering grundkurs HI1024 HT 2015 - data Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift

Läs mer

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4: (22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet

Läs mer