Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afSøren Torp Redigeret for ca. et år siden
1
Studiepraktik Thomas Bøgholm Mikkel Hansen Jacob Elefsen
2
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
3
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 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
4
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 Pause 11.30 – 12.30 Introduktion til programmering / Opgaver 12.30 – 13.00 Frokost 13.00 – 14.00 Afslutning og evaluering
5
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…
6
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
7
Programmeringskursus Studiepraktik 2016
Thomas Bøgholm
8
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
9
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: … Computere forstår ikke: “læg 1 og 2 sammen og skriv det på skærmen” Tekst oversættes til instruktioner Oversætter Tekst
10
Hvor passer det ind i uddannelsen?
Programmering er et værktøj! Der findes mange forskellige værktøjer! (sprog) 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)
11
Hvilket sprog?
12
Hvilket sprog?
13
Hvordan skriver vi? Samlet udviklingsværktøj
Skriveprogram Oversætter Fejlfindingsværktøjer Overblik Microsoft Visual Studio 2015
14
Første opgave Hent visual studio installer
Kør installer under forelæsning Vi laver opgaver bagefter
15
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
16
Oversigt Hukommelse, udtryk og typer Metoder og operatorer
Kontrolstrukturer Datastrukturer Program
17
Hukommelse Variabler er hukommelsespladser ‘skuffer’ med navne
Variabler har typer string velkomst = "Velkommen til Studiepraktik!"; int antalStuderende = 60; Type Navn på variabel Værdi
18
Hukommelse Typer bestemmer hvad der kan komme i en given skuffe
string velkomst = "Velkommen til Studiepraktik!”; int antalStuderende = 60; int (integer / heltal)
19
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)
20
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)
21
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)
22
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";
23
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";
24
Udtryk Variabelerklæring int tal; tal = 10 + 10; Værditilskrivning
Udtryk bliver ‘evalueret’ når programmet kører
25
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!!";
26
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;
27
Oversigt Hukommelse, udtryk og typer Metoder og operatorer
Kontrolstrukturer Datastrukturer Program
28
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
29
Metoder metodenavn (int, string, etc) Returtype Parametre
static void Hilsen(string navn) { Console.WriteLine("Hej med dig, " + navn); } Hilsen("Thomas"); <- Hej med dig, Thomas
30
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)
31
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);
32
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); // double powA = Math.Pow(a, 5); //32 Console.WriteLine(Math.PI); // }
33
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 }
34
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 }
35
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 }
36
Oversigt Hukommelse, udtryk og typer Metoder og operatorer
Kontrolstrukturer Datastrukturer Program
37
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
38
if-sætninger if (betingelse1) { // betinget kode } else // alternativ
39
static void ifEksempel() { int alder = 12; if (alder < 13) {
{ Console.WriteLine("Du er et barn"); } else { Console.WriteLine("Du er ikke et barn mere! "); } }
40
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"); } }
41
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"); } }
42
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!!!
43
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 ) { … } 43
44
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); }
45
Oversigt Hukommelse, udtryk og typer Metoder og operatorer
Kontrolstrukturer Datastrukturer Program
46
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
47
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
48
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]; }
49
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]); } }
50
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
51
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)
52
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>();
53
Oversigt Hukommelse, udtryk og typer Metoder og operatorer
Kontrolstrukturer Datastrukturer Program
54
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
55
C# ressourcer http://people.cs.aau.dk/~boegholm/studiepraktik/
I skal bruge et udviklingsværktøj Visual studio community 2015 MonoDevelop/Xamarin (Windows, Linux og Mac) Visual Studio Express 2013 for Windows Desktop: Hvis andet ikke virker…
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.