Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept. 2006 L.M. Bosveld-de Smet.

Slides:



Advertisements
Verwante presentaties
Zelf objecten maken in VBA Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Advertisements

SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.
Hoofdstuk 8: Recursie.
Van domeinklasse tot implementatie
MagentaPurpleTeal PinkOrangeBlue LimeBrown RedGreen Introductie C# /.NET
Het ontwerpen van een klasse
Het type int Tekenen met Java operatoren
OOS Object geOrienteerd Software-ontwerp - 4 Codeerperikelen Singleton Specificeren Scheiding GUI en Domein Facade.
Klassen en objecten.
AAHA (voor intern gebruik)
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Hoofdstuk 5: Bestanden.
Hoofdstuk 6: Controle structuren
Hoofdstuk 4: Klassen definiëren
Informatica Universiteit AntwerpenScripting 5.1 Informatica 1rste BAC Biologie Hoofdstuk 5 Scripting.
Hoofdstuk 2 Hallo, C# !.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
Frank Stalpers en Ad Baars
Inleidend probleem Data structuur (hiërarchie van classes)
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
Opgave 1a: afronden int n=5; double a, b, c, d; a = n * 1.5; b = n * 3 / 2; c = n / 2 * 3; d = 3 / 2 * n; a b c d
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Hoorcollege 8 Game object structuren. Arrays in games Grid-gebaseerd speelveld (zoals Tetris) Lijst van spelers Lijst van inventory items Lijst van alle.
Eerste deeltoets Uitwerking. Resultaten Gemiddeld: 6,01 Tips voor de volgende keer: – Werk in klad uit, schrijf duidelijk – Oefenen met loops en tellertjes.
Hoofdstuk 8 Objecten en klassen.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
JAVA -- H81 Exception: ongewone of foutieve situatie->prog. mislukt kan onderschept en afgehandeld worden. = een object van de klasse Throwable, gegenereerd.
Checked exceptions: FileNotFoundException, IOException, …
CONTROLESTRUCTUREN (DEEL 1)
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
Algoritmiek Object-georiënteerd Programmeren
Algoritmiek Java GUIs, AWT en Swing API Overzicht te bestuderen stof, voorbeeldtentamen Hoorcollege 15 - Ma. 11 dec L.M. Bosveld-de Smet.
Algoritmiek Dataweergave en bewerking Hoorcollege 2 - Ma. 11 sept L.M. Bosveld-de Smet.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
1 Hoofdstuk 11: Strings en karakters Inleiding In dit hoofdstuk bespreken we de mogelijkheden van de klassen : String StringBuffer Character StringTokenizer.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Hoofdstuk 9 Objecten en klassen.
Internetapplicaties - IV Collecties 1 Internetapplicaties Deel 4: Java hulpklassen: Collecties.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 5 Herhaling, game object interactie. Ball class class Ball { Texture2D colorRed, colorGreen, colorBlue; Texture2D currentColor; Vector2 position,
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Algoritmiek Class Hierarchies, Inheritance. Hoorcollege 12 - Ma. 20 nov L.M. Bosveld-de Smet.
Inleiding tot programmeren
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Datacommunicatie en netwerken
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.
tircms02-p les 1 Operating Systems practicum
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
Programma zonder window commandline interface. Commandline programma public static void main (String [ ] params) { System. out. println (“Hoi allemaal!”);
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
Informatie beoordelen If else Switch En Wiskunde.
Objectgeoriënteerd Programmeren (2)
Gameprogrammeren: Keuzeopdrachten
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Expressies
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Tinpro015b-les4 Klassen.
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Gameprogrammeren: Arrays
Transcript van de presentatie:

Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept L.M. Bosveld-de Smet

Te behandelen onderwerpen Strings String data en operatoren Strings in Java Elementaire Controle Structuren Logische operatoren Boolse expressies If-statements Floating-point Notatie

Wat is een String?

Wat is een String in programmeercontext? String literals “John”(‘John’) “Hi there!” “This is John’s apple.” String data type Lijst tekens van variabele lengte String operatoren Combineren of manipuleren Strings Concatenatie, replicatie

Strings in Java String klasse aanwezig in de Java API behoort tot package java.lang java.lang wordt automatisch geïmporteerd String objecten String literals (bijv. “Java rules!”) String variables String str1 = “Java Rules!”, str2; Let op: geen gebruik van new en constructor

Visualisatie String objecten JavaRules!

Constructie van String objecten String str1 = “Java Rules!” ; str1 |J|a|v|a| |R|u|l|e|s|!| String object

String methoden Hoe lang is de string? int l = str1.length(); Welk teken staat op positie 0? char ch = str1.charAt(0); Waar in de string start de substring “Rules” ? int i = str1.indexOf (“Rules”);

String concatenatie Plak str2 achter str1 String strNew = str1 + str2; Verbinding van getallen met strings String str = “Value: ” + i; System.out.println(str + j + k); System.out.println(j + k + str); string object + niet-string object : String str = “Teller waarde: ” + ctr.toString(); String str = “Teller waarde: ” + ctr;

Werken met Strings: Voorbeeld 1 Probleem: dissectie van adressen in naam, domein1 en domein 2  Naam: knking Domein1: edu Domein2: gsu

Voorbeeld 1 oplossing int atIndex = int dotIndex = Address.indexOf(“.”); String name = Address.substring (0, atIndex); String domain2 = Address.substring (atIndex + 1, dotIndex); String domain1 = Address.substring (dotIndex + 1);

Werken met Strings: Voorbeeld 2 public class Star{ public static void main(String[] args){ String name = “Francis Albert Sinatra”; int index1 = name.indexOf(“ ”); int index2 = name.LastIndexOf(“ ”); String str1 = name.substring(0,index1); String str2 = name.substring(index1+1, index1+2); String str3 = name.substring(index2+1); System.out.println(str3 + ”, “ + str1 + “ “ + str2 + “.”); }

Voorwaardelijke instructies if then else Voorwaarden/Testen in programma’s: uitkomst: true / false (boolean type) boolse expressies vergelijkingsoperatoren kleiner dan: kleiner dan of gelijk aan: = gelijk aan: ==niet gelijk aan: !=

Voorbeeld in Java if (acct.getBalance() <= 0.0 ) { System.out.println(“Sorry, no money left.”); } else { System.out.println(“OK, still money left.”); }

George Boole G. Boole, Lincoln. UK,

boolse operatoren OR vegetariërsstudenten

boolse operatoren AND vegetariërsstudenten

boolse operatoren NOT vegetariërsstudenten

boolse operatoren NOT vegetariërsstudenten

Boole bestelt lunch

Boolse operatoren in Java OR: || (isVegetariër(x) || isStudent(x)) AND: && (isVegetariër(x) && isStudent(x)) NOT: ! !(isVegetariër(x)) !(isStudent(x)) ± short circuit evaluation

Controle structuren

Controle structuren in programmeren Basic control structures: if statements while statements for statements

Simple if-statement …… if (banksaldo < 0.0) { System.out.println (“U staat rood.”); } …… boolse expressie inner statement false true

Block of inner statements …… boolean rekeningIsGeblokkeerd = false; if (banksaldo < 0.0) { System.out.println (“U staat rood.”); rekeningIsGeblokkeerd = true; } ……

Complex boolean expression …… boolean rekeningIsGeblokkeerd = false; if (banksaldo ) { System.out.println (“U staat een beetje rood.”); } ……

Testen op (on)gelijkheid …… if (banksaldo == * ) { System.out.println(“Bedenk wel, ”); System.out.println(“geld maakt niet gelukkig.”); } ……

Strings vergelijken …… String inputUser = SimpleIO.readLine(); String password = “Algoritmiek”; if (!inputUser.equals(password)) { System.out.println (“Toegang geweigerd.”); } …… String naam1 = SimpleIO.readLine(); String naam2 = SimpleIO.readLine(); if (naam1.compareTo (naam2) > 0) { System.out.println (naam2); System.out.println (naam1); } ……

Boolean type Directe waardetoekenning passwordIsAccepted = inputUser.equals(password);

If-statement with else-clause …… boolean deurOpen = true; if (!(draagtOverhemd && draagtDas)) { System.out.println (“Sorry. Geen toegang.”); deurOpen = false; } else { System.out.println (“Welkom. Treedt binnen”); ……

De Morgan’s Laws !(draagtOverhemd && draagtDas) !draagtOverhemd || !draagtDas !(draagtOverhemd || draagtDas) !draagtOverhemd && !draagtDas draagtTShirt || draagtTrui

If with else if ( ) { } else { } expr. block 1block 2

Cascaded if-statement expr1 expr2 expr3 expr4

Cascaded if-statement …… if (banksaldo < 0.0) { System.out.println (“Beleggen kunt u wel vergeten.”); } else { if (banksaldo >= 0.0 && banksaldo <= ) { System.out.println (“Raadpleeg onze website voor uw beleggingen.”); } else { if (banksaldo > ) { System.out.println (“Raadpleeg uw personal banker.”); } ……

Complex boolean expressions - De Morgan’s Law - Cascading structure …… if (banksaldo < 0.0) System.out.println (“Beleggen kunt u wel vergeten.”); else if (banksaldo >= 0.0 && banksaldo <= ) System.out.println (“Raadpleeg onze website voor uw beleggingen.”); else if (banksaldo > ) System.out.println (“Raadpleeg uw personal banker.”); ……

Complex boolean expressions …… if (banksaldo < 0.0) System.out.println (“Beleggen kunt u wel vergeten.”); else if (banksaldo <= ) System.out.println (“Raadpleeg onze website voor uw beleggingen.”); else System.out.println (“Raadpleeg uw personal banker.”); ……

Floating numbers

Floating point numbers float: 4 bytes double: 8 bytes long double: 16 bytes Twee aspecten: range precision

Compacte weergave Nationale schuld: $ E12 4.0e12

Floating point notation 142,687 0, * , , * ,011 0, * 2 3 0, , * decimaal binair SIGNMANTISSAEXPONENT