Övnings- och examinationsuppgifter C# - programmering I (FYD421)

Storlek: px
Starta visningen från sidan:

Download "Övnings- och examinationsuppgifter C# - programmering I (FYD421)"

Transkript

1 Övnings- och examinationsuppgifter C# - programmering I (FYD421) Version :e januari 2014 Huvudförfattare: Peter Klason Medförfattare: Per Sillrén, Patrik Johansson, Andreas Heinz, Jonas Einarsson

2 I. INTRODUKTION Välkommen till FYD421 C#-programmering I. Kursen ingår i programmet Datorstödd Fysikalisk Mätteknik (DFM), men kan även läsas separat, och har som syfte att lära dig grunderna i programmeringsspråket C#. I påbyggnadskursen FYD431 C#-programmering II är syftet att använda C# för att utveckla avancerade styr-, regler- och mätprogram. Kursen går som halvfartskurs på kvällstid. Detta kompendium kompletterar föreläsningarna och innehåller förutom examinationsuppgifterna. Ditt kursbetyg kommer baseras på (se examination nedan), ett antal övningsuppgifter vilkas syfte är att hjälpa dig att komma igång. II. Översiktligt innehåll C#-programmering I fokuserar på grunderna i C# och.net ramverket. Du lär dig göra både konsol- och Windowsbaserade applikationer. Mer detaljerat innehåll fås på hemsidan och via föreläsningarna. Labb av kursen inkl. examinationen är uppdelad i tre delar: 1) Allmän kunskap och grunder i C# 2) Objekt-orienterad programmering i C# 3) Avancerad C# och Windows-applikationer Varje del motsvaras av ett kapitel. Varje del innehåller både övnings- och examinationsuppgifter. III. Examination Följande gäller: Kursen examineras helt med examinationsuppgifterna (alltså ingen tentamen). All redovisning sker under schemalagd laborationstid (alltså ej via inlämning). Alla uppgifter har ett poängvärde och du får dessa poäng efter godkänd redovisning. Du måste ha minst 3 poäng per kapitel för att få minst betyget Godkänd. Ditt slutbetyg på kursen bestäms utifrån följande kriterier: Betyget Godkänd: är normalbetyget. Koden skall vara välskriven och kommenterad och givetvis lösa uppgiften på ett sätt som utnyttjar C# och.net på ett bra sätt. Dina program ska hantera fel på ett korrekt sätt; somexempel: om användaren ska mata in heltal ska programmet kontrollera att bara heltal matas in, hantera alla eventuella undantag, och om något blir fel ska ett felmeddelande genereras. Du måste minst kommit upp i 12 redovisade poäng senast vid sista laborationstillfället. Betyget Väl Godkänd: här krävs lite mer utöver kraven för godkänd; - att dina laborationsuppgifter uppvisar en allmänt god programmeringsteknisk kvalitet - att du följer anmodad kodstandard - att du kommenterar koden väl - att lösningarna meningsfullt utnyttjar C# och.net ramverkets finesser - att de färdiga programmen är användarvänliga. Du måste minst kommit upp i 20 redovisade poäng senast vid sista laborationstillfället. 2

3 Examinationens utförande: För att det ska bli lättare att redovisa skall du göra följande: Gör en Solution för varje kapitel och kalla den KapitelX där X är kapitelnumret. Lägg varje solution i en egen mapp (enklast genom att låta Create directory for solution vara förkryssat.) För varje uppgift i kapitlet: Gör ett projekt med namnet UppgiftY där Y är uppgiftsnumret. I slutändan kommer du alltså ha tre solutions (en per kapitel) med ett antal projekt i varje. IV. Övrig information Under kursen kommer programmet Microsoft Visual Studio 2010 Professional (VS2010) att användas till att skapa konsol- och Windowsapplikationer. Vi kommer också att använda Measurement Studio (MS). Dessa programvaror finns installerade i ET- och EP-labben (där laborationerna utförs). Utöver detta så har du tillgång till VS2010 inom ramen för MSDNAA om du saknar MSDNAA så kontakta kursansvarig för mer information. Aktuell kurslitteratur hittar du via föreläsningarna och hemsidan. Det finns även mycket bra material om C# att tillgå på internet. Följande länkar kan komma till användning under kursens gång: Om du stöter på frågor under kursens gång så utnyttja gärna de tillfällen som finns, d.v.s. i anslutning till föreläsningar och handledningstillfällen. Viss hjälp går att få via e-post, men det är mycket bättre att du frågar vid de schemalagda tillfällena. Kom ihåg, det finns inga dumma frågor bara dumma svar :-) 3

4 Kapitel 1: Allmän kunskap och grunder i C# Mål: Du ska kunna skriva ett enkla C#-program som läser in data från tangentbordet eller från filer, utför beräkningar och presenterar resultatet. Du ska även behärska fält. Övningsuppgifter Ö1 Skriv ett program som beräknar den återstående restiden om man vet medelhastigheten i km/h och återstående körsträcka i mil. Du kan anta att medelhastigheten hålls hela den återstående körsträckan. Resultatet ska presenteras som i figuren. Ö2 Skriv ett program som skapar ett mönster av 16 rader och 32 kolumner enligt figuren nedan. Du får bara använda följande satser en gång vardera för utskrift: Console.Write( ); Console.Write( * ); Console.WriteLine(); Ö3 Skriv ett program som uppmanar användaren att mata in hur många heltal som ska sparas. Lägg in heltalen i ett fält och skriv sedan ut fältets innehåll baklänges. Skapa en metod som sköter inläsningen av heltalen. Testkör programmet och se att det stämmer överens med figuren. 4

5 Ö4. Skriv ett program som ber användaren mata in ett tresiffrigt tal. Programmet ska sedan beräkna summan av de tre siffrorna. Om t.ex. 483 matas in ska programmet visa att summan blir 15. Examinationsuppgifter Uppgift 1.1 (1p) Skriv ett program som skapar ett fält med slumptal mellan 0 och 9. Programmet ska sedan visa hur många tvåor och nior det finns i fältet. Uppgift 1.2 Växelpengar (1p) När du handlar i en affär och betalar kontant får du kanske växel tillbaka. I regel får affärsbiträdet hjälp av kassaapparaten med att beräkna summan man ska få tillbaka, men inte alltid vilka sedlar och mynt som ska lämnas tillbaka. Skriv ett program som beräknar den växel biträdet ska ge tillbaka i samband med ett köp. Programmet ska, förutom att presentera beloppet kunden får tillbaka avrundat till närmsta 50-öring, även bestämma vilka, och antalet, sedlar och mynt. Kunden ska få så få sedlar och mynt som möjligt tillbaka. Programmet ska kunna ge växel tillbaka med sedlar av valörerna 1000, 500, 100, 50 och 20 samt mynten 10, 5, 1 och 50-öring. Du kan anta att det alltid finns tillräckligt antal av de sedlar och mynt som krävs. Skriv endast ut de valörer som ska lämnas tillbaka. Eventuella fel i samband med inmatningen ska tas om hand. Använd try/catch och fånga lämpligt undantag (exception). Glöm inte att testa programmet. Om t.ex. en kund handlar för 371,38 kr avrundas beloppet till 371,50 kr. Om kunden betalar med en 1000 kr sedel ska kunden få 628,50 kr tillbaka, fördelat enligt figuren. Uppgift 1.3 Effektiv vindavkylning (1p) Du upplever säkert en lägre temperatur, än vad termometern visar, då det blåser. Men vilken temperatur är det du upplever? SMHI använder Oszevskis och Bluesteins formel (fr.o.m. vinter 2003/2004) för att beräkna den effektiva temperaturen, som ser ut på följande sätt: T eff = * T * v * T * v 5

6 där ν är vindhastigheten och T är temperaturen. Mer information finns att tillgå på: Skriv ett program som visar en tabell med den beräknade effektiva temperaturen för olika temperaturer och vindhastigheter enligt figuren. Den effektiva temperaturen ska presenteras som ett heltal. Om den effektiva temperaturen mindre eller lika med -28ºC ska temperaturen skrivas ut med blå text på grå bakgrund. Använd egenskaperna Console.BackgroundColor och Console.ForegroundColor samt metoden Console.ResetColor() för att påverka vilka färger som ska användas. Den blå linjen anger den temperatur vid vilken det är risk för köldskador. Uppgift 1.4 Hitta topparna (2p) Gör ett program som läser in en textfil med mätdata. Filen innehåller intensitet som funktion av våglängd. Programmet ska lokalisera antalet toppar, topparnas position och intensitet. Utöver detta ska man som användare kunna sätta ett villkor för hur stor intensitet en topp måste ha för att få klassificeras som en topp. Till exempel kan användaren välja att en topps maxvärde måste vara över 1 för att få vara en topp. Filen med mätdata fås av labassistenterna. Uppgift 1.5 Bowlingspel (2p) I bowling ska man med ett klot försöka få ner 10 käglor. Man har två slag på sig. Om man lyckas få ner alla 10 i första slaget kallas det för strike och om alla käglor fallit ner efter två slag kallas det för spärr. Poängsättningen beräknas på ett litet speciellt sätt: En serie innehåller 10 rutor I varje ruta får man göra högst två slag Slår man en strike får man 10 poäng plus lika många poäng som antalet käglor man kommer att slå ner i nästkommande två slag Slår man en spärr för man 10 poäng plus lika många poäng som antalet käglor man slår ner i nästa slag Finns det käglor kvar efter sina två slag får man lika många poäng som antalet käglor man slagit ner i de två slagen Om man får strike i sista rutan, dvs. ruta 10, får man två extra slag och lika många poäng i sista rutan som antalet nedslagna käglor i de tre sista slagen. Om man får spärr i sista rutan får man ett extra slag och lika många poäng i sista rutan som antalet nedslagna käglor i de tre sista slagen. Skriv ett C#-program som frågar efter antalet käglor som slås ned i varje slag och beräknar totala antalet poäng i en serie. 6

7 Uppgift 1.6 Bowlingspel fortsättning (1p) Utöka ditt program så att du får ett bowlingspel. Programmet ska kunna ha 1-3 spelare och mha slumptal ska programmet slumpa fram hur många käglor spelarna slår ner i resp. ruta. Via en lämpligt vald tangent kastar man sitt klot. Som utskrift ska visas hur många käglor som välts ner och totala poäng varje spelare har lyckats skrapa ihop. Uppgift 1.7 Frekvenstabell och kommaseparerade värden (1p) Du ska i denna uppgift skriva ett program som öppnar en textfil med kommaseparerade värden. Programmet ska sedan läsa in filen rad för rad och analysera värdena i textfilen. Slutligen ska programmet skapa en frekvenstabell över respektive värde. Du ska med andra ord räkna hur många gånger varje värde finns i textfilen. Ett Dictionary kommer väl till pass för denna uppgift, med det kan du koppla ett värde till antalet gånger det förekommer. Textfilen, som fås av labassistenterna, innehåller resultatet från en av basårets tentor i Fysik del A. Uppgift 1.8 Numerisk integrering (1p) Skriv ett program som numeriskt beräknar en integral. Den enklaste numeriska integrationsmetoden tillämpar den så kallade trapetsregeln. X-axeln delas då upp i N 1 intervall [x i,x i+1 ], som alla är Δx= x i+1 - x i långa för 0 i N. Lösningen till integralen ges då av F = % a b N#1 $ f ( x)dx! "x f x i i=0 ( ) där variablerna x 0 = a, x N = b. Antalet intervall, N, skall anges av användaren (större N ger ett bättre värde på integralen men innebär samtidigt att programmet tar längre tid att köra). Programmet ska fungera för godtycklig integral (som finns i källkoden och som inte ska anges av användaren). Principen för beräkning av integralen visas i figuren nedan. 7

8 Kapitel 2: Objekt- orienterad programmering i C# Mål: Du ska förstå och kunna hantera klasser, egenskaper, metoder, parametrar, returvärden och arv. Du ska dessutom förstå och kunna använda statiska metoder och egenskaper. Det är också viktigt att du förstår skillnaden mellan variabler av värdetyp och referenstyp och vad skillnaderna får för följder. Övningsuppgifter Ö1 Skapa en klass Book för att hålla reda på bok-objekt. Varje bok-objekt ska ha en titel, författare, förlag och ISBN. Du kan för enkelhets skull låta ISBN vara av typen string istället för någon numerisk typ. Detta gör att ISBN kan ha en 0:a som första siffra eller inkludera någon bokstav. Klassen ska också ha en metod, DisplayBook(), som skriver ut informationen till konsolfönstret. Testkör programmet genom att skapa minst tre stycken bok-objekt. Examinationsuppgifter Uppgift 2.1 PointD (1p) Skapa ett klassbibliotek (New Project -> Class Library) och kalla det för MinaKlasser Döp om Class1.cs till PointD.cs En punkt i ett tvådimensionellt koordinatsystem kan anges på formen (X,Y). Skriv en klass PointD som beskriver punkter på denna form. Observera att X och Y ska vara av typen double och att de ska implementeras som automatiska egenskaper (Auto- Implemented Properties). Gör två konstruktorer: en som inte har några parametrar och sätter X och Y till noll, och en som tar två parametrar av typen double och sätter X och Y till värdet av dessa parametrar Gör två operatorer + och som adderar respektive subtraherar två PointD objekt Skriv en statisk metod Distance som tar två PointD objekt som argument och returnerar avståndet mellan punkterna. Avståndet beräknas med Pytagoras sats. Skriv ett program som använder PointD.cs och dess element. Uppgift 2.2 XYData (1p) Lägg i MinaKlasser till en klass XYData som har en automatisk egenskap data av typen BindingList<PointD> Gör en default-konstruktor som initierar data till en tom lista Gör en metod SetData som tar två fält av typen double och sätter data till att stämma överens med dessa. Om de två fälten är olika långa ska ett undantag av typen ArgumentException kastas. Gör ytterligare en konstruktor som tar två fält av typen double och anropar setdata med dessa Skriv en instansmetod FindPeaks som hittar maxima i datan och returnerar ett fält av typen double som innehåller x-koordinaterna för topparna. Skriv en instansmetod som returnerar en ny instans av XYData som innehåller kvadraten av data Uppgift 2.3 Statisk Variabel (1p) Skriv en klass som innehåller en statisk variabel som håller reda på hur många objekt av klassen som existerar för tillfället. Det ska dessutom finnas en statisk funktion som returnerar detta antal. Varje objekt i klassen ska även ha en instansvariabel som automatiskt tilldelas ett unikt id-nummer 8

9 när objektet skapas. Detta id-nummer ska inte kunna ändras efter att det har initieras. Markera därför instansvariablen som readonly. Uppgift 2.4 Kalender (2p) Skriv ett program som fungerar som en kalender. Det ska innehålla en klass med information om möten (var det är, när det sker, hur länge det varar, vilka som kommer vara där med mera). Programmet ska kunna spara möten och när användaren skriver in ett datum ska den dagens möten listas. Det ska också vara möjligt att få fram detaljerna för ett specifikt möte. I programmet ska det gå att lägga till, ta bort och ändra möten. Använd olika klasser för olika typer av möten och utnyttja arv inom objektorienterad programmering. Uppgift 2.5 Sorteringsklass (2p) (a) Du ska skapa en klass, Student, som hanterar ett godtyckligt antal studenter. Intressant information att lagra är åtminstone namn och ålder. Klassen ska vara sorteringsbar och detta åstadkommer du genom att implementera gränssnittet IComparable<T>, där T står för klassens namn. Du måste lägga till metoden CompareTo i klassen Student. Klassen Student ska ha privata fält för den information som lagras och till fälten ska det finnas publika egenskaper. Vidare ska klassen ha en konstruktor för att initiera ett objekt. För att testa klassen väljer du samlingsklassen List<T>. Du ska göra ett program som skriver ut en lista på personer i den ordning de lags till. Därefter ska programmet skriva ut en lista där personerna är sorterade på namn. Har två personer samma namn ska de sorteras efter ålder. (2p) (b) Utöka klassen Student i uppgift (a) så att det går att sortera på studenternas ålder likväl som på deras namn. Ett tips är att implentera gränssnittet IComparer<T>, läs i on-line -hjälpen för hur gränssnittet IComparer<T> kan användas för att sortera en klass. (1p) Uppgift 2.6 Gissa hemliga talet (2p) I denna uppgift ska du göra ett program där användaren har sju försök på sig att gissa ett heltal mellan 0 och 100. Följande krav måste uppfyllas: Användaren har sju (7) försök på sig att gissa rätt tal. Det ska inte gå att göra fler gissningar. En klass ska skapas för detta ändamål. Klassen ska ha lämpliga fält, egenskaper, metoder och konstruktorer. Antalet gissningar användaren har på sig ska lagras i en publik namngiven konstant. Det hemliga numret, som slumpats fram, ska inte kunna kommas åt. Klassen ska ha ett fält som håller reda på hur många gissningar som gjorts. Klassen ansvarar för att skriva ut om användaren gissat rätt tal, gissat för lågt, gissat för högt och om användaren förbrukat alla gissningar. Utskriften ska se ut som på skärmdumpen. En gissning görs genom att en metod i klassen anropas. Metoden ska skriva ut ett lämpligt meddelande beroende på resultatet av gissningen och metoden returnera true annars false. När användaren gissat rätt eller antalet gissningar är slut ska användaren få välja om han vill avsluta eller fortsätta en gång till. Om användaren matar in N ska programmet avslutas. 9

10 Uppgift 2.7 Statistik (2p) Du ska göra ett program som analyserar två serier om minst tio heltal vardera, gärna flera. Programmet ska presentera det största och det minsta värdet för respektive serie. Seriernas medelvärden ska också beräknas och presenteras. Slutligen ska programmet även avgöra vilken serie som har störst medelvärde. Skapa en klass Statistik som håller reda på de två serierna. Klassen ska inte lagra alla inmatade heltal utan den ska bara lagra den information som krävs för att presentera största och minsta värdet samt medelvärdet. Skapa klassen enligt klassdiagrammet. Som du ser har klassen en egen variant av metoden ToString() (som ni alla vet deklareras av basklassen Object). Metoden ToString() skriver ut seriens summa, medelvärde och största resp. minsta värdet. Metoden LasHeltal i klassen Program används för att läsa in och kontrollera de heltal som ska ingå i respektive serie. Använd int.tryparse i metoden LasHeltal för att kontrollera att det är heltal som matas in. Varje inläst heltal läggs till det Statistik-objekt som statistik refererar till med hjälp av metoden Add. Metoden LasHeltal anropas m.a.o. ifrån metoden Main. 10

11 11

12 Kapitel 3: Avancerad C# och grafiska komponenter Mål: Du introduceras till en del av alla de grafiska hjälpmedel och finesser som finns att tillgå i C# och VS Du lär dig att göra Windowsapplikationer. Övningsuppgift Ö1. Gör en Windowsapplikation som beräknar momsen för en viss vara. När användaren trycker på knappen beräkna ska momsen beräknas och visas m.h.a en label längs ner i fönstret. Varans pris exkl. moms ska matas in i en TextBox och momssatsen ska matas in via en NumericUpDown. Svaret ska innehålla pris exkl. moms, momsen och pris inkl. moms. Examinationssuppgifter Uppgift 3.1 Enkel Miniräknare (1p) Gör en Windowsapplikation som fungerar med funktionerna i figuren. Uppgift 3.2 Avancerad miniräknare (1-2 p) Utöka miniräknaren med fler funktioner. Kreativitet uppmuntras! Ju fler funktioner desto fler poäng får du på uppgiften. Minst 4 nya olika typer av funktionerkrävs för att få 1 poäng. Uppgift 3.3 Lissajoufigurer (1p) I denna uppgift ska ni skapa de klassiska Lissajoufigurerna. Dessa figurer uppstår när man har två sinusvågor med olika frekvens. De två sinusvågorna plottas i en XY-plot, där ena sinusvågen anger X-värdena och den andra Y-värdena. Låt amplituden på sinusvågorna vara 1 V. Med hjälp av 12

13 kontroller ska man kunna reglera de två sinusvågornas resp. frekvens. Resultatet ska visas i en ScatterGraph. Programmet ska även ha en CheckBox, om den är markerad ska en Legend visas. Uppgift 3.4 User controls, Model-View-Controller och Bindings (2p) I den här uppgiften ska du göra ett program enligt arkitekturmönstret model-view-controller (MVC). Idén med MVC är att separera databehandling (model) från dess grafiska representation (view). Kommunikationen mellan modellen och vyn sköts av controllern. Vilka ickefunktionella krav påverkas av MVC arkitekturen? Konstruera ett program som ser ut som figuren nedan. Programmet ska bestå av två klasser, en controller-klass och en view-klass. - Låt controllern representeras av Form-klassen som skapas när du skapar ett nytt projekt. Controller-klassen ska ha en instansvariabel av typen XYData och ska i konstruktorn koppla denna till view-objektet. Controllern ska även implementera händelsehanterare för knapparna Plot sinewave, Find peaks och FFT (Fourier-transform) på lämpligt sätt. - View-klassen ska vara en User control (använd menyalternativet Project:Add User Control ) med en ScatterGraph och en DataGridView. Använd GUI-editorn för att binda DataGridView-objektet till ett objekt av typen XYData (se Property-fönstrets DataSource-fält). För att kopplingen ska fungera måste View-klassen ska ha en instansmetod setdatasource som kopplar ett specifikt XYData-objekt till DataGridViewobjektet. För att grafen ska uppdateras när listan ändras implementerar du händelsen ListChanged för BindingSource-objektet. 13

14 Uppgift 3.5 Trafikljus (2p) Ditt företag har fått i uppdrag att tillverka ett kontrollsystem för trafikljusen i en mycket trafikerad 4-vägskorsning. Varje trafikljus består av grönt, gult och rött ljus. Ljusperioden för de olika färgerna ska vara: Rött ljus: 4s Gult ljus: 2 s Grönt ljus: 4 s Ljusen ska lysa på följande sätt: 14

15 Norr Söder Väster Öster Grönt Grönt Rött Rött Gult Gult Rött Rött Rött Rött Grönt Grönt Rött Rött Gult Gult Uppgift 3.6 Trafikljus del II. (1p) Utöka föregående uppgift med att lägga till ett trafikljus för fordon som ska svänga höger. Om sensorn (i detta fall en knapp under ljusen) som indikerar att det finns fordon som ska svänga höger är påslagen, följer trafikljusen som högersväng samma mönster som ovan. Det vill säga om ett fordon vid trafikljuset i norr ska svänga höger är trafikljuset för högersväng grönt, när trafikljuset i norr är grönt. Uppgift 3.7 Klocka (3p) Som forskare har man flera arbetsuppgifter, t.ex. forskning och undervisning. För att lättare hålla reda på hur mycket tid man lägger ner på de olika arbetsuppgifterna ska du göra ett program som håller reda på hur mycket tid man under en dag lägger ner på forskning, undervisning och lunch. Programmet ska se ut ungefär som i figuren. 15

16 Överst i fönstret visas vad klockan är. Sedan väljer man genom att trycka på resp. knapp vilken sysselsättning man roar sig med för tillfället. Om tex knappen Forskning trycks in ska tiden som visas vid forskning öka för varje sekund som går. Du ska med andra ord ha fyra stycken klockor, en för vanliga klockan och tre som håller reda på hur mycket tid du lägger ner på respektive sysselsättning. Du avgör själv om du vill att sekunderna ska visas för klockarna för resp. sysselsättning. När den sammanlagda tiden för Undervisning och Forskning uppgår till 8h ska en diod börja visas med texten Åk HEM!!!. Dioden ska blinka mellan svart och röd med en sekunds mellanrum. När dioden är röd ska texten Åk HEM!!! visas. När man trycker på knappen Spara ska tiden man lagt ner på de tre sysselsättningarna sparas i en textfil med lämpligt namn. Filen ska även innehålla dagens datum. Programmet ska sedan avslutas. Du ska skapa två stycken klasser för att visa tiden. Klasserna ska vara utformade enligt klassdiagrammen nedan. Klassen NumberDisplay simulerar en nummerdisplay med två stycken siffror. Egenskapen Number som är kopplad till fältet _number säkerställer att det är omöjligt att sätta ett värde mindre än 0 och större än största tillåtna värdet, _maxnumber. Om ett ogiltigt värde matas in ska ett ArgumentException kastas. Klassen har två konstruktorer, i den ena sätts Number = 0. Metoden GetDisplayNumber() returnerar aktuellt värde. Är värdet mindre än 10 läggs en nolla till först i strängen, tex om det aktuella värdet är 3 returneras 03. Med metoden Increment() ökas det aktuella 16

17 värdet med ett. Om det aktuella värdet skulle bli större än det _maxnumber sätts det aktuella värdet till 0. Klassen ClockDisplay använder tre stycken NumberDisplay-objekt för att simulera en digital klockdisplay. Det booleska fältet _visasek sätts till true om man vill att även sekunderna ska visas när man presenterar tiden. Metoden GetTime() ska returnera aktuell tid på formen 12:45:10 i form av en sträng. Metoden SetTime() används för att ställa tiden. Defaultkonstruktorn ska sätta tiden till 00:00:00. Alla konstruktorer ska använda metoden SetTime() för att ställa tiden. Metoden TimeTick() låter klockan gå en sekund. För denna uppgift ska du skapa fyra stycken ClockDisplayobjekt, en som visar vad tiden är och en för varje sysselsättning. Det ClockDisplay-objektet som visar vad tiden är ska när programmet börjar initieras till rätt tid med hjälp av DateTime. Uppgift 3.8 Egen uppgift (1-3p) Gör en egen uppgift - inklusive ett förslag till lösning. Bedöm också svårighetsgraden på uppgiften genom att ge den poäng mellan 1 till 3 p. (Du får inte nödvändigtvis samma poäng vid redovisningen.) LYCKA TILL! 17

Övnings- och examinationsuppgifter C# - programmering I (FYD421)

Övnings- och examinationsuppgifter C# - programmering I (FYD421) Övnings- och examinationsuppgifter C# - programmering I (FYD421) Version 2.0 20:e januari 2012 Huvudförfattare: Peter Klason (peter.klason@physics.gu.se) Medförfattare: Per Sillrén, Patrik Johansson, Andreas

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

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Övningsuppgift Bankkonton 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 programmering

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

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

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

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa

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

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Kursplanering Objektorienterad programmering

Kursplanering Objektorienterad programmering Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund

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

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

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

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

Lösningsförslag övning 2.

Lösningsförslag övning 2. Objektorienterad programmering, Z1 Lösningsförslag övning 2. Uppgift 1. public class SIUnits { public static double yardspermeter = 1.093613; public static double poundperkilo = 2.204623; public static

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

PROGRAMMERING-JAVA TENTAMINA

PROGRAMMERING-JAVA TENTAMINA PROGRAMMERING-JAVA TENTAMINA Nicolina Månsson 2010-08-16 (Kontaktperson Nicolina Månsson, tel. 0768-530640) Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift

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

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

Läs mer

Klasshierarkier - repetition

Klasshierarkier - repetition Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom

Läs mer

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder Objektorienterad programmering Föreläsning 6 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska

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

PROGRAMMERING-Java TENTAMINA

PROGRAMMERING-Java TENTAMINA PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För

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

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC lektion 1 PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC VB är ett applikationsutvecklingsverktyg med programmeringsspråket är basic, gränssnittet är grafiskt och man arbetar hela tiden

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

Läs mer

Tentamen i Programmeringsteknik I, ES, 2010-03-18

Tentamen i Programmeringsteknik I, ES, 2010-03-18 Tentamen i Programmeringsteknik I, ES, 2010-03-18 Skriv tid: 14-17. Hjälpmedel: 1. Kurslitteratur, en av följande: Lewis & Loftus, Java Software Solutions Skansholm, Java Direkt Guzdial & Ericson, Intrododuction

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# 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å här: Allt innehåll i

Läs mer

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33 Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation

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

Laboration 4: Digitala bilder

Laboration 4: Digitala bilder Objektorienterad programmering, Z : Digitala bilder Syfte I denna laboration skall vi återigen behandla transformering av data, denna gång avseende digitala bilder. Syftet med laborationen är att få förståelse

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

Är en-relation. Har en-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande

Läs mer

Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt:

Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt: 8. Objektorientering Skälet till att C++ är ett av de mest använda programspråken är att det är objektorienterat. Detta bygger vidare på begreppet struct (ursprungligen från språket C som inte är objektorienterat),

Läs mer

EXTRA UPPGIFTER I C++ PROGRAMMERING-A

EXTRA UPPGIFTER I C++ PROGRAMMERING-A EXTRA UPPGIFTER I C++ PROGRAMMERING-A Uppgifterna är ej sorterade efter svårighetsgrad 1. Gör ett program som kan beräkna arean och omkretsen av en cirkel om användaren (du) matar in cirkelns radie. Skapa

Läs mer

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel Objekt Instansvariabler Instansmetoder Klassvariabler Klassmetoder Inkapsling Föreläsning 6 Vad är ett objekt? Ett objekt har egenskaper, som kallas för objektets attribut Egenskaperna beskriver tillsammans

Läs mer

Laboration 2. returnerar true om det är omöjligt för roboten att göra move() utan att. exekveringsfel erhålls, annars returnera false.

Laboration 2. returnerar true om det är omöjligt för roboten att göra move() utan att. exekveringsfel erhålls, annars returnera false. Laboration 2. I denna laboration skall ni programmera en robot som modelleras av den givna klassen Robot. En robot vistas i en enkel värld, som modelleras av klassen RobotWorld. Världen består av ett rutmönster

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

Laboration 3: Musikbibliotek

Laboration 3: Musikbibliotek Laboration 3: Musikbibliotek Objektorienterad programmering, Z1 Syfte I denna laboration ska ni definiera ett litet bibliotek för att generera musik som kan avlyssnas med vanliga musikprogram. Tiden medger

Läs mer

Laboration 3 - Java och databaser

Laboration 3 - Java och databaser Version 1.1 Laboration 3 - Java och databaser Laborationen fokuserar på det som behandlades i föreläsningarna 7 och 8. Inhämtade kunskaper från föregående föreläsningar och laborationer i kursen förutsätts

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

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

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Kort kursinfo Lab info Föreläsning - Vad utmärker ett bra användargränssnitt?

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

2B1115 Ingenjörsmetodik (Engineering Fundamentals)

2B1115 Ingenjörsmetodik (Engineering Fundamentals) 2B1115 Ingenjörsmetodik (Engineering Fundamentals) HT 2005 Kompendium 2 Datorlaborationer med kalkylark, Matlab och ordbehandlare. Redovisas senast 2005-10-31 1 Innehåll Inledning... 2 Deluppgift 1. Kalkylark...

Läs mer

Datorlaboration 0, Programmering i C++ (EDA623)

Datorlaboration 0, Programmering i C++ (EDA623) LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2013 Datorlaboration 0, Programmering i C++ (EDA623) Under den inledande datorlaborationen får du träna på de grundläggande

Läs mer

Introduktion till Word och Excel. 14 september 2008

Introduktion till Word och Excel. 14 september 2008 Introduktion till Word och Excel 14 september 2008 1 Innehåll 1 Inledning 3 2 Word 3 2.1 Uppgift................................ 3 2.2 Instruktioner............................. 3 2.2.1 Hämta hem ler.......................

Läs mer

PROV. 10 Uppräknade datatyper

PROV. 10 Uppräknade datatyper 10 10.1 10.2 Definition 10.3 Användning och regler 10.4 switch-satsen 10.5 Iteration över samtliga värden 10.6 Instansvariabler och instanstjänster 10.7 Värdespecifika implementationer 10.1 Hur ser vi

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25 Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

Läs mer

Laboration 13, Arrayer och objekt

Laboration 13, Arrayer och objekt Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift

Läs mer

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Kortfattad instruktion för installation och användning av streckodsapplikationer

Kortfattad instruktion för installation och användning av streckodsapplikationer Kortfattad instruktion för installation och användning av streckodsapplikationer 2 1. Installation 2.2 1.1 Förberedelser För att installera applikationen scanner.s32 i streckodsläsaren Opticon OPL9728,

Läs mer

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation Projekt 2 Möjligheter/Problem med 2-dimensionella mätdata Uppstart: Se planen (kursens hemsida) Etapp 1 Mätdata i 2 dimensioner behöver utredas/signalbehandlas

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

En introduktion till och första övning i @Risk5 for Excel

En introduktion till och första övning i @Risk5 for Excel LUNDS UNIVERSITET 1(6) STATISTISKA INSTITUTIONEN Per-Erik Isberg / Lars Wahlgren VT2012 En introduktion till och första övning i @Risk5 for Excel Vi har redan under kursen stiftat bekantskap med Minitab

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa. Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa. Antal: Enskilt Material: En dator med Windows 7 (Vista, Windows 8 eller

Läs mer

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05 1(15) Bilaga 1 2(15) Neuronnätslaboration Räknare Denna laboration riktar sig till gymnasieelever som går en teknisk utbildning och som helst har läst digitalteknik samt någon form av styrteknik eller

Läs mer

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen. TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program

Läs mer

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Föreläsnings 11 - GUI, Händelsestyrda program, MVC Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken

Läs mer

ADO.NET Murach Kapitel 17-20

ADO.NET Murach Kapitel 17-20 Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan

Läs mer

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, 491000, 073-820 1700 Resultatet o entliggörs senast: 2012-05-29. Tillåtna

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

HI1024 Programmering, grundkurs TEN2 2014-03-13 HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

IF1611 Ingenjörsmetodik (Engineering Fundamentals)

IF1611 Ingenjörsmetodik (Engineering Fundamentals) IF1611 Ingenjörsmetodik (Engineering Fundamentals) 7.5 hp HT 2007 KursPM Kursens hemsida http://www.kth.se/student/program-kurser/kurshemsidor/ict/map/if1611/ HT07-1 Mål, Krav, Innehåll och Schemaunderlag

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

IT-system. BUP Användarmanual

IT-system. BUP Användarmanual IT-system Användarmanual Innehållsförteckning 1. Att komma igång med... 1 1.1 Installera... 1 1.1.1 Byt databas... 1 1.1.2 Behörighet att byta databas... 2 1.2 Logga in... 3 1.2 Inloggad... 3 1.3 Logga

Läs mer

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år. STYRANDE SATSER 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år. Vilket år är du född? 1971 Då har du bara 35 år kvar

Läs mer

Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL. Version 1.2 2011-10-12

Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL. Version 1.2 2011-10-12 Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL Version 1.2 2011-10-12 1. Förord I det här dokumentet ges en generell beskrivning av det Webservice-API som är utvecklat av Jetshop AB, och är avsett för dig

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Histogram, pivottabeller och tabell med beskrivande statistik i Excel

Histogram, pivottabeller och tabell med beskrivande statistik i Excel Histogram, pivottabeller och tabell med beskrivande statistik i Excel 1 Histogram är bra för att dem på ett visuellt sätt ger oss mycket information. Att göra ett histogram i Excel är dock rätt så bökigt.

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Matematik Uppnående mål för år 6

Matematik Uppnående mål för år 6 Matematik Uppnående mål för år 6 Allmänt: Eleven ska kunna förstå, lösa samt redovisa problem med konkret innehåll inom varje avsnitt. Ha en grundläggande taluppfattning som omfattar naturliga tal och

Läs mer

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08 JavaRats Kravspecifikation Version 1.1 Gustav Skoglund gussk258@student.liu.se Marcus Widblom marwi026@student.liu.se Senast ändrad: 13 / 05 / 08 Sammanfattning Kravspecifikationen för JavaRats har skrivit

Läs mer

Omtentamen i OOSU2, 16 maj 2014

Omtentamen i OOSU2, 16 maj 2014 Omtentamen i OOSU2, 16 maj 2014 Maxpoäng: 50. Betygsgränser: A: 90 % + B: 80 % + C: 70 % + D: 60 % + E: 50 % + Mindre än 50 % ger underkänd tentamen. Är det något du inte uppfattar så förklara hur du tolkar

Läs mer

Föreläsning 6 pekare och pekare tillsammans med arrayer

Föreläsning 6 pekare och pekare tillsammans med arrayer Föreläsning 6 pekare och pekare tillsammans med arrayer Vi ska nu undersöka vad pekare egentligen är och hur de relaterar till arrayer. Det är ett centralt tema i C-programmering. Vi följer boken och går

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108.

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Denna tenta kommer att vara färdigrättad Fr 14/1 och kan då hämtas på mitt tjänsterum,

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

Dagens föreläsning (F15)

Dagens föreläsning (F15) Dagens föreläsning (F15) Problemlösning med datorer Carl-Mikael Zetterling bellman@kth.se KP2+EKM http://www.ict.kth.se/courses/2b1116/ 1 Innehåll Programmering i Matlab kap 5 EKM Mer om labben bla Deluppgift

Läs mer

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

Laboration Fuzzy Logic

Laboration Fuzzy Logic BILAGA B Laboration Fuzzy Logic Lär dig simulera ett program! ABB INDUSTRIGYMNASIUM Fuzzy Logic Wikingsons Wåghalsiga Wargar Projekt ABB VT 2006 Västerås Innehåll 1 Introduktion... 3 2 Uppgiften... 3 2.1

Läs mer

Användarmanual Envi logger G1 Version: R1A Datum: 2010-03-10

Användarmanual Envi logger G1 Version: R1A Datum: 2010-03-10 Användarmanual Envi logger G1 Version: R1A Datum: 2010-03-10 Inledning Envi logger G1 är ett PC-baserat loggersystem där all mätdata sparas i en databas på PC:n. Mätdata sparas i råformat så som det mäts

Läs mer

WebViewer Manual för administratör. 2013 Nova Software AB

WebViewer Manual för administratör. 2013 Nova Software AB WebViewer Manual för administratör 2 Manual WebViewer Innehållsförteckning Innehållsförteckning... 2 1 Introduktion... 3 2 Inställningar... 4 2.1 Uppdatera licensinformation... 4 2.2 Inmatning av användaruppgifter...

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

3.5 Visuell programmering

3.5 Visuell programmering 3.5 Visuell programmering Alla våra program hittills har varit C# Console Applications (sid 41) inkl. programmet MessageBox fast det genererade en grafisk meddelanderuta. Nu vill vi utnyttja grafikens

Läs mer

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a. Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel

Läs mer

2013-06-03. Användarmanual

2013-06-03. Användarmanual 2013-06-03 Användarmanual Inledning Denna användarmanual finns för att du på enklast möjliga sätt skall kunna uppdatera din utövarinformation via ADAMS. Var uppmärksam på att vissa bilder kan se annorlunda

Läs mer

Kapitel Datakommunikation Anslutning av två enheter Anslutning av enheten till en persondator Anslutning av enheten till en CASIO etikettskrivare

Kapitel Datakommunikation Anslutning av två enheter Anslutning av enheten till en persondator Anslutning av enheten till en CASIO etikettskrivare Kapitel I detta kapitel får du veta allt du behöver känna till för att överföra program mellan fx-7400g PLUS och vissa grafiska räknarmodeller frän CASIO som kan anslutas med extra tillbehöret SB-62 kabeln.

Läs mer

DT018G Introduktion till programmering i C++, 7,5 hp Välkommen till denna information om kursen "Introduktion till programmering i C++".

DT018G Introduktion till programmering i C++, 7,5 hp Välkommen till denna information om kursen Introduktion till programmering i C++. DT018G Introduktion till programmering i C++, 7,5 hp Välkommen till denna information om kursen "Introduktion till programmering i C++". Kursbeskrivning och syfte "Introduktion till programmering i C++,

Läs mer

Signalbehandling Röstigenkänning

Signalbehandling Röstigenkänning L A B O R A T I O N S R A P P O R T Kurs: Klass: Datum: I ämnet Signalbehandling ISI019 Enk3 011211 Signalbehandling Röstigenkänning Jonas Lindström Martin Bergström INSTITUTIONEN I SKELLEFTEÅ Sida: 1

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

Läs mer

TNSL05, Optimering, Modellering och Planering 6 hp, HT2-2011

TNSL05, Optimering, Modellering och Planering 6 hp, HT2-2011 ITN/KTS Stefan Engevall/Joakim Ekström Kursinformation TNSL05, Optimering, Modellering och Planering, HT2011 TNSL05, Optimering, Modellering och Planering 6 hp, HT2-2011 1 Kursmål & innehåll 1.1 Mål med

Läs mer