Letterfrequentie turven

Slides:



Advertisements
Verwante presentaties
Van domeinklasse tot implementatie
Advertisements

PROS2 Les 11 Programmeren en Software Engineering 2.
Hoofdstuk 2 Hallo, C# !.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 8 Objecten en klassen.
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Consoletoepassing Variabelen Klassen
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
Arrays.
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
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;
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,
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 14.1 Algoritmen: Zoeken in een netwerk.
Scope. Scope van variaben/methoden Een variabele is te gebruiken binnen de { en } waarbinnen hij is aangemaakt. Hetzelfde geld voor een methode { int.
Hoofdstuk 10.3 Tekst-editor: MDI-interface Dialogen Files lezen Abstracte klassen.
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Gelijkheid van Strings static bool Gelijk( string s, string t) { } int m = s.Length; int n = t.Length; for (i=0; i
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.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 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.
Opbouw van het Netwerk void Lees (string filenaam ) { while ( (regel=sr.ReadLine()) != null ) { string [] r = regel.Split(" ", StringSplitOptions.RemoveEmpty.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.
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;
Game Object Structuren
Activity Bij het starten van een app:
Objectgeoriënteerd Programmeren (2)
…is eigenlijk overbodig!
Aanroep van een methode voert opdrachten uit in de body daarvan
Lezen en schrijven van tekst
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
Schilderij class MijnAct : Activity { MijnView scherm;
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Char en String
Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Publieksvraag // schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string // voorbeeld-aanroep: int n; n = Demo . Freq(’e’,
Gameprogrammeren: Tiles in Tick Tick
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Gameprogrammeren: Properties
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Arjan Egges & Paul Bergervoet
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Libraries, Platform Games
Gameprogrammeren: Interfaces
Arjan Egges Paul Bergervoet Wouter van Toll
Gameprogrammeren: Tiles en File I/O in Tick Tick
Game: omgaan met tijd (Jewel-Jam)
Gameprogrammeren: Klassen en objecten
Interface In de library In je eigen programma wat is er nodig om een
Object Communication (Jewel Jam)
Exceptions Exception:
Gameprogrammeren: Sprite sheets
Software Development fundamentals
Gameprogrammeren: Arrays
Transcript van de presentatie:

Letterfrequentie turven Hoofdstuk 9.4 Letterfrequentie turven

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

Tekst Analyse TekstAnalyse class TekstAnalyse : Activity EditText LinearLayout DiagramView class DiagramView : View

Tekst Analyse public class TekstAnalyse : Activity { EditText tekst; DiagramView diagram; protected override void OnCreate(Bundle b) { base.OnCreate(b); LinearLayout s = new LinearLayout(this); tekst = new EditText(this); diagram = new DiagramView(this); tekst.AfterTextChanged += veranderd; s.AddView(tekst); s.AddView(diagram); SetContentView(s); } public void veranderd(object o, EventArgs e) { diagram.Invoer = tekst.Text; diagram.Invalidate( ); } }

Tekst Analyse 26 9 5 1 14 6 8 public class DiagramView: View { public string Invoer; protected override void OnDraw(Canvas cv) { base.OnDraw(cv); tellers 9 5 1 14 2 3 4 26 Length 6 8 7 int [ ] tellers; tellers = new int [26]; } }

Tekst Analyse 26 9 5 1 14 6 8 public class DiagramView: View { public string Invoer; protected override void OnDraw(Canvas cv) { base.OnDraw(cv); tellers 9 5 1 14 2 3 4 26 Length 6 8 7 int [ ] tellers; tellers = new int [26]; foreach(char c in Invoer) if (c>='a' && c<='z') tellers[ ]++; c-'a' int w = Width / max; int h = Height/ 26; , y=0; foreach(int a in tellers) { cv.DrawText( a.ToString()...); cv.DrawRect( x, y, x+a*w, y+h, verf ); y = y+h; } } }

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);

Array / List array: oject dat een rij waarden bevat, met speciale notaties List: array “ingepakt” in een klasse, met extra methodes Declaratie Creatie Opvragen Wijzigen Lengte String [ ] a; List<String> a; List a; a = new String[10]; a = new List<String>(); a = new List(); ……a[5]…… …a.Get(5)… ……a[5]…… a[5] = ……; a[5] = ……; a.Set(5,…); …a.Length… …a.Count… Invoegen Achtervoegen a.Insert(5,…); a.Add(…);

Files lezen en schrijven Niet in diktaat Files lezen en schrijven

Zoek een directory string dir1 = System.Environment.GetFolderPath ( System.Environment.SpecialFolder.Personal); string dir2 = Android.OS.Environment. ExternalStorageDirectory.AbsolutePath; string dir3 = Path.Combine (dir2, "Jeroen"); if ( ! Directory.Exists(dir3)) Directory.CreateDirectory(dir3);

Schrijf en lees een file string file1 = Path.Combine(dir3, "test1.txt" ); File.WriteAllText ( file1, "Hallo\nDit is de tweede regel"); string tekst = File.ReadAllText(file1); foreach (string regel in File.ReadLines(file1) ) doeIetsLeuksMet(regel);

Welke files heb ik? string res = ""; foreach (string naam in Directory.EnumerateFiles(dir3) ) { string kort = Path.GetFileName(naam); res += $"{kort}: {File.ReadAllLines(naam).Length}\n"; } tv . Text = res;

Hoofdstuk 10.1-2 ListView

ListView public class KleurenApp : Activity { ListView kleurLijst; ArrayAdapter<string> kleurAdp; string[] kleuren = {"rood", "wit", "blauw"}; protected override void OnCreate(Bundle b) { base.OnCreate(b); kleurLijst = new ListView(this); kleurAdp = new ArrayAdapter<string> (this, SimpleListItemChecked, kleuren); kleurLijst.Adapter = kleurAdp; kleurLijst.ChoiceMode = Multiple; kleurLijst.ItemClick += iklik; SetContentView(kleurLijst); } public void iklik(object o, ItemClickEventArgs e) { string s = kleuren[e.Position]; Toast.MakeText(...s...) . Show( ); } }

ListView

ListView public class KleurenApp : Activity { ListView kleurLijst; ArrayAdapter<string> kleurAdp; string[] kleuren = {"rood", "wit", "blauw"}; public void vvklik(object o, EventArgs e) { string bericht = "mijn kleuren: "; var ps = kleurLijst.CheckItemPositions ; for (int t=0; t<ps.Count; t++) if ( ps.ValueAt(t) ) bericht += kleuren[ ps.KeyAt(t) ] ; Intent i = new Intent(Intent.ActionSend); i.SetType("text/plain"); i.PutExtra(Intent.ExtraText, bericht); StartActivity( i ); } }

ListView public class KleurenApp : Activity { ListView kleurLijst; ArrayAdapter<string> kleurAdp; string[] kleuren = {"rood", "wit", "blauw"}; protected override void OnCreate(Bundle b) { base.OnCreate(b); kleurLijst = new ListView(this); kleurAdp = new ArrayAdapter<string> (this, SimpleListItemChecked, kleuren); kleurLijst.Adapter = kleurAdp; kleurLijst.ChoiceMode = Multiple; kleurLijst.ItemClick += iklik; SetContentView(kleurLijst); } }