Winstrand Development

Relevanta dokument
Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Metoder (funktioner) Murach s: kap Winstrand Development

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

Objektorienterad programmering Föreläsning 4

SMD 134 Objektorienterad programmering

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

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

Objektorienterad Programmering (TDDC77)

TDDC77 Objektorienterad Programmering

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Övningsuppgifter till föreläsning 2 Variabler och uttryck

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

Konvertering från sträng. Winstrand Development

TDIU01 - Programmering i C++, grundkurs

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Övning2. Variabler. Data typer

Föreläsning 2: Avlusning och antilustekniker

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

Frekvenstabell över tärningskast med C#

Användarhandledning Version 1.2

OOP Objekt-orienterad programmering

Objektorienterad Programmering (TDDC77)

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

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

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

Classes och Interfaces, Objects och References, Initialization

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

Programmeringsteknik med C och Matlab

Extramaterial till Matematik Y

F4. programmeringsteknik och Matlab

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

Programmering A. Johan Eliasson

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

DD1314 Programmeringsteknik

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

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Tom Smedsaas,

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Variabler, värden och typer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Repetition C-programmering

Parameteröverföring. Exempel. Exempel. Metodkropp

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

Enkla datatyper minne

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

Laboration 1. Utgåva 1 Gäller från

Introduktion C-programmering

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

PROMETHEUS. Ett typat, objektorienterat programmeringsspråk av Tim Andersson.

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

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

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.

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

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

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Variabler, värden och typer

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Frekvenstabell över tärningskast med C#

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

+LVWRULHQ. .XUVLQQHKnOO 2EMHNWRULHQWHUDGSURJUDPXWYHFNOLQJ ª 2EMHNWRULHQWHUDGDQDO\V ª 2EMHNWRULHQWHUDGGHVLJQ ª 2EMHNWRULHQWHUDGSURJUDPPHULQJ

Exceptions (undantag) Murach s: kap 7

Visual Basic, en snabbgenomgång

Programmering B med Visual C

NetBeans 7. Avsikt. Projektfönster

Laboration 1 Introduktion till Visual Basic 6.0

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

Objektorienterad Programmering (OOP) Murach s: kap 12-16

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

ASP.NET Thomas Mejtoft

Anteckningar 1: Grundläggande saker

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning

Lathund. Pacific C för MS-DOS

Språket Python - Del 1 Grundkurs i programmering med Python

TDIU01 - Programmering i C++, grundkurs

Lektion 1 Introduktion till DrJava och Java

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

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

En kort text om programmering i C.

Programmeringsteknik I

Föreläsning 2. Föreläsningen kommer ta upp valda delar av detta

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit

Föreläsningsmaterial (Syntax och variabler)

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret L0 - Grunder i C++

Transkript:

C# 2013-01-15 1 Winstrand Development

C# med ASP.NET Innehåll Sidhänvisningar ser ut såhär Och hänvisar till Murach 2010 s. 23 Winstrand Development för EC Utbildning 2013-01-15 2

.NET Framework 3 Winstrand Development

.NET Framework.NET Framework.NET är ett framework, ramverk, skapat av Micosoft. Ett ramverk kan sammanfattas som en uppsättning med komponenter som kan återanvändas på liknande sätt fast tillhöra olika domäner, såsom på webben eller skrivbordet. Winstrand Development för EC Utbildning 2013-01-15 4

.NET Framework.NET Languages Visual C# Visual Basic Other languages.net Framework.NET Class Library ADO.NET ASP.NET Windows Forms Other classes Intermediate Language Common Language Runtime Memory Management Common Type System Operating System and Hardware Windows XP Windows Server 2008 Other OS Winstrand Development för EC Utbildning 2013-01-15 5

.NET Framework En.NET-applikations skapelse En.NET-applikation skrivs i ett.net-språk såsom C# eller Visual Basic. Till skillnad från att skriva ett program i t.ex. C/C++ där koden kompileras till maskinkod direkt kompileras istället.net-koden till Intermediate Language (IL). IL är ett språk som bara.netframework förstår. När det sedan är dags att köra applikationen så görs IL-koden om till fungerande maskinkod för den specificerade arkitekturen. Winstrand Development för EC Utbildning 2013-01-15 6

.NET Framework C# Source code Visual Studio VB Source code Other.NET language C# Compiler VB Compiler Compiler Är del av ett assembly som är en fil i formatet.exe eller.dll Intermediate Language (IL).NET Framework Common Language Runtime Just-in-Time (JIT) Compiler Machine Code Winstrand Development för EC Utbildning 2013-01-15 7

Programmeringsspråket C# 8 Winstrand Development

Språket C# Språket C# C# har en syntax som bygger på språken C och C++. Det kan ses som ett syskonspråk till Java. Kod indelas i block med hjälp av måsvingar { }. En instruktion avslutas med semikolon;. Görs inte detta kommer du att få ett felmeddelande. Hello World Winstrand Development för EC Utbildning 2013-01-15 9

Språket C# Riktlinjer för att skriva kod Att skriva bra kod handlar inte om att kunna göra så kluriga lösningar som möjligt, utan att skriva kod som andra kan förstå. Viktigt att tänka på är: Indentering jämför bilderna nedan. Det är samma program vilken är lättast att förstå? Bra namn på variabler, klasser metoder osv. Namnet bör reflektera dess funktionalitet. VS Winstrand Development för EC Utbildning 2013-01-15 10

Språket C# Kommentarer Är text i koden som ignoreras av kompilatorn. I C# finns det tre olika sorters kommentarer Enradig med // XML-dokumentation /// Flerradig och inline med /* */ Winstrand Development för EC Utbildning 2013-01-15 11

Språket C# Kommentarer En kommentar ska beskriva varför man gör någonting, inte hur. Hur någonting utförs kan man läsa sig till i koden. XML-dokumentation är mycket användbart. Använd alltid när du ska dokumentera klasser och metoder. Winstrand Development för EC Utbildning 2013-01-15 12

Visual Studio 2010 2013-01-15 13 Winstrand Development

Visual Studio 2010 Visual Studio 2010 Vi kommer att jobba med Microsoft Visual Studio 2010 för att utveckla våra C#- och ASP.NET-applikationer. Visual Studio är ett IDE (Integrated Developer Environement) där vi kan skriva kod, kompilera, debugga, publicera webbsidor mm. Vanligtvis har man flera fönster öppna för att få en bra överblick. Winstrand Development för EC Utbildning 2013-01-15 14

Visual Studio 2010 Winstrand Development för EC Utbildning 2013-01-15 15

Visual Studio 2010 Winstrand Development för EC Utbildning 2013-01-15 16

Debugging med Visual Studio 2010 2013-01-15 17 Winstrand Development

Debugging med Visual Studio 2010 Debugging Applikationer kan köras i lägena debug eller release. Vi kommer mestadels jobba i debug-läge. Debug används när applikationen utvecklas då buggar ska hittas och elimineras Extra data och info sparas för att lätt kunna stoppa exekveringen när applikationen körs Release används för att optimera applikationen för en offentlig version till slutanvändaren Extra data från Debug-läget har tagits bort Winstrand Development för EC Utbildning 2013-01-15 18

Debugging med Visual Studio 2010 Ikon Kommando Kortkommando Beskrivning Start Debugging F5 Start Without Debugging Break All Ctrl + F5 Starta eller fortsätt debugexekveringen av applikationen Starta applikationen utan att ha debuggern inkopplad Ctrl + Alt + Break Pausar exekveringen Stop debugging Shift + F5 Stoppar debuggern och avslutar applikationen Restart Ctrl + Shift + F5 Startar om applikationen och debuggern Step Into F11 Kör en instruktion åt gången Step Over F10 Kör en instruktion åt gången men gå ej in i funktionsanrop Breakpoint F9 Lägger till en manuell brytpunkt i applikationen. Winstrand Development för EC Utbildning 2013-01-15 19

Debugging med Visual Studio 2010 Vanliga fel Fel vid Compile time Upptäcks då man skriver koden Felstavningar Använder variabler som ej tilldelats ett värde Fel vid Runtime Upptäcks först när programmet körs Konvertering mellan olika typer Hämtar fel tabell från en databas Varningar Bör behandlas som fel Breakpoints Exekveringen stannar där du lagt till en breakpoint Användbart vid längre körningar på kritiska ställen Winstrand Development för EC Utbildning 2013-01-15 20

Refactoring med Visual Studio 2010 Refactoring Betyder att man gör om koden, vanligast är att byta namn på variabler och klasser. Winstrand Development för EC Utbildning 2013-01-15 21

Console-applikationer 2013-01-15 22 Winstrand Development

Console-applikationer Console-applikationer Innan vi kommer skapa ASP.NET-applikationer för webben kommer vi att lära känna språket C# genom att skriva Console-applikationer. I Consolen läser man in och skriver ut text från via klassen Console. Dess viktigaste metoder är Console.Writeline( Min text ) skriver ut texten inuti anropet på en rad och lägger till radbryte Console.Write( Min text ) skrivs ut utan att lägga till radbryte Console.ReadLine() läser in de tecken som användaren skrivit, fram till enter Console.Clear() Tömmer consolefönstret. Winstrand Development för EC Utbildning 2013-01-15 23

Console-applikationer Att skapa ett nytt projekt Skapa projektet i din arbetsmapp Winstrand Development för EC Utbildning 2013-01-15 24

Console-applikationer Console Exempel Winstrand Development för EC Utbildning 2013-01-15 25

Variabler och datatyper 2013-01-15 26 Winstrand Development

Variabler och datatyper Variabler En applikation arbetar med data som sparas i variabler camelcase ska användas för variabelnamn Exempel: myvariable, counttotal, nameofmydog Ge variabeln ett beskrivande namn Namnet bör reflektera vad värdet representerar, såsom sum, count, personname int a, b, c; är svårare att förstå än int firstvalue, secondvalue, result; En variabel deklareras enligt följande: Datatyp variabel = data; Datatyp data variabel Winstrand Development för EC Utbildning 2013-01-15 27

Variabler och datatyper Vanliga datatyper C#-typ.NET-typ Beskrivning byte Byte Ett 8-bitars heltal (integer) short Int16 Ett 16-bitars heltal (integer) int Int32 Ett 32-bitars heltal (integer) long Int64 Ett 64-bitars heltal (integer) float Single Ett 32-bitars flyttal (single-precision floating-point) double Double Ett 64-bitars flyttal (double-precision floating-point) decimal Decimal Ett 128-bitars flyttal bool Boolean Ett booleskt värde, kan enbart vara true eller false char Char En bokstav (character) i unicode-format string String En textsträng innheållande variabelt antal chars object Object Basklassen för alla.net-typer. Winstrand Development för EC Utbildning 2013-01-15 28

Variabler och datatyper Unsigned Heltalstyperna (int, long etc.) kan representeras som unsigned, dvs. osignerad. Typerna heter ushort, uint och ulong byte och char är alltid unsigned Vanliga tal kan vara både positiva och negativa (+ och -). Ett unsigned-värde däremot kan bara representera positiva värden. I gengäld kan ett unsigned-värde vara dubbelt så stort. Exempelvis är en vanlig int -2,147,483,648 till +2,147,483,647, medan en uint är från 0 till 4,294,967,295 Winstrand Development för EC Utbildning 2013-01-15 29

Variabler och datatyper Datatypssuffix Används för att definiera värdets datatyp och finns för vissa inbyggda datatyper (se tabell nedan). Om inte datatypen definieras kan detta leda till kompileringsfel. Detta fel inträffar i första raden nedan: decimal goldenratio = 1.6180339887; decimal goldenratio1 = 1.6180339887M; Suffix Datatyp Exempel U uint 496U L long 9814072356L F float 2.236068F D double 1.732050807569D M decimal 1.41421356237309504880M Winstrand Development för EC Utbildning 2013-01-15 30

Variabler och datatyper Aritmetiska operatorer Operator Namn Exempel Rangordning 1 ++ Increment. Ökar värdet med 1 x++; //x = x + 1 -- Decrement. Minskar värdet med 1 x--; //x = x 1 Rangordning 2 - Minustecken x = x + (-x); //x = 0 + Plustecken x = +1; //x = 1 Rangordning 3 * Multiplikation x = 15 * 3; //x = 45 / Division x = 15 / 3; //x = 5 % Modulo (rest av division) x = 4 % 3; //x = 1 Rangordning 4 + Addition x = 2 + 3; //x = 5 - Subtraktion x = 10 7; //x = 3 Winstrand Development för EC Utbildning 2013-01-15 31

Variabler och datatyper Aritmetiska operatorer Operatorerna används alltså när man utför aritmetik, såsom addition och subtraktion. Beräkningar utförs i den inbördes rangordningen som visades på föregående slide. Parenteser går före den inbördes rangordningen. int result; // 1. Beräknar 6 * 7 = 42 // 2. Beräknar 5 + 42 = 47 result = 5 + 6 * 7; // result = 47 // 1. Beräknar 5 + 6 = 11 // 2. Beräknar 11 * 7 = 77 result = (5 + 6) * 7; // result = 77 Winstrand Development för EC Utbildning 2013-01-15 32

Variabler och datatyper Räkneexempel Heltalsaritmetik Flyttalsaritmetik Winstrand Development för EC Utbildning 2013-01-15 33

Variabler och datatyper Tilldelningsoperatorer Operator Namn Beskrivning = Tilldelning x = y += Addition x = x + y = Subtraktion x = x y *= Multiplikation x = x * y /= Division x = x / y %= Modulo x = x % y Winstrand Development för EC Utbildning 2013-01-15 34

Variabler och datatyper.net-klassen Math I.NET finns en klass skapad enbart för att göra matematiska beräkningar: Math. Denna klass består enbart av statiska metoder och properties. Exempel på användning: double myvalue; myvalue = Math.Abs(-15.4); //myvalue = 15.4 myvalue = Math.Sqrt(25); //myvalue = 5 myvalue = Math.Pow(3, 4); //myvalue = 81 myvalue = Math.E; //myvalue = 2.718281... myvalue = Math.Cos(Math.PI);//myValue = -1 Winstrand Development för EC Utbildning 2013-01-15 35