• Keine Ergebnisse gefunden

Programmierkurs Java iS

N/A
N/A
Protected

Academic year: 2021

Aktie "Programmierkurs Java iS"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

iS

Programmierkurs Java

UE 1 - Grundlagen

(2)

iS

Programmieren ist wie küssen:

Man kann darüber reden, man kann es beschreiben,

aber man weiß erst, was es bedeutet, wenn man es getan hat.

(Andree Beaulieu-Green)

Zitat

(3)

iS

Terminologie

Programmiersprachen

Entwicklungsphasen

Entwicklungswerkzeuge

Compiler

Computer

Zusammenfassung

Gliederung

(4)

iS

Programmierung:

Erstellung von Computerprogrammen

Softwareentwicklung:

Methoden zum Lösen von Problemen mit dem Computer

Algorithmus:

Arbeitsanleitung zum Lösen eines Problems, die so präzise

formuliert ist, dass sie von einem Computer ausgeführt werden kann

Programmiersprache:

Computerverständliche Notation zur Formulierung von Programmen

Programm:

In einer Programmiersprache formulierte Algorithmus

Terminologie (1)

(5)

iS

Programmierer:

Entwickler von Programmen

Programmcode, Quellcode, Sourcecode:

(textuelle) Programmbeschreibung

ausführbares Programm:

(binäres) Programm in maschinenverständlicher Form

Programmaufruf:

Ausführung eines ausführbaren Programms

Terminologie (2)

(6)

iS

Anwender:

➢ Anfänger

➢ Experten

Abstrahierungsgrad:

➢ maschinennah

➢ problemorientiert

Paradigmen:

➢ imperativ

➢ funktional

➢ prädikativ

➢ regelbasiert

➢ objektorientiert

Programmiersprachen

(7)

iS

Entwicklungsphasen

Do uk me

nt at oi n Problem

Programm Implementierung

Analyse

Entwurf

Test

(8)

iS

Editore: Manipulation des Programmcodes

Compiler: Transformation eines Quell- in ein Zielprogramm Interpreter: Inkrementelle Abarbeitung des Quellcodes

Debugger: Erkennung von Laufzeitfehlern

Dokumentationshilfen: Erstellung von Teilen der Dokumentation Laufzeitsystem: Hilfsprogramme bei der Programmausführung Programmbibliothek: Sammlung fertiggestellter Programme

Entwicklungswerkzeuge

(9)

iS

Gerät zur automatischen Verarbeitung von Daten

Computer setzen sich zusammen aus

– Hardware (physikalische Geräte; Zentraleinheit plus periphere Geräte)

– Software (Programme)

Arbeitsweise:

Computer

(10)

iS

Von-Neumann-Rechnerarchitektur:

Computer / Hardware

(11)

iS

Computer / Software

(12)

iS

Lexikalik: gültige Zeichen und Wörter der Sprache Syntax: korrekter Aufbau von Sätzen der Sprache Semantik: Bedeutung von Sätzen der Sprachen

Compiler

int n = IO.readInt();

int erg = 0;

int aktZahl = 1;

while (aktZahl <= n) {

erg = erg + aktZahl++ ; }

System.out.println(erg);

Quell- programm

Token-

folge Ableitungs-

baum

Ziel- programm Lexikalische Analyse

(Scanner)

Syntaktische Analyse (Parser)

Semantische Analyse/

Codegenerierung

(13)

iS

Compiler / Lexikalische Analyse

Entfernung von Trennzeichen und Kommentaren

Erkennung von Token (Zeichen, die bedeutungsmäßig zusammengehören):

➢ Schlüsselwörter

➢ Bezeichner

➢ Symbole

➢ Zeichenketten

➢ ...

while (zahl >= 17) { zahl = zahl-1;

while (

zahl

>=

17 )

zahl

= zahl - 1

; Java

(14)

iS

Compiler / Syntaktische Analyse

Überführung einer Tokenfolge in Ableitungsbaum

Untersuchung auf syntaktische Korrektheit

Darstellung: Syntaxdiagramme, BNF, EBNF

(15)

iS

Compiler / BNF und EBNF

Backus-Naur-Form (BNF):

➢ Technik zur textuellen Darstellung der Syntax einer Sprache

➢ Verwendung von Ersetzungsregeln (Produktionen)

➢ besitzen linke und rechte Seite

➢ linke Seite: Nichtterminalsymbol

➢ Nichtterminalsymbol: durch < > gekennzeichnet

➢ Alternativen: durch | gekennzeichnet

➢  (Epsilon): leere Alternative

EBNF:

➢ Erweiterung der BNF (Abkürzungsmöglichkeiten)

[...] bedeutet: Symbole in Klammern können auch wegfallen

{...} bedeutet: Symbole in Klammern können beliebig oft (auch Null mal) wiederholt werden

(16)

iS

EBNF / Beispiel

EBNF:

<programm> ::= [ "void" ] "main" <block>

<block> ::= "{" <anweisungen> "}"

<anweisungen> ::= <anweisung> { <anweisung> }

<anweisung> ::= "anw1" | "anw2" | <repeat-anweisung>

<repeat-anweisung> ::= "repeat" <block>

Gültige Programme:

main { anw1 }

void main { anw2

repeat { anw1 anw2 } anw1

}

(17)

iS

Computer: Hard-/Software zur automatischen Verarbeitung

von Daten

Programmieren: systematisches Entwickeln von

Computerprogrammen zum Lösen gegebener Probleme

– Durchlaufen mehrerer Phasen

– Nutzung von Werkzeugen

Algorithmus: Formulierung des Lösungsverfahrens

Programmiersprache: computerverständliche Notation zur Formulierung von Algorithmen

Zusammenfassung

Referenzen

ÄHNLICHE DOKUMENTE

– Klassenbezeichner muss Name einer gültigen Klasse sein – Bezeichner sind Objektvariablen (&#34;Namen für Objekte&#34;) – Objektvariablen sind Referenzvariablen}. –

 für jede Klasse existiert nur eine Instanz eines Klassen- Attributs.  alle Objekte der Klasse haben

suchen: prevElem mit prevElem.next == oldElem prevElem.next = oldElem.next;. next

 Überschreiben von Methoden: Ersetzung der Implementierung einer Methode einer Oberklasse durch eine neue. Implementierung; die Methoden müssen identische Signaturen

 Klassenbibliothek: Sammlung von nützlichen, häufig gebrauchten Klassen, die (anderen) Programmierern zur Verfügung gestellt werden..  Java-Packages: Hilfsmittel zur

 In einer Datei können mehrere Klassen definiert werden, aber nur eine darf eine public-Klasse sein. Der Name der Datei muss in diesem Fall gleich dem Namen der

– java.lang: Basis-Klassen (System, Object, Runtime, String, ...) – java.lang.reflect: Java Reflection API (Introspektion,

– beim Aufruf einer Instanz-Methode über eine Objektvariable wird diejenige Methode ausgeführt, die der Klasse des referenzierten Objektes zugeordnet ist ( überschriebene