Difference between revisions of "6236 Programmering I Agenda/C"

From Teknologisk videncenter
Jump to: navigation, search
(Variable)
(Opgave)
Line 119: Line 119:
  
 
</pre>
 
</pre>
===Opgave===
 
Lav et program hvor du kan indtaste Navnet på din bil.
 
 
Derefter indtaster du hvor langt den kører på literen, hvor langt du skal køre og hvad benzin koster pr liter.
 
 
Udfra disse oplysninger beregner programmet hvor mange liter du skal bruge på turen og hvad det vil koste.
 
 
 
==Input==
 
==Input==
 
Hvis vi skal have input fra brugeren sker det med kommandoen System.Console.ReadLine() som du kan se herunder.
 
Hvis vi skal have input fra brugeren sker det med kommandoen System.Console.ReadLine() som du kan se herunder.

Revision as of 10:20, 19 November 2015

6236 Programmering I CSharpGettingStarted

Programmering I Java/C#

Datatekniker Dit første projekt

Intro to C#

C# (C Sharp)

  • Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog
  • Udviklet af Microsoft, ledet af danskeren Anders Hejlsberg
  • C# er baseret på programmeringssprogene C++ og Java
  • C# er Stong typed

.NET

  • Er et software-framework som kan installeres på Microsoft Windows
  • Kan betragtes som et abstraktionslag mellem applikationen og styresystemet (På samme måde som Java Virtual Machine)

ASP

  • Står for Active Server Pages og er et dynamisk server-side script programmeringsmiljø ligesom PHP
  • Udviklet af Microsoft og læner sig op ad Visual Basic/C#

Visual Studio

Visual Studio

  • et integreret udviklingsmiljø fra Microsoft
  • bruges til at udvikle f.eks. CLI- (konsol) eller GUI- (grafisk) applikationer eller hjemmesider
  • kodeeditor med IntelliSense (autofuldførelse af kode)
  • integreret debugger
  • Findes i gratis Express version med begrænset funktionalitet eller som 90 dages trial version. Kan downloades fra msdn.microsoft.com/da-dk/vstudio Det er desktop versionen i skal hente
  • Gratis tilgængelig for studerende via Dream spark

Installation

Hent visual studio Community på msdn.microsoft.com eller den fulde version på dream spark

Opret projekt

6236 Programmering I CSharpGettingStarted1.gif

Vælg type og navn

551,5694px

Hello world

Dit første program er et Hello world program.

Det eneste programmet gør er at skrive "Hello world" i konsolvinduet med kommandoen System.Console.WriteLine().

479,8639px

Indsæt de viste linier og tryk på start. Output vises i konsollen herunder

285,75px

Variable

En variable kan sammenlignes med en skuffe vi kan gemme noget i.

Der findes forskellige typer af variable på samme måde som skuffer kan have forskellig størrelse.

For at vi kan finde vores ting igen giver vi vores variable et navn, svarende til at sætte en mærkat på skuffen.

Til sidst kan vi give variablen en værdi, det svare til at lægge noget indhold i skuffen.

static void Main(string[] args)
{
	//Opret 1 variable af typen Int32 (Heltal) med navnet a
	Int32 a;
        //Giv variablen værdien 2
        a = 2;

	//Opret 1 variable af typen Int32 (Heltal) med navnet b
	Int32 b;
        //Giv variablen værdien 3
        b = 3;

	//Opret 1 variable af typen Int32 (Heltal) med navnet c
	Int32 c;
        //Giv variablen værdien af a + b (5)
        c = a + b;
	
	//Udskriv til sidst værdien c
	System.Console.WriteLine(c);
	System.Console.ReadKey();
}
 

5


En anden variable type er string der kan indeholde tekst og double som kan indeholde kommatal

static void Main(string[] args)
{
	//Opret en variable af typen Int32 (Heltal) med navnet antal
	Int32 antal;
	
	//Opret to variable af typen double (kommatal) med navnet pris og total
	double pris;
	double total;

	//Opret en variable af typen string (tekst) med navnet varenavn 
	string varenavn;

	varenavn = "Appelsiner";
	antal = 5;
	pris = 3.25;
	total = antal * pris;

	//Udskriv varenavn og total
	System.Console.WriteLine(varenavn);
	System.Console.WriteLine(total);
	System.Console.ReadKey();
}
 

5 Appelsiner af 3,25kr/stk. = 16,25kr

Input

Hvis vi skal have input fra brugeren sker det med kommandoen System.Console.ReadLine() som du kan se herunder. Bemærk at det som kommer ud af System.Console.ReadLine altid er en string. Hvis det skal ind i en Int32 eller double skal det først konverteres med kommandoen Convert.ToInt32 eller Convert.ToDouble.


static void Main(string[] args)
{
	//Opret en variable af typen Int32 (Heltal) med navnet antal
	Int32 antal;
	double pris;
	double total;
	string varenavn;

	//Bed brugeren om at indtaste varenavn
	System.Console.Write("Indtast varenavn ");
	varenavn = System.Console.ReadLine();
	
	//Bed brugeren om at indtaste antal
	System.Console.Write("Indtast antal ");
	antal = Convert.ToInt32(System.Console.ReadLine());

	//Bed brugeren om at indtaste pris
	System.Console.Write("Indtast stk. pris ");
	pris = Convert.ToDouble(System.Console.ReadLine());
	
	//Beregn total
	total = antal * pris;

	//Udskriv varenavn og total
	System.Console.WriteLine(antal + " " + varenavn + " af " + pris + "kr/stk. = "+ total + "kr" );
	System.Console.ReadKey();
}
 

Indtast varenavn Appelsiner
Indtast antal 5
Indtast stk. pris 3.25
5 Appelsiner af 325kr/stk. = 1625kr


Next

Resultatet vises i consolvinduet herunder 313,8158px Streng variable Vi vil nu lave en variabel som vi kalder ‘name’. En variabel er en skuffe som programmet kan gemme oplysninger i. Skuffen får navnet ‘name’. I C# skal man også fortælle hvilken type af data som variablen/skuffen kan indeholde. I dette tilfælde er det en String det betyder at den kan indeholde alm. tekst.

Derefter laver vi en ReadLine som beder brugeren indtaste sit navn. Resultatet fra dette gemmer vi i variablen ‘name’.

Til sidst udskriver vi det indtastede navn. Når programmet møder variable navnet ‘name’ indesætter det selv det som ligger i skuffen name.

Klik på start for at køre programmet. 231,75px

Flere Strenge

462,688px I eksemplet her oprettes først variablene name og ageStr, begge af type String.

Derefter læses navn og alder.

Til sidst udskrives det hele. 231,75px

Tal variable

Hvis vi gerne vil regne ud hvor gammel brugeren bliver næste gang er vi nødt til først at lave alder om fra en Streng til et Tal. Bogstaverne ‘13’ er altså ikke det samme som værdien 13, men det kan det blive med Convert.ToInt32(); I programmet herunder opretter vi en variable age af type Int32 (Hel tal) 482,2609px 230,8653px Derefter indtaster vi alder i streng variablen ageStr.

Konvertere strengen til et tal.

Lægger 1 til tallet

og skriver det ud.

370,4854px Tal variable Nu tilføjer vi en variabel mere som vi kalder age. Da age altid er et tal skal den være af typen Int32.

Vi har altså en variabel/skuffe vi kalder name som kan indeholde tekst, og en anden variable/skuffe age som kun kan indeholde tal.

Når vi opretter en variabel skal vi fortælle hvilken type den er (hvad den kan indeholde), og hvilket navn den skal have (hvilken label vi sætter på fronten af skuffen)

Med ReadLine kunne vi gemme det navn brugeren indtaster i variablen name. Nu vil vi også gemme alder i variablen age, men da ReadLine altid giver en String (Tekst) skal den først konverteres til Int32 (tal) inden den lægges i skuffen.

Kør programmet og se hvad der sker.

426,5206px If Then Else Når brugeren har indtastet sin alder kan vi med en if sætning spørge om han er over eller under 18. Hvis han er under skriver vi Du er ikke gammel nok�ellers skriver vi OK Du må gerne være med.

Prøv at starte programmet og se hvad der sker. 401,2026px Do While Loop Med ”do while” kan vi få programmet til at blive ved med at spørge på alder så længe age er mindre en 18.

Try Parse

Hvis du i programmet fra før prøver at indtaste bogstave i alder vil programmet gå ned. Det sker fordi Convert.ToInt32 ikke kan konvertere bogstaver til tal. Hvis vi i stedet anvender Int32.TryParse kan vi spørge på om konverteringen gik godt. Her under fortsættes sålænge Int32.TryParse giver false. 485,0569px

Dagens opgave

Hent bogen C# 1 fra bookboon og læs kapitel 3 og 4 og halvdelen af 5 (if then else). Lav Hello world der tager fødselsår som input og beregner alder. Lav Hello world der tager fødselsdato som input og beregner alder. Søg på nettet efter DateTime.TryParse Lav Hello world der bliver ved at bede om ny dato indtil input er ”lovligt”. Kig i kapitel 5 under while Dit program skal sælges til USA. Ret programmet så det anvender amerikansk datoformat. ”mm-dd-yy”