Hoofdstuk 9.2 Strings.

Slides:



Advertisements
Verwante presentaties
Het type int Tekenen met Java operatoren
Advertisements

1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
Hoofdstuk 2 Hallo, C# !.
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.
Consoletoepassing Variabelen Klassen
Algoritmiek Object-georiënteerd Programmeren
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
JAVA: een platformonafhankelijke taal
Bewerkingen met Strings
Hoofdstuk 3 Methoden om te tekenen.
Java C++ nVeilig nMachine- onafhankelijk nVeel libraries, ook voor Internet-I/O Snel Native executables Libraries optimaal voor specifiek OS.
Hoofdstuk 11 Strings en arrays. TextArea en String class LetterTeller extends Applet { void init ( ) { invoer = new TextArea (5, 40); uitvoer = new TextField(40);
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
Exceptions Exception: nUitzonderlijke toestand die door een methode wordt opgeworpen nDe situatie moet door de aanroeper van de methode worden opgevangen.
Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Activity Bij het starten van een app:
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Overerving
Gameprogrammeren: Char en String
Letterfrequentie turven
Gameprogrammeren: Variabelen, declaraties en toekenningen
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Arjan Egges & Paul Bergervoet
vandaag èn vrijdag deadline maandag 12 dec.
Publieksvraag // schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string // voorbeeld-aanroep: int n; n = Demo . Freq(’e’,
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Gameprogrammeren: Properties
Tinpro015b-les6 Templates.
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Arjan Egges & Paul Bergervoet
Voorbeeld: Simulatie van bewegende deeltjes
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Willekeurigheid en Herhaling
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Klassen en objecten
Arjan Egges & Paul Bergervoet
Exceptions Exception:
Eerste deeltentamen Nagekeken werk ligt voor in de zaal
Software Development fundamentals
Gameprogrammeren: Arrays
Transcript van de presentatie:

Hoofdstuk 9.2 Strings

Primitieve types int gehele getallen -17, -5, 0, 3, 178 double reëele getallen 3.141, 2.0, -1.5E8 bool waarheidswaarden false, true char losse symbolen 'A', 'B', 'Z', 'a', '4', '#', ':'

string versus char string char klasse primitief type object-verwijzing directe waarde nul, een of meer… precies één symbool "" "A" "hello" 'A' operatoren, methoden properties, indexer operatoren == , + == , + , <= Substring, ToUpper, Split Length s[t]

String-methodes int Length bool Equals (string s) string Concat (string s) string Substring (int start) string Substring (int start, int aantal) string ToUpper ( ) string ToLower ( ) string[] Split ( )

Concat en Substring String s, t, u, v, w; s = "ham"; t = "burger"; hamburger burger burg s = "ham"; t = "burger"; u = s.Concat(t); s + t ; v = u.Substring(3); w = u.Substring(3, 4); 012345678 vanaf aantal hamburger

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

Methode Beginstuk kort lang public static bool Beginstuk (string x, string y) { } return x == y . Substring ( 0, x.Length ) ;

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

Meer string-methodes bool StartsWith (string s) bool EndsWith (string s) int IndexOf (string s) public static bool Onderdeel(string x, string y) { return y.IndexOf(x)>=0 ; }

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

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

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

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

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

char bijzonderheden alfabetisch geordend char c; if ( ’A’<=c && c<=’Z’ ) … converteerbaar naar int int n; n = c + 32; en terug c = (char) n;

Speciale char-waarden twee tekens in de broncode, toch één character! Speciale char-waarden Letterlijk symbool 'A' '&' Speciaal symbool '\n' '\t' Het quote-symbool '\'' '\"' Het backslash-symbool '\\' Elk Unicode-karakter '\x597D' '好'

Hoofdstuk 9.3-4 Arrays

Arrays Array: rij genummerde variabelen declaratie van een array tabel 1 2 3 4 length 5 int [ ] tabel; tabel = new int [5]; creëren van het eigenlijke array-object

Length is een read-only property Gebruik van een array ’t zijn echte variabelen: tabel [2] = 37; tabel 1 2 3 4 Length 5 tabel[4] = tabel [2] + 5; if (tabel.Length<10) ... 37 tabel.Length = 10; 42 Length is een read-only property

Gebruik van een array variabele als index in de array tabel [0] = 42; 1 2 3 4 Length 5 42 for (t=0; t<5; t++) tabel [t] = 42;

Array als parameter static int Grootste ( int [ ] tabel ) { } 1 2 3 4 Length 5 12 95 11 23 15 int resultaat; int t; resultaat =tabel [0]; for (t=0; t<tabel.Length; t++) if (tabel [t] > resultaat) resultaat = tabel [t]; return resultaat;

Syntax van array-type type naam waarde [ ] array , verwijzing naam struct naam sbyte byte float bool waarde short ushort double char int uint decimal long ulong string [ ] array object , verwijzing class naam

Array van getallen int [ ] tabel; tabel = new int [5]; tabel 5 Length int [ ] tabel; 1 2 tabel = new int [5]; 3 4

Array van struct-objecten tabel 5 Length Color [ ] palet; 1 palet = new Color[5]; 2 3 4

Array van class-objecten tabel 5 Length PointF [ ] plaatsen; 1 tabel = new PointF[5]; 2 3 for (int t=0; t<5; t++) 4 plaatsen[t] = new PointF( );

string versus array Klasse Type met speciale syntax Indexer -notatie string s = new string(); char[] a = new char[10]; Indexer -notatie Speciale index-notatie c = s[2]; s[3] = c; c = a[2]; a[3] = c; Speciale quote-notatie s = "hallo"; Property s.Length Property a.Length Methoden s.IndexOf(t); s.Substring(3,2);

Declaratie met intitialisatie const = initialisatie type naam ; initialisatie var , expressie { initialisatie } , int [ ] maand = { 31,28,31,30,31,30,31,31,30,31,30,31 }; string [ ] woorden = { "aap", "noot", "mies" }; Color [ ] palet = { new Color(64,0,0), Color.Yellow };