Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk www.cs.aau.dk/~boegholm/studiepraktik.

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
Grundlæggende programmering Efterår 2001
Hvordan man skriver koden.
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
GP 10, 7/ Grundlæggende programmering Efterår 2001 Forelæsning 10 onsdag 7/ kl. 9:15 – 12:00.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Intro Forelæsning 6 Linux Install Party i PC-Cafeen i morgen.
Programmering af dynamiske websider pages/tutorials/introducing-aspnet- web-pages-2/intro-to-web-pages- programming.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Intro til C# apps Kodegennemgang af simpel C# app
Delphi og C++ Builder C++ Builder. C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup En objektorienteret videreudvikling.
Program Design – 4 Introduktion til PHP. Dagens lektion Hvad er PHP?  - og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker.
W1b1 PC baseret analyse og simulering. w1b2 Definition Digital Elektronisk beregningsmaskine, der har intern hukommelse til lagring af program og mellem-regninger.
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
1 JavaScript Lektion 6: Repetition i JavaScript Math TIDY Litteratur: JST lektion 10.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
GP 3, 12/ Grundlæggende programmering Efterår 2001 Forelæsning 3 onsdag 12/ kl. 9:15 – 12:00.
Procestræ under afvikling af cp init login shell cp cp src dest.
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Paradigmer i Programmering 1. Program for idag : Funktioner og udtryk i SML : Øvelse : Frokost – 14.00: Deklarative.
Begreber og Redskaber 7. Plan for idag Rekursive underprogrammer Rekursive datastrukturer Rekursion vs iteration Rekursivt: Flette sortering.
Paradigmer i Programmering 1. Plan for kurset 4 x Mads R, 4 x Torben B, 2 x opgave MR: Funktionsprogrammering, SML TB: Logikprogrammering, Prolog Opgave:
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Intro Siden sidst: evaluering på opgaver og virtuel kursus Kursussammensætning: forelæsning – læse – arbejde selvstændigt – newsgroup – øvelsestime – aflevering.
Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner findEn findAlle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed.
Længste plateau En klassisk problemstilling (Gries, 1981) - og her i Java!!! Denne opgave drejer sig om at bestemme længden af det længste plateau i en.
GP4, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 4 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn)
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Indledende Programmering Uge 6 - Efterår 2006
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Programmering I Java/C# Datatekniker Dit første projekt.
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Algoritmeskabeloner findOne, findAll, findNoOf, findSumOf Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder.
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 2 – Mandag
”Avanceret” Programmering
Hvad er det, og hvor bruges det?
Programmering.
ROBOTTERNE KOMMER - OZOBOTTERNE.
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Torsdag
1A – FORÅR 2017.
Software Construction
Præsentationens transcript:

Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk www.cs.aau.dk/~boegholm/studiepraktik

Studiepraktik -- program Program onsdag 10.00 – 10.15 Registrering af fremmøde og gennemgang af dagens program                             10.15 – 11.15 Introduktion til programmering / Opgaver 11.15 – 11.25 Pause 11.25 – 12.30 12.30 – 13.00 Frokost 13.00 – 14.30~ Besøg i grupperum 14.30 – 15.00 www.cs.aau.dk/~boegholm/studiepraktik

Studiepraktik -- program Torsdag 10.00 – 10.15 Registrering af fremmøde og gennemgang af dagens program                             10.15 – 11.15 Besøg den sociale klub, F-Klubben 11.15-11.30 Pause 11.30 – 12.30 Introduktion til programmering / Opgaver 12.30 – 13.00 Frokost 13.00 – 14.00 Om uddannelserne på Cassiopeia (af studievejledningen) 14.00 – 15.00 www.cs.aau.dk/~boegholm/studiepraktik

Studiepraktik -- program Fredag 10.00 – 10.15 Registrering af fremmøde og gennemgang af dagens program                             10.15 – 11.15 Besøg af gamle studerende fra Elsevier 11.15-11.30 Pause 11.30 – 12.30 Introduktion til programmering / Opgaver 12.30 – 13.00 Frokost 13.00 – 14.00 Afslutning og evaluering www.cs.aau.dk/~boegholm/studiepraktik

Mål Målet for studiepraktikken er Se institut for datalogi Høre om uddannelserne Møde nuværende studerende Møde tidligere studerende Besøge studerende i deres grupperum Lære at programmere! Og lidt mere… www.cs.aau.dk/~boegholm/studiepraktik

Hvad skal der ske? Opleve et kursus Programmering er et grundlæggende begreb I vil opleve det på første studieår 2 sprog på første studieår I får en lille bid af et af et kursus på 1. studieår www.cs.aau.dk/~boegholm/studiepraktik

Programmeringskursus Studiepraktik 2016 Thomas Bøgholm www.cs.aau.dk/~boegholm/studiepraktik

Programmer Mekanisk løsning af en opgave Behandling af data Beregninger Programmer minder om opskrifter Skal specificeres i mindste detalje Et program beskriver en proces til at løse en opgave/beregning www.cs.aau.dk/~boegholm/studiepraktik

Hvad er et program? En sekvens af instruktioner der fortæller computeren hvad den skal gøre. Et program skrives i et sprog Mennesker forstår ikke: 1010101001010101000002010101001010… Computere forstår ikke: “læg 1 og 2 sammen og skriv det på skærmen” Tekst oversættes til instruktioner Oversætter Tekst 0101010101 www.cs.aau.dk/~boegholm/studiepraktik

Hvor passer det ind i uddannelsen? Programmering er et værktøj! Der findes mange forskellige værktøjer! (sprog) https://en.wikipedia.org/wiki/List_of_programming_languages Forskellige måder at programmere på Sprogstammer, hellere end sprog Det er lettere at tale om sne, i lande der oplever snevejr I kommer til at designe jeres eget sprog! (4. semester) www.cs.aau.dk/~boegholm/studiepraktik

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Hvilket sprog? www.cs.aau.dk/~boegholm/studiepraktik

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Hvilket sprog? www.cs.aau.dk/~boegholm/studiepraktik

Hvordan skriver vi? Samlet udviklingsværktøj Skriveprogram Oversætter Fejlfindingsværktøjer Overblik Microsoft Visual Studio 2015 www.cs.aau.dk/~boegholm/studiepraktik

Første opgave Hent visual studio installer https://www.visualstudio.com/free-developer-offers/ http://www.monodevelop.com/ Kør installer under forelæsning Vi laver opgaver bagefter www.cs.aau.dk/~boegholm/studiepraktik

Et simpelt program Her starter programmet Funktionskald static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.WriteLine("Tryk en tast for at afslutte..."); Console.ReadKey(); } Her starter programmet Funktionskald Parameter til funktionskald (en tekst) Funktionskald uden parametre www.cs.aau.dk/~boegholm/studiepraktik

Oversigt Hukommelse, udtryk og typer Metoder og operatorer Kontrolstrukturer Datastrukturer Program www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Variabler er hukommelsespladser ‘skuffer’ med navne Variabler har typer string velkomst = "Velkommen til Studiepraktik!"; int antalStuderende = 60; Type Navn på variabel Værdi www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Typer bestemmer hvad der kan komme i en given skuffe string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 60; int (integer / heltal) www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Typer bestemmer hvad der kan komme i en given skuffe string (tekst streng) string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 60; int (integer / heltal) www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Typer bestemmer hvad der kan komme i en given skuffe string (tekst streng) string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 60; Navn er identificerer vores skuffe int (integer / heltal) www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Typer bestemmer hvad der kan komme i en given skuffe string (tekst streng) string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 60; int (integer / heltal) www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Typer bestemmer hvad der kan komme i en given skuffe string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 60; string talStreng = "10"; string talStreng = 80; int antalStuderende = ”firs"; int antalStuderende = ”50"; www.cs.aau.dk/~boegholm/studiepraktik

Hukommelse Typer bestemmer hvad der kan komme i en given skuffe string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 80; string talStreng = "10"; string talStreng = 80; int antalStuderende = ”firs"; int antalStuderende = ”50"; www.cs.aau.dk/~boegholm/studiepraktik

Udtryk Variabelerklæring int tal; tal = 10 + 10; Værditilskrivning Udtryk bliver ‘evalueret’ når programmet kører www.cs.aau.dk/~boegholm/studiepraktik

Udtryk Heltal int tal = 10 + 10; tal = 30; tal = tal * 2; int ekstraStuderende = 10; int antalStuderende = 60 + ekstraStuderende; Strenge string velkomst = "Velkommen til Studiepraktik!"; string udvidetVelkomst = velkomst + " Programming Rocks!!"; www.cs.aau.dk/~boegholm/studiepraktik

Datatyper int og string kender vi allerede char – enkelte tegn bool – sandhedsværdier double - Kommatal char c = 'a'; bool s = true; bool f = false; double d = 10.0; www.cs.aau.dk/~boegholm/studiepraktik

Oversigt Hukommelse, udtryk og typer Metoder og operatorer Kontrolstrukturer Datastrukturer Program www.cs.aau.dk/~boegholm/studiepraktik

Metoder En genbrugelig klump kode Det meste af vores kode vil være i metoder En måde at tilføje operationer på string navn = Console.ReadLine(); Console.WriteLine("Hej " + navn + "!"); Console.WriteLine("Velkommen til studiepraktik"); Metodekald www.cs.aau.dk/~boegholm/studiepraktik

Metoder metodenavn (int, string, etc) Returtype Parametre static void Hilsen(string navn) { Console.WriteLine("Hej med dig, " + navn); } ......... Hilsen("Thomas"); <- Hej med dig, Thomas www.cs.aau.dk/~boegholm/studiepraktik

Metoder Metoder kan bruges som udtryk / værdier metodenavn (int, string, etc) Returtype Parametre static string Hilsen(string navn) { return "Hej med dig, " + navn; } ......... string hilsenStreng = Hilsen("Thomas"); Console.WriteLine(hilsenStreng); <- Hej med dig, Thomas Returværdi (streng) www.cs.aau.dk/~boegholm/studiepraktik

Input/Output Input: Output Console.ReadLine(); Bruges som et udtryk / værdi Eksempel: string navn = Console.ReadLine(); Output Console.WriteLine(”…”); Udskriver den angivne tekst til konsollen Console.WriteLine("Hej med dig " + navn); www.cs.aau.dk/~boegholm/studiepraktik

Numeriske typer Metoder på numeriske typer findes ikke i typerne selv, men i Math klassen. static void numeriskeTyperEksempel() {     int a = 2;     double b = 9.75 + a;     int c = (int)b; //cast, giver 11     double sqrtB = Math.Sqrt(b); //3.42...     double powA = Math.Pow(a, 5); //32     Console.WriteLine(Math.PI); //3.14...             } www.cs.aau.dk/~boegholm/studiepraktik

Aritmetiske operationer Man kan benytte de aritmetiske operationer (*, /, +, -, % (modulo)) på de numeriske typer. Almindelige præcedens-regler (*, / og % over + og -) gælder. Udtryk evalueres fra venstre mod højre Parenteser kan bruges til at ændre den normale evaluering. static void aritmetiskeOperationerEksempel() {     int a, b, c, d, e;     a = 2 + 3; //5     b = a * 6; //30     c = ((2 + 3) * 5) / a; //5     d = c % 3; //2 e = 10 / 2 * 5; //25 } www.cs.aau.dk/~boegholm/studiepraktik

Streng-metoder static void stringMetodeEksempel() {     string  a = "Noget tekst";     string  aUp1 = a.ToUpper();  //NOGET TEKST     string  aUp2 = "Noget tekst".ToUpper(); //NOGET TEKST     string  c = aUp1.Substring(0, 5);  //NOGET string  d = a + " " + c;  //Noget tekst NOGET string.Compare("Ib", "Bo"); //minus, 0, eller positivt tal } www.cs.aau.dk/~boegholm/studiepraktik

Logiske operationer sammenligningsoperatorerne (<, <=, ==, >=, >, !=) logiske operatorer: && (AND) || (OR) !(NOT) static void logiskeOperationerEksempel() {     int two = 2;     bool a = two < 4; //true     bool b = two == 3; //false bool c = !a; //false     bool d = a || b; //true bool e = a && b; //false bool f = a ^ b; //true } www.cs.aau.dk/~boegholm/studiepraktik

Oversigt Hukommelse, udtryk og typer Metoder og operatorer Kontrolstrukturer Datastrukturer Program www.cs.aau.dk/~boegholm/studiepraktik

Kontrolstrukturer Normalt kører kode sekventielt Kontrolstrukturer bruges til at bryde dette mønster To typer kontrolstrukturer if-sætninger Bruges til forgreninger Løkker Bruges til iteration www.cs.aau.dk/~boegholm/studiepraktik

if-sætninger if (betingelse1) { // betinget kode } else // alternativ www.cs.aau.dk/~boegholm/studiepraktik

static void ifEksempel() { int alder = 12; if (alder < 13) {     {         Console.WriteLine("Du er et barn");     } else {         Console.WriteLine("Du er ikke et barn mere! ");     } } www.cs.aau.dk/~boegholm/studiepraktik

static void ifEksempel() { int alder = 12; if (alder < 13) {     {         Console.WriteLine("Du er et barn");     } else if (alder < 20)         Console.WriteLine("Du er teenager");         }     else if (alder >= 20 && alder <= 67)         Console.WriteLine("Du er i den arbejdsduelige alder");     }            } www.cs.aau.dk/~boegholm/studiepraktik

static void ifEksempel() { string input = Console.ReadLine();     int alder;     bool gyldigAlder = Int32.TryParse(input, out alder);     if (!gyldigAlder)     {         Console.WriteLine("Fejl! Du har indtastet en ugyldig alder");     }     else         if (alder < 13)         {             Console.WriteLine("Du er et barn");         }         else if (alder < 20)             Console.WriteLine("Du er teenager");         else if (alder >= 20 && alder <= 67)             Console.WriteLine("Du er i den arbejdsduelige alder");     }            } www.cs.aau.dk/~boegholm/studiepraktik

While løkke Vi kan bruge løkker til at udføre de samme statements et antal gange - bruges ofte når vi ikke på forhånd kender antallet af iterationer En while løkke udfører en kodeblok indtil en given betingelse ikke længere holder. int tal = 1; while (tal < 10) { Console.WriteLine("Tallet er nu: " + tal);     tal = tal + 1; } while (betingelse) { … } NB: Pas på uendelige løkker!!! www.cs.aau.dk/~boegholm/studiepraktik

For-løkker for løkken bruges når vi vil udføre en kodeblok et bestemt antal gange. For løkken: initialiserer en tæller-variabel inden første gennemløb; Tester tæller-variablens værdi inden hvert gennemløb Tæller tæller-variablens værdi op el. ned efter hvert gennemløb for (initialiser tæller ; test tæller ; tæl tæller op/ned ) { … } www.cs.aau.dk/~boegholm/studiepraktik 43

static void forEksempel() { //for-pendanter til while løkker     for (int tal = 0; tal < 10; tal++)     {         Console.WriteLine("Tallet er nu: " + tal);     }     for (int nytTal = 2; nytTal % 7 != 0; nytTal += 2)         Console.WriteLine("7 går ikke op i " + nytTal);     for (string tekst = "jubi"; tekst.Length < 8; tekst = tekst + "i")         Console.WriteLine(tekst); } www.cs.aau.dk/~boegholm/studiepraktik

Oversigt Hukommelse, udtryk og typer Metoder og operatorer Kontrolstrukturer Datastrukturer Program www.cs.aau.dk/~boegholm/studiepraktik

Data strukturer De variable vi har set indtil videre indeholder en enkelt værdi En datastruktur derimod kan indeholde en række værdier. Vi skal kigge på 2 datastrukturer: Array Indeholder et bestemt antal elementer List Indeholder et varierende antal elementer www.cs.aau.dk/~boegholm/studiepraktik

Arrays Indeholder et bestemt antal værdier af en bestemt type (string, char, bool, int, double) Elementer i arrayet tilgås via et index. Indeksering starter ved 0 1 2 ”hej” ”med” ”dig” 1 2 3 4 26 10 2011 12 30 1 2 3 4 ’c’ ’y’ ’k’ ’e’ ’l’ 1 2 true false www.cs.aau.dk/~boegholm/studiepraktik

Eksempel static void arrayEksempel() { string[] tekst;     tekst = new string[3];     tekst[0] = "hej";     tekst[1] = "med";     tekst[2] = "dig";     int[]  jokerTal = new int[7];     jokerTal[0] = 16;     jokerTal[1] = 25;     Console.WriteLine("Dagens første ord er " + tekst[0]);     Console.WriteLine("Dagens sidste ord er " + tekst[2]);            int sidsteJoker = jokerTal[6]; } www.cs.aau.dk/~boegholm/studiepraktik

Arrays og for-løkker går hånd i hånd: static void arrayForEksempel() {     int[] jokerTal = new int[7];     jokerTal[0] = 16;     jokerTal[1] = 25;     for (int i = 0; i < jokerTal.Length; i++)     {         Console.WriteLine(jokerTal[i]);     } } www.cs.aau.dk/~boegholm/studiepraktik

Arrays af arrays - kan fx bruges til matricer static void jaggedArrayEksempel() {     int[][] niTal = new int[3][];     niTal[0] = new int[4];     niTal[1] = new int[2];     niTal[2] = new int[3];     niTal[0][0] = 1;     niTal[0][1] = 2;     niTal[0][2] = 3;     niTal[0][3] = 4;     niTal[1][0] = 5;     niTal[1][1] = 6;     niTal[2][0] = 7;     niTal[2][1] = 8;     niTal[2][2] = 9;     int nr6 = niTal[1][1]; } Arrays af arrays - kan fx bruges til matricer 1 2 3 4 5 6 7 8 9 www.cs.aau.dk/~boegholm/studiepraktik

List<T> datastrukturen Bruges til variabel-størrelse samling af elementer Listens størrelse kan vokse og skrumpe <T> kaldes en type parameter (kan være string, char, bool, int, double) using System.Collections.Generic; //(namespace) www.cs.aau.dk/~boegholm/studiepraktik

static void listEksempel() {     List<string> liste = new List<string>();     liste.Add("hej");      liste.Add("med");     liste.Add("dig"); liste.Remove("asdf");     liste.Remove("med");     liste[0] = "mig";     liste.Insert(1, "og");     liste.RemoveAt(2);     for (int i = 0; i < liste.Count; i++)     {         Console.WriteLine(liste[i]);     } } List<string> stringListe = new List<string>(); List<char> charListe = new List<char>(); List<bool> boolListe = new List<bool>(); www.cs.aau.dk/~boegholm/studiepraktik

Oversigt Hukommelse, udtryk og typer Metoder og operatorer Kontrolstrukturer Datastrukturer Program www.cs.aau.dk/~boegholm/studiepraktik

static void Main(string[] args) { int potens = Potens(2, 4);     class Program     {         static void Main(string[] args)         {             int potens = Potens(2, 4);             HelloWord(); } static int Potens(int tal, int potens) {     int resultat = 1;     for (int i = 1; i <= potens; i++)         resultat = resultat * tal;     return resultat; static void HelloWord()     Console.WriteLine("Hello World"); Metode kald Metode definitioner www.cs.aau.dk/~boegholm/studiepraktik

C# ressourcer http://people.cs.aau.dk/~boegholm/studiepraktik/ I skal bruge et udviklingsværktøj Visual studio community 2015 https://www.visualstudio.com/ MonoDevelop/Xamarin (Windows, Linux og Mac) http://monodevelop.com/ https://xamarin.com/studio Visual Studio Express 2013 for Windows Desktop: http://www.microsoft.com/visualstudio/eng/downloads#d-express-windows-desktop Hvis andet ikke virker… www.cs.aau.dk/~boegholm/studiepraktik