Hoofdstuk 9.3-4 Strings en arrays. Primitieve types nint gehele getallen-17, -5, 0, 3, 178 ndouble reëele getallen3.141, 2.0, -1.5E8 nbool waarheidswaarden.

Slides:



Advertisements
Verwante presentaties
Hoofdstuk 11 Strings en arrays. TextArea en String class LetterTeller extends Applet { void init ( ) { invoer = new TextArea (5, 40); uitvoer = new TextField(40);
Advertisements

Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Veevoeding Blok 3 en 4: Ruwvoerbalans melkveehouderij
Natuurkunde Overal Hoofdstuk 1: Beweging in beeld.
Klaar met het PW? Lees aandachtig het samenvattingenblad hst 7
Financiële situatie Volley
STUUR DIT AAN EEN SLIMME VROUW... EN AAN ALLE MANNEN... DIE ER TEGEN KUNNEN !!! Na 5000 jaar moppen over vrouwen... uiteindelijk moppen over mannen.
Hoofdstuk 6 Warmte.
Inlichtingenbijeenkomst Simulatiecapaciteit ERTMS
Op weg naar echte eenheid
Microsoft® Office SharePoint® Server 2007-training
Hoe zal de wereld eruit zien als er geen wiskunde bestond? Voorbeeld Hoe zal de wereld eruit zien als er geen wiskunde bestond? BIG QUESTION.
Aardrijkskunde Olympiade
Goed doen op zijn best: een inleiding tot effectief altruïsme
Herhaling hoofdstuk 3: Krachten
De Nobelprijs voor de natuurkunde materie in de knoop
Hoofdstuk 9.2 Strings.
5.1 Oefeningen op warmte-capaciteit met uitgewerkte oplossingen
Basistechnologie 1 – Krachten September 2017
Natuurkunde Overal Hoofdstuk 2: Elektriciteit.
Voorbeeld: Simulatie van bewegende deeltjes
Epidemiologie van prostaatkanker
String Matching Algoritmiek.
WELKOM In deze les gaan we:
4. Gezinnen als vragers van goederen
Energie en elektriciteit
Natuurkunde Overal Hoofdstuk 8: Hemelmechanica 8 mei 2018.
Hoofdstuk 4 | Aan het werk! (basis)
Allerlei kwadratische vergelijkingen
Opdracht 18 (12) kaartjes: 6 plaatjes, 6 ongelijkheden, (6 oplossingen) zoek de juiste vijf setjes bij elkaar pas op: je houdt precies 1 plaatje, 1 ongelijkheid.
Hoofdstuk 5: Natuurkunde Overal (havo 4) 13 mei 2018
2 VMBO-KGT deel Pythagoras gebruiken Hulplijnen 1 1.
Een palet aan mogelijkheden om innovatiegericht in te kopen
De Antonov 225 Het is russisch....rustiek in zijn geheel, maar kwetsbaar.
Zandloper van Gods geschiedenis
Subsidies 2019 Subsidies Helpdesk
Kerke en pastore is spesifiek geteiken gedurende die konflik.
App van de maand – bekkenbodem
Samen werken aan de toekomst
Inclusie bij de eigen instelling: hoe pak je het aan?
Regiomiddag Regionaal Consortium Geboortezorg Brabant  ’Implementatie van de Zorgstandaard Integrale Geboortezorg in de regio’   Vrijdag 22 maart 2019/
Heer, doorbreek de muur! (Biddag 2019)
Gasunie is een van de grootste gasinfrastructuurbedrijven in Europa
Apotheekassistentenopleiding
Buurtplatform GrootHandelsMarkt i.o.
Hoofdstuk 4 Een toekomstbestendige samenleving
Prokal bedrijfsbezoek
Kleuterparticipatie Vluchtelingen en onderwijs Kathy Jacobs
‘ONDERZOEKT DE SCHRIFTEN’
Extra uitleg basisstof 2
MyBEnefits zo’n 2 miljoen burgers hebben minstens één sociaal statuut bv. laag inkomen / leefloon handicap, fysieke of mentale beperking kind met specifieke.
‘ONDERZOEKT DE SCHRIFTEN’
Shared Space Akkrum Dinsdag, 21 mei 2019.
De nieuwe Nederlandse Basketball school
Talentontwikkeling van professionals
'n Blik vanuit die kerkbank 4 kontrasterende Rentmeesterskap-sienings
Wout van der Kruijs MTD3A4
Zwitserleven PensioenAvond 2017
“WAT HET HULLE IN JOU HUIS GESIEN?”
Presentatie 040 energie Woensdag 24 oktober 2018.
\.
Bedankt hekken gevels coaterij Versteeg Coaterij & Logistiek
Ga mee de wijde wereld in, kom kijken, kom kijken,
Een milieuproject op school voorbereiden
STELLINGEN OVER sociale aanpak 30 KM-wegen
Getal invullen in formule. En terug? Formule-tabel-grafiek.
Titel hoofdartikel tijdschrift
Basisvorm hyperbool
Reflecteren.
Transcript van de presentatie:

Hoofdstuk Strings en arrays

Primitieve types nint gehele getallen-17, -5, 0, 3, 178 ndouble reëele getallen3.141, 2.0, -1.5E8 nbool waarheidswaarden false, true nchar losse symbolen’A’, ’B’, ’Z’, ’a’, ’4’, ’#’, ’:’

string versus char nstringchar nklasseprimitief type nobject-verwijzingdirecte waarde nnul, een of meer…precies één symbool n"" "A" "hello" ’A’ noperatoren, methoden properties, indexeroperatoren u==, +==, +, <= uSubstring, ToUpper uLength us[i]

String-methodes nint Length nboolEquals(string s) nstringConcat(string s) nstringSubstring(int start) nstringSubstring(int start, int eind) nstringToUpper( ) nstringToLower( )

concat en substring nString s, t, u, v, w; ns = “ham”; nt = “burger”; nu = s.Concat(t); nv = u.Substring(3); nw = u.Substring(3, 7); s t u v w hamburger hamburger burger burg hamburger s + t ; “van en met” “tot en zonder”

Publieksvraag nSchrijf een methode Beginstuk met twee string-parameters x en y die bepaalt of x het beginstuk van y is nSchrijf een methode Onderdeel met twee string-parameters x en y die bepaalt of x ergens als substring van y voorkomt

Methode Beginstuk (string x, string y)boolpublic static kortlang {}{} y. Substring( 0, x.Length ) x == return ; Beginstuk

Methode Onderdeel (string x, string y)boolpublic static {}{} Onderdeel y. Substring(t) Beginstuk(x, ) if ( ) return true; for (t=0; t<y.Length; t++) return false; int t;

Meer string-methodes nboolStartsWith(string s) nboolEndsWith(string s) nintindexOf(string s) public static bool Onderdeel(string x, string y) { return y.IndexOf(x)>=0 ; }

string versus array nKlassen Type met speciale syntax nSpeciale index-notatie string s = new string();char[] a = new char[10]; c = a[2];a[3] = c; nSpeciale quote-notatie s = "hallo"; nProperty a.Length nProperty s.Length nMethoden s.Substring(3,5); s.IndexOf(t); nIndexer -notatie c = s[2];s[3] = c;

Publieksvraag n//schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string n//voorbeeld-aanroep: int n; n = Demo. Freq(’e’, "some text" ); n// hint: gebruik een for opdracht

Tel symbool-frequentie public static int Freq(char x, string s) { s[t]==x for (int t=0; t<s.Length; t++) if ( ) aantal++; int aantal; aantal = 0; return aantal; }

IBM/DOS Geschiedenis van char n1970s:6 bits = 64 symbols 26 letters, 10 digits, 28 leestekens n1980s: 7 bits = 128 symbols +26 lowercase, +5 leestekens, 33 control n1990s: 8 bits = 256 symbols +letters met accenten n2000s: 16 bits = symbols +Grieks, Cyrillisch, Japans, Devangari,... ASCII ANSI/ISO Unicode

Character coding code 0 code 127 code 48 code 32 code 65 code 97

char bijzonderheden nalfabetisch geordend char c; if ( ’A’<=c && c<=’Z’ ) … nconverteerbaar naar int int n; n = c + 32; nen terug c = (char) n;

Conversies nConversie naar “grotere” waarde kan altijd double d; int n; d = n; int n; char c; n = c; Control x; Button b; x = b; nConversie naar “kleinere” waarde is gevaarlijk n = (int) d;c = (char) n;b = (Button) x;

twee tekens in de broncode, toch één character! Speciale char-waarden nLetterlijk symbool nSpeciaal symbool nHet quote-symbool nHet backslash-symbool ’A’ ’\n’ ’\’’ ’\\’ ’&’ ’\t’ ’\”’

LetterTeller TextBox invoer Label uitvoer StaafDiagram diagram class LetterTeller : Form class StaafDiagram : UserControl class TurfTab

Letterteller hoofdklasse class LetterTeller : Form { } TextBox invoer; Label uitvoer; StaafDiag diagram; LetterTeller() { invoer = new TextBox(); invoer.MultiLine = true; uitvoer = new Label(); diagram = new StaafDiag(); } invoer. TextChanged += this.bereken; void Bereken(object o, EventArgs ea) { } TurfTab tabel = new TurfTab(); invoer.Text tabel.Turf ( ); tabel.ToString() uitvoer.Text = ; tabel.Waardesdiagram.Waardes =;

De klasse TurfTab public class TurfTab { private int [ ] tellers; private int totaal; public TurfTab ( ){... } public void Turf (string s){... } override public string ToString ( ) {... } private void turf (char c){... } } klasse-ontwerp: wat is... & wat kan... & hoe? public int Totaal {... } public int Waardes{... }

De klasse TurfTab public class TurfTab { private int [ ] tellers; private int totaal; public TurfTab ( ) { } tellers = new int [26]; } public void Turf (string s) { } this.turf ( s[t] ); for (t=0; t<s.Length; t++) int t;

public class TurfTab { private int [ ] tellers; private int totaal; De klasse TurfTab private void turf (char c) { } tellers [ ] ++; totaal++; } if (c>='A' && c<='Z') { } c - 'A' if (c>='a' && c<='z') { tellers [ c - 'a' ] ++; totaal++; }

public class TurfTab { private int [ ] tellers; private int totaal; t + ":" + tellers[t] + "keer\n" ; De klasse TurfTab override public string ToString( ) { } } string result; return result; result = ""; result += for (t=0; t<26; t++) int t; result += "totaal:" + totaal; ( + 'A')(char)

public class TurfTab { private int [ ] tellers; private int totaal; De klasse TurfTab } public int Totaal { } een eigen property! get { } set { } return totaal; totaal = value; "mini- methodes"

public class TurfTab { private int [ ] tellers; private int totaal; De klasse TurfTab } public int Totaal { } een eigen property! get { } set { } return totaal; totaal = value; "mini- methodes" geen set-minimethode: read-only property

public class TurfTab { private int [ ] tellers; private int totaal; De klasse TurfTab } public float Gemiddelde { } get { } return (float)totaal / tellers.Length; get mag ook nog rekenwerk doen public int[] Waardes { } get { } return tellers.Clone(); geef een kopie van de private array

alleen set-minimethode: write-only property public class StaafDiag : UserControl { De klasse StaafDiag } public StaafDiag() { this.Paint += this.teken; } private void teken(object o, PEA pea) { } //...FillRectangle...waardes... private int[] waardes; public int[] Waardes { } set { } this.waardes = value; this.Invalidate(); wie de property verandert, forceert een Paint

public class StaafDiag : UserControl { De klasse StaafDiag } private void teken(object o, PEA pea) { private int[] waardes; } pea.Graphics.FillRectangle( for (int t=0; t<waardes.Length; t++) Brushes.Blue, 0, t * balkH, balkU * this.waardes[t], balkH-1 ); float balkH = this.Height / waardes.Length; float balkU = this.Width / max; int max= Bieb.Grootste(max); if (max<10) max = 10;

naamtype void () blok parameters methode member

naamtype void operator op () blok parameters methode member

naamtype void operator op () blok parameters naam()parameters methode constructor member

naamtype base void operator op () blok parameters naam()parameters ()expressie, this : methode constructor member

naamtype base void operator op () blok parameters naam()parameters ()expressie, this : methode constructor naamtype, =initialisatieconst ; veld member

naamtype base void operator op () blok parameters naam()parameters ()expressie, this : methode constructor naamtype, =initialisatieconst ; veld naamtype{}blok set get member property

naamtype base void operator op () blok parameters naam()parameters ()expressie, this : methode constructor naamtype, =initialisatieconst ; veld naamtype{}blok set get typeparameters[]this indexer member property