Frekvenstabell över tärningskast med C#
|
|
- Karin Gunnarsson
- för 8 år sedan
- Visningar:
Transkript
1 Guide Frekvenstabell över tärningskast med C# Introduktionsuppgift Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402
2 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 verket Frekvenstabell över tärningskast med C# av Mats Loock, förutom Linnéuniversitetets logotyp, symbol och kopparstick, är licensierad under: Creative Commons Erkännande-IckeKommersiell-DelaLika 2.5 Sverige licens. Det betyder att du i icke-kommersiella syften får: kopiera hela eller delar av innehållet sprida hela eller delar av innehållet visa hela eller delar av innehållet offentligt och digitalt konvertera innehållet till annat format du får även göra om innehållet Om du förändrar innehållet så ta inte med Linnéuniversitetets logotyp, symbol och/eller kopparstick i din nya version! Vid all användning måste du ange källan: Linnéuniversitetet Inledande programmering med C# och en länk till och till Creative Common-licensen här ovan. Inledande programmering med C# (1DV402) 2 (16)
3 Innehåll Du ska följa steg för steg -instruktionen i denna introduktionsuppgift och skapa en konsolapplikation med C# och Visual Studio Applikationen ska slumpa i det slutna intervallet mellan 100 till 1000 tärningskast och presentera en frekvenstabell över förekomsten av ettor, tvåor, osv. 1. Starta Visual Studio Figur Du ska skapa ett projekt för en konsolapplikation med C#, välj därför File New Project... Figur Dialogrutan New Project visas. Figur 3. a) Markera Visual C# under Installed, Templates. b) Kontrollera så att.net Framework 4.5 visas i den nedrullningsbara listrutan. c) Markera Console Application. d) Vid Name skriver du in projektets namn (RollFrequencyTable). e) Ange vid Location en lämplig katalog där projektet ska sparas (t.ex. C:\Projects). Inledande programmering med C# (1DV402) 3 (16)
4 4. Visual Studio skapar ett nytt konsolprojekt som placerats i en egen solution med samma namn som projektet. Det nya projektet innehåller bland annat filen Program.cs. Filer är organiserade i projekt och ett projekt kan innehålla flera filer som tillsammans utgör applikationen. Projekt är organiserade i solutions. En solution kan innehålla flera projekt. Fönstret Solution Explorer innehåller projekt och filer. Figur Filen Program.cs innehåller klassen Program med metoden Main och därmed är minimikraven uppfyllda för att du nu ska kunna köra applikationen. För att köra applikationen välj menykommandot Debug Start Without Debugging, eller tryck ner tangentbordkombinationen Ctrl + F5. Figur 5. Vad händer med källkoden i Program.cs? Källkoden i Program.cs kompileras till IL-kod ( Intermediate Language ) som placeras i en ny fil, Program.exe, en assembly. Vid exekvering av applikationen ansvarar en virtuell maskin kallad CLR ( Common Language Runtime ), en central del av dotnetramverket (.NET Framework), för att IL-koden i assemblyn just-in-time -kompileras till maskinkod som sedan exekveras. 6. Applikationen körs och ett tomt konsolfönster, förutom texten Press any key to continue som Visual Studio lagt dit, visas. Stäng konsolfönstret genom att trycka på vilken tangent som helst på tangentbordet. Figur 6. Inledande programmering med C# (1DV402) 4 (16)
5 7. Applikationen ska simulera tärningskast. Ett tal mellan 1 och 6 kan representera ett tärningskast. Resultatet av ett tärningskast måste sparas i en variabel vars värde sedan presenteras i konsolfönstret. a) Börja med att radera satsen på rad 5 using System.Threading.Tasks; för att radnummer i anvisningar och bilder ska stämma! b) Deklarera en variabel, med namnet roll, av typen int och initiera den till värdet 4 (stasen på rad 12 i Figur 7). c) Presentera variabelns värde (satsen på rad 13 i Figur 7). Figur 7. Deklaration och initiering av variabeln roll vars värde skrivs ut. 8. Testa applikationen genom att välj menykommandot Debug Start Without Debugging, eller tryck ner tangentbordkombinationen Ctrl + F5. (Gjorda förändringar sparas automatiskt i samband med att ett projekt exekveras). Figur 8. Värdet 4 skrivs ut eftersom variabeln roll har det värdet. 9. Resultatet av ett tärningskast slumpas inte på något vis av applikationen utan är vad som kallas hårkodat till värdet 4. För att slumpa ett värde i det slutna intervallet mellan 1 och 6 måste ett objekt av typen Random användas. a) Istället för att tilldela variabeln roll värdet 4 ska variabeln tilldelas värdet 0 (satsen på rad 12 i Figur 9). b) Skapa och initiera en referensvariabel, med namnet die (som betyder tärning på engelska), av typen Random att referera till ett objekt av typen Random (satsen på rad 13 i Figur 9). c) Tilldela roll värdet som metoden Next() returnerar (satsen på rad 15 i Figur 9). Figur 9. Metodanropet die.next(1,7) returnerar ett tal i det slutna intervallet mellan 1 och 6. Inledande programmering med C# (1DV402) 5 (16)
6 10. Testa applikationen flera gånger och konstatera värden mellan 1 och 6 skrivs ut i konsolfönstret. Figur Applikationen kan nu simulera ett tärningskast. Kravet är att mellan 100 och 1000 tärningskast ska kunna simuleras. Hur ska applikationen göra för att simulera t.ex. 273 tärningskast? Det kan enklast göras genom att låta en for -sats omsluta raderna 15 och 17 i Figur 9. Satserna på raderna 17 och 19 i Figur 11 kommer att upprepas 273 gånger. Figur 11. En for -sats som används för att upprepa de omslutna satserna 273 gånger. 12. Antalet tärningskast är nu hårdkodat till 273. Användaren av applikationen ska kunna ange ett heltal i det slutna intervallet mellan 100 och a) Deklarera och initiera variabeln count till 0 (satsen på rad 12 i Figur 12). b) Skriv ut en ledtext (satsen på rad 16 i Figur 12). c) Läs in heltalet användaren matat in och lagra värdet i count (satsen på rad 17 i Figur 12). d) Ersätt 273 med count i for -satsens villkorsuttryck (uttrycket på rad 19 i Figur 12). Figur 12. Variabeln count tilldelas Inläst heltal av typen int. Inledande programmering med C# (1DV402) 6 (16)
7 13. Hur många gånger har du hittills sparat de ändringar du gjort? Inte någon gång? Huuu! Hög tid att klicka på knappen Save All som sparar alla öppna filer som har osparade ändringar. Ta för vana att spara ofta, t.ex. efter varje sats. Ctrl + S, som sparar filen som har fokus, ska sitta i ryggmärgen. 14. Efter att ett antal förändringar är gjorda är det lämpligt att testa applikationen igen. Figur 13. Resultatet av varje tärningskast skriv ut och applikationen fungerar, så långt den är skriven, som förväntat. 15. Applikationen kan nu simulera av användaren angivet antal tärningskast. Men hur ska en frekvenstabell över tärningskasten kunna skrivas ut? För att kunna skriva ut en frekvenstabell måste applikationen räkna antalet framslumpade ettor, tvåor, o.s.v. En träning har sex sidor varför en variabel med plats för sex värden behövs, en så kallad array. a) Ersätt satsen som deklarerar variabeln roll med en sats som skapar referensvariabeln frequencytable, av typen int[], och tilldela den en referens till en array med sex element (satsen på rad 13 i Figur 14). b) En array har 0-baserat index, d.v.s. det första elementet har index 0, varför tal i det slutna intervallet mellan 0 och 5 nu måste slumpas fram. Satsen som tilldelar roll ett slumpat värde ska ersättas med en sats där det framslumpade värdet leder till att motsvarande elements värde i arrayen ökas med 1 (satsen på rad 21 i Figur 14). c) En foreach -loop är lämplig att använda för att skriva ut elementens värden i arrayen (satserna på rad i Figur 14). Figur 14. Inledande programmering med C# (1DV402) 7 (16)
8 16. Testa applikationen och konstatera att något som kan vara en frekvenstabell skrivs ut i konsolfönstret. Figur 15. Applikationen uppfyller nu de löst ställda kraven och en frekvenstabell över ett antal tärningskast skrivs ut. Men hur är det med kvalitéten på användargränssnittet? i. Användaren uppmanas att mata in ett heltal i det slutna intervallet mellan 100 och Men vad händer om användaren matar in något som inte kan tolkas som ett heltal? Vad händer om användaren matar in t.ex. 13? Ska det gå? ii. Presentationen av frekvenstabellen har en del övrigt att önska. Vad betyder 129? Vad betyder 163? Allvarligaste problemet är första punkten ovan eftersom om användaren matar in något som inte kan tolkas som ett heltal så kraschar applikationen. Figur 16. Applikationen kraschar då användaren matar in strängen tvåhundra istället för heltalet Eventuella fel i samband med inläsning av antalet tärningskast som ska göras måste hanteras. Satsen som sköter inläsningen måste ersättas av do-while -satsen, som får omsluta satsen som skriver ut ledtexten, på raderna i Figur 17. Figur 17. Inledande programmering med C# (1DV402) 8 (16)
9 18. Testa applikationen och konstatera att applikationen inte längre kraschar. Det går fortfarande att mata in ett tal som inte är i det slutna intervallet mellan 1 och 100! Figur 18. Resultat då ett värde mindre än 100 matats in. 19. I samband med inläsningen måste validering ske av värdet så att det ligger i det slutna intervallet mellan 100 och Villkorsuttrycket i do-while -satsen måste kompletteras så att det undersöker om det inlästa värdet är större eller lika med 100 och om det är mindre eller lika med 1000 (uttrycket på raderna i Figur 19). Figur Vid test av applikationen ska det nu vara omöjligt att mata in något annat än ett heltal i det slutna intervallet mellan 100 och Figur 20. Punkt 16 i) är nu åtgärdad. Återstår att åtgärda gör punkt 16 ii), d.v.s. att låta applikationen presentera frekvenstabellen på ett något bättre sätt så att t.ex. tärningssidan framgår: Ettor: 107 Tvåor: 114 Sexor: 113 Inledande programmering med C# (1DV402) 9 (16)
10 21. Applikationen måste känna till vad tärningssidorna kallas. Lämpligt är då att låta en array innehålla de strängar som beskriver tärningens sidor. Då frekvenstabellen sedan presenteras kan respektive sträng skrivas ut tillsammans med resultatet. 1 a) Lägg till en sats som skapar referensvariabeln facets, av typen string[], och initiera den med en array innehållande de sex strängar som var och en beskriver tärningens sidor (satsen på rad 14 i Figur 21). b) Ersätt foreach -satsen med en for -sats som skriver ut varje tärningssida med tillhörande värde i frekvenstabellen (satserna på rad i Figur 21). Figur Testa applikationen på nytt. Nu ska det tydligare framgå hur många ettor, tvåor, o.s.v. som har slumpats fram. Lägg märke till att tabellen är något svår att läsa då en-, tio- och hundratal inte står under varandra. Figur 22. Frekvenstabellen är dåligt formaterad vilket gör den svår att läsa. 23. Värden (strängar, heltal, etc.) som skrivs ut med hjälp av en formatspecificerare kan justeras på olika sätt. Den förändrade satsen på rad 31 i Figur 23 ser till att tärningssidan vänsterjusteras med en fältbredd på sex tecken, och resultatet högerjusteras med en fältbredd på fyra tecken. Figur Det är inte optimalt med en lösning som kräver synkronisering av två olika arrayer. En bättre lösning är att använda en associativ array ( dictionary ), men den konstruktionen får vänta till den avslutande delen av kursen. Inledande programmering med C# (1DV402) 10 (16)
11 24. En test av applikationen visar att den nu beträffande användargränssnittet är acceptabel, men har kanske en hel del övrigt att önska, bl.a. saknas felmeddelande vid felaktig inmatning. Figur 24. Frekvenstabellen bättre formaterad vilket underlättar läsningen av den. Applikationen uppfyller nu det löst ställda kraven bättre beträffande användargränssnittet. Men hur är det med kvalitéten beträffande koden? i. All kod är skriven i en och samma metod. Ofta vinner även mindre applikationer på att omstruktureras i flera metoder. Det blir då lättar att förstå och därmed underhålla koden. ii. Avsaknaden av kommentarer är total vilket försvårar förståelse av koden. 25. Placera koden som har hand om inläsningen av antal tärningskast som ska simuleras i en separat metod med namnet ReadNumberOfRolls() enligt satserna på raderna i Figur 25. Metoden anropas enligt satsen på rad 17 i Figur 25 och värdet metoden returnerar lagras i den lokala variabeln count. Figur 25. Inledande programmering med C# (1DV402) 11 (16)
12 26. Även skapandet av frekvenstabellen och presentationen av den kan omstruktureras i två separata metoder enligt Figur 26. Trots att koden fortfarande inte innehåller några kommentarer är den lättare att förstå då metodernas namn har valts med omsorg och beskriver väl vad respektive metod har till uppgift. Figur 26. Inledande programmering med C# (1DV402) 12 (16)
13 27. Då användaren råkar mata in något som inte kan tolkas som ett heltal i det slutna intervallet mellan 100 och 1000 visas inget felmeddelande. Metoden ReadNumberOfRolls() måste skrivas om så att så sker (satserna på raderna och i Figur 27). Figur Testa applikationen genom att mata in några felaktiga värden. Figur 28. Felmeddelande visas då användaren matar in något som inte kan tolkas som ett heltal i det slutna intervallet mellan 100 och Presentationen av frekvenstabellen behöver åtgärdas så den liknar en tabell (satserna på raderna och i Figur 29). Figur 29. Inledande programmering med C# (1DV402) 13 (16)
14 30. Testa applikationen och verifiera att frekvenstabellen nu påminner mer om en tabell än tidigare. Figur 30. Frekvenstabellen presenterad på mer tilltalande sätt. 31. Kod ska alltid dokumenteras. Figur 31 visar hur källkoden blir enklare att förstår när den kompletterats med kommentarer. Inledande programmering med C# (1DV402) 14 (16)
15 Inledande programmering med C# (1DV402) 15 (16)
16 Figur 31. Inledande programmering med C# (1DV402) 16 (16)
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
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å
Övningsuppgift. En array baklänges. Steg 1. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402
Övningsuppgift En array baklänges Steg 1 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
Gissa det hemliga talet
Laborationsanvisning Gissa det hemliga talet Steg 2, laborationsuppgift 1 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i
Metoder. Inledande programmering med C# (1DV402)
Metoder 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 detta verk av
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
Inledande programmering med C# (1DV402) Tärningarna ska kastas
Tärningarna ska kastas 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
Inledande programmering med C# (1DV402) 85/2=42. OBS! Heltal 1 (13)
85/2=42 OBS! Heltal 1 (13) Inmatning och formaterad utmatning 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
Inledande programmering med C# (1DV402) Summera med while"-satsen
Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får
Övningsuppgift. Repeterbara citat. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402
Övningsuppgift Repeterbara citat 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
Inledande programmering med C# (1DV402) 85%43=42. OBS! Heltal 1 (14)
85%43=42 OBS! Heltal 1 (14) Heltalsdivision 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
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
"if"-satsen. Inledande programmering med C# (1DV402)
"if"-satsen 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 verket if-satsen
Räkna med ASP.NET Web Forms
Instruktion Räkna med ASP.NET Web Forms Introduktionsuppgift Författare: Mats Loock Kurs: ASP.NET Web Forms Kurskod:1DV406 Innehåll Du ska följa steg för steg -instruktionen i denna introduktionsuppgift
Inledande programmering med C# (1DV402) Introduktion till programmering
Introduktion till programmering 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
Räkna med ASP.NET MVC 3
Instruktion Räkna med ASP.NET MVC 3 Introduktionsuppgift Författare: Mats Loock Kurs: ASP.NET MVC Kurskod:1DV409 Innehåll Du ska följa steg-för-steg -instruktionen i denna introduktionsuppgift och skapa
Laborationsanvisning. Digital väckarklocka. Steg 2, laborationsuppgift 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402
Laborationsanvisning Digital väckarklocka Steg 2, laborationsuppgift 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning
Ö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
Receptsamling med fil
Laborationsanvisning Receptsamling med fil Steg 3, laborationsuppgift 1 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning
Räkna med C# Inledande programmering med C# (1DV402)
Räkna med 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 verket
Så här skriver du ditt första program i C++
Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433
Inledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler 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
Laborationsanvisning. Geometriska figurer. Steg 2, laborationsuppgift 3. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402
Laborationsanvisning Geometriska figurer Steg 2, laborationsuppgift 3 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning
Klasser och objekt i C#
Klasser och objekt i C# Från klassdiagram till C#-klass till objekt initierat av en konstruktor. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med
Inledande programmering med C# (1DV402) Introduktion till. eller så här är det tänkt att fungera.
Introduktion till kursen eller så här är det tänkt att fungera. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får
Code-Lite tutorial ( /RoJ)
Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler
Övning: Arbeta med Azure Explorer
1 Övning: Arbeta med Azure Explorer Azure Explorer är ett tredjpartsverktyg för att hantera lagring i Azure. Arbetsuppgift 1: Ladda ner och installera Azure Explorer på din utvecklingsmaskin i Azure. Steg
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
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
Microsoft Visual Studio 2017
Microsoft Visual Studio 2017 Efter den inledande teorin om programmering är det dags för praktik. I bokens förord (sid 3) konstaterade vi: Programmering är i allra högsta grad ett praktiskt ämne. Du kommer
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
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
[] Arrayer = Indexerad variabel
[] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas
Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 9 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Fält Grunderna Fält med komponenter av struct-typ Fält med referenser Standardklassen
Övning Dictionary. Övning 1. Steg 1: På din virtuella maskin, starta Visual Studio.
1 Övning Dictionary När collection av typen Dictionary används, används nyckel och ett värde som ett par för lagringen. Duplikat av information kan lagras, men nyckel är alltid unik. Generic collections
Labora&on 2 Funk&oner, if och loop övningar/uppgi:er
Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns
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.
NetBeans 5.5. Avsikt. Projektfönster
NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Komponenter med COM (och COM+/VC++ 7.0)
MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller
NetBeans 7. Avsikt. Projektfönster
NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då
Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de
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 (
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
Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.
Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av
HI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början
HI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2014-10-27 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
Förutsättningar: Konto på Azure, kontot har fått File Storage tillagt, Azure Powershell version eller senare.
1 Övning: Att arbeta med File Storage i Azure Förutsättningar: Konto på Azure, kontot har fått File Storage tillagt, Azure Powershell version 0.8.5 eller senare. Övning 1: Skapa nytt Storage Account Arbetsuppgift
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
Datorlaboration 0, Programmering i C++ (EDAF30)
LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2015 Datorlaboration 0, Programmering i C++ (EDAF30) Under den inledande datorlaborationen får du träna på de grundläggande
Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.
Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
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
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
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
Arrayer (fält)
Arrayer (fält) 1 Vad kommer vi att ta upp om arrayer? Deklarera och initiera arrayen Lägga till i arrayen Ta ut på indexposition Ta reda på arrayens längd Sortera arrayen Söka igenom arrayen Loopa igenom
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
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
Agenda. Objektorienterad programmering Föreläsning 13
Objektorienterad programmering Föreläsning 13 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Ett objektorienterat exempel Repetition Mer om arv Abstrakta klasser Abstrakta metoder
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
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
Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler
Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa
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
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:
Lektion 7. Datateknik A, Java I, 5 poäng
Datateknik A, Syfte: Att kunna skapa och använda fält av både primitiva typer och egendefinierade klasser. Kunna skriva en egen enkel algoritm för sortering samt använda befintliga klasser i Javas API
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
PROGRAMMERING-Java Omtentamina
PROGRAMMERING-Java Omtentamina Nicolina Månsson 2007-08 13 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 41 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. -
Lösningsförslag: Instuderingsfrågor, del D
Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del D a) Inget fält behövs. Man kan läsa in ett tal i taget och addera dessa till summan. b) Här behövs ett fält. c) Här
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
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
Innehållsförteckning. 9 Större projekt Övningsuppgifter...32
PROGRAMMERING JAVA Innehållsförteckning 1 Allmänt om Java...5 I detta kapitel... 5 Historia... 5 Hur fungerar det att programmera?... 6 Inspiration... 9 Styrkan i Java...10 Övningsuppgifter... 11 2 Utvecklingsverktyget...12
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
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
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
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
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å
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
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
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
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
1 Språket C Valet av språket C++ för kompendiet. 1.2 Språket. 1.3 Att programmera. 1.4 Hello World Börja programmera
1 Språket C++ 1.1 Valet av språket C++ för kompendiet Språket C++ är ett språk som utvecklats för storskalig objektorienterad utveckling av sofistikerade och komplexa system. Det ligger då i sakens natur
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
ID1004 Laboration 4, November 2012
06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt
Övningsuppgifter kapitel 8
Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans
JAVASCRIPT. Beteende
JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren
Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner
Lektion 4, del 1, kapitel 10 Funktioner i JavaScript Inlärningsmål Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Introduktion
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
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Typkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Kapitel 15: Data/Matrix Editor
Kapitel 15: Data/Matrix Editor 15 Översikt över Data/Matrix Editor... 226 Översikt över list-, data- och matrisvariabler... 227 Starta en Data/Matrix Editor-session... 229 Mata in och visa cellvärden...
Laboration 6 Formulär och stränghantering övningar/uppgifter
Laboration 6 Formulär och stränghantering övningar/uppgifter 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna laboration
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse
729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
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
Kopiering av objekt i Java
1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom
Planering Programmering grundkurs HI1024 HT 2014
Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att
PROGRAMMERINGSTEKNIK TIN212
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:
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
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.
Datorövning 1. int sgd(int m, int n) { int rest; while ( n!= 0 ) { rest = m % n; m = n; n = rest; return m;
Datorövning 1 A) Kör igång MicrosoftVisualC++-miljön. Välj File New Project från huvudmenyn och skapa ett nytt Win32 Console Project med namnet Mittnamn. Skapa en ny katalog, Oop, genom att vid Location
Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.
Föreläsning 11 Arrayer Arrayer Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt int[] tal = new int[3]; Kan ha en array av t.ex: Heltal (int) Tecken (char) Personer (objekt av klassen