Windows PowerShell im Einsatz

Größe: px
Ab Seite anzeigen:

Download "Windows PowerShell im Einsatz"

Transkript

1 Bruce Payette Windows PowerShell im Einsatz ISBN-10: ISBN-13: Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter sowie im Buchhandel

2 Inhaltsverzeichnis Geleitwort Vorwort Danksagung Über dieses Buch Teil I: PowerShell lernen 1 Willkommen bei PowerShell Was ist PowerShell? Shells, Befehlszeilen und Skriptsprachen Warum eine neue Shell? Warum gerade jetzt? Das Problem der letzten Meile Seele einer neuen Sprache Aus der Geschichte lernen Unterstützung von.net OOP-Auffrischungskurs Objektorientiertes Programmieren Objekte in PowerShell Heh! Wo bleibt der Code? Installieren und starten von PowerShell Editieren von Befehlen Befehlsvervollständigung Auswerten von elementaren Ausdrücken Verarbeiten von Daten Zusammenfassung... 51

3 6 Inhaltsverzeichnis 2 Grundlagen Befehlskonzepte und Terminologie Befehle und Commandlets Befehlstypen Aliase und flexible Syntax Parsing und PowerShell Wie PowerShell ein Skript zerlegt Quoting Parsing im Ausdrucks- und im Befehlsmodus Terminieren von Statements Pipelines und Befehle Pipelines und Streamingverhalten Parameter und Parameterbindung Formatierung und Ausgabe Die Format-Commandlets Die Output-Commandlets Zusammenfassung Arbeiten mit Typen Typenmanagement wie im wilden Westen PowerShell: eine typ-promiskuitive Sprache Typ-System und Typ-Adaption Basistypen und Literale Strings Zahlen und numerische Literale Collections: Dictionaries und Hashtabellen Collections: Arrays und Sequenzen Typliterale Typumwandlungen Wie die Typumwandlung funktioniert PowerShells-Algorithmus zur Typumwandlung Spezielle Typumwandlungen beim Binden von Parametern Zusammenfassung Operatoren und Ausdrücke Arithmetische Operatoren Der Additions-Operator

4 Inhaltsverzeichnis Der Multiplikations-Operator Subtraktion, Division und der Modulo-Operator Die Zuweisungsoperatoren Mehrfache Zuweisungen Mehrfache Zuweisungen mit Typqualifizierern Zuweisungsoperationen als Wertausdrücke Vergleichsoperatoren Skalare Vergleiche Vergleichsoperatoren und Auflistungen Operatoren zum Musterabgleich Wildcard Pattern Reguläre Ausdrücke Logische und Bit-Operatoren Zusammenfassung Erweiterte Operatoren und Variablen Operatoren für die Arbeit mit Typen Die unären Operatoren Gruppieren, Unterausdrücke und Array-Unterausdrücke Array-Operatoren Der Komma-Operator "," Der Bereichsoperator Indizieren von Arrays Operatoren für Eigenschaften und Methoden Der "."-Operator Statische Methoden und der "::"-Operator Der PowerShell Format-Operator -F Umleitung und Umleitungsoperatoren Variablen Zusammenfassung Flusskontrolle in Skripten Das if/elseif/else-statement Die while-schleife Die do/while-schleife Die for-schleife Die foreach-schleife

5 8 Inhaltsverzeichnis 6.6 Labels, break und continue Das switch-statement Grundlegendes zum switch-statement Wildcard Pattern und switch-statement Reguläre Ausdrücke mit dem switch-statement Dateiverarbeitung mit dem switch-statement Der $switch-schleifenenumerator im switch-statement Ablaufsteuerung mit Commandlets Das Foreach-Object-Commandlet Das Where-Object-Commandlet Der Wert von Statements Zusammenfassung Funktionen und Skripte Grundlagen von Funktionen Formale Parameter und das param-statement Spezifizieren von Parametertypen Umgang mit einer variablen Anzahl von Argumenten Initialisieren von Funktionsparametern Verwendung von switch-parametern zum Definieren von Flags Lebenszeit von Variablen und Sichtbarkeits-Regeln Bereichsmodifizierer Rückgabewerte von Funktionen Debugging des Funktionsoutputs Das return-statement Funktionen in einer Pipeline Filter und Funktionen Funktionen als Commandlets Verwalten von Funktionen Zu guter Letzt Skripte Übergabe von Argumenten an Skripte Das param-statement Bereiche und Skripte Skripte beenden und exit-statement Dotting von Skripten und Funktionen Zusammenfassung

6 Inhaltsverzeichnis 9 8 Skriptblöcke und Objekte Skriptblock-Grundlagen Aufruf von Befehlen Zugriff auf CommandInfo-Objekte Das Skriptblock Literal Funktionen zur Laufzeit definieren Erzeugen und Manipulieren von Objekten Blick auf die Mitglieder Synthetische Mitglieder Objekte mit Add-Member erweitern Das Select-Object-Commandlet Arbeiten am Typsystem Hinzufügen einer Eigenschaft Shadowing vorhandener Eigenschaften Die PowerShell-Sprache erweitern Kleine Sprachen Hinzufügen eines CustomClass-Schlüsselworts Typerweiterung Code zur Laufzeit generieren Das Invoke-Expression-Commandlet Die ExecutionContext-Variable Erzeugen von Funktionen über das function: Laufwerk Zusammenfassung Fehler, Ausnahmen und Skript-Debugging Fehlerbehandlung ErrorRecords und ErrorStream Die $error-variable und der -ErrorVariable-Parameter Die Variablen $? und $LASTEXITCODE $ErrorActionPreference und der -ErrorAction-Parameter Umgang mit Fehlern die die Ausführung beenden Das trap-statement Das throw-statement Skript-Debugging Debugging mit den Host-APIs Das Set-PSDebug-Commandlet Überwachen der Befehlsausführung

7 10 Inhaltsverzeichnis Schrittweise Überwachung der Ausführung von Anweisungen Überwachen undefinierter Variablen im Strict-Modus Eingebettete Prompts und Breakpoints Abbrechen eines Skripts während des Schritt-Modus Erstellen eines breakpoint-befehls Skript ruft Stack oder "Wie kam ich hierher?" Low-Level-Überwachung Das Trace-Command-Commandlet Verfolgen von Typkonvertierungen Überwachen der Parameterbindung Das Ereignisprotokoll von PowerShell Das Ereignisprotokoll untersuchen Exchange 2007 und das PowerShell-Ereignisprotokoll Zusammenfassung Teil II: PowerShell anwenden 10 Verarbeitung von Texten, Dateien und XML Verarbeiten von unstrukturiertem Text Verwenden von System.String für das Arbeiten mit Text Verwendung regulärer Ausdrücke zur Textmanipulation Dateiverarbeitung Arbeiten mit PSDrives Arbeiten mit Pfaden die Wildcards enthalten Lesen und Schreiben von Dateien Suche in Dateien mit dem Select-String-Commandlet XML-Verarbeitung Verwendung von XML-Objekten Laden und Speichern von XML-Dateien XML-Dokumente in einer Pipeline verarbeiten XPath verwenden Die Import-Clixml- und Export-Clixml-Commandlets Zusammenfassung NET und WinForms NET in PowerShell verwenden

8 Inhaltsverzeichnis NET-Grundlagen Arbeiten mit Assemblies Auffinden von Typen Instanzen von Typen erzeugen PowerShell ist nicht C# eine Moralgeschichte Arbeiten mit generischen Typen PowerShell und das Internet Beispiel: Herunterladen einer Webseite Beispiel: Ein RSS-Feed verarbeiten Beispiel: Einen Webserver mit PowerShell schreiben PowerShell und grafische Benutzerschnittstellen WinForms-Grundlagen Beispiel: "Mein erstes Formular" Beispiel: Einfacher Dialog Beispiel: Eine WinForms-Bibliothek Beispiel: Ein einfacher Rechner Beispiel: Daten anzeigen Beispiel: Verwendung von GDI+ zur Grafikausgabe Zusammenfassung Windows Objekte: COM und WMI COM in PowerShell verwenden Windows-Automatisierung mit COM Netzwerkzugriff, Office-Applikationen und Spielzeuge Einsatz des ScriptControl-Objekts Probleme mit COM WMI und PowerShell Was sind die WMI und was müssen wir beachten? Das Get-WmiObject-Commandlet Der WMI-Objektadapter WMI-Elfmeterschießen VBScript versus PowerShell Die Shortcuts für WMI-Typen Arbeiten mit WMI-Methoden Arbeiten mit WMI-Events Modifizierte WMI-Objekte zurückgeben Welches Objektmodell sollte man verwenden? Zusammenfassung

9 12 Inhaltsverzeichnis 13 Sicherheit, Sicherheit, Sicherheit Einführung in die Sicherheit Was Sicherheit ist Was Sicherheit nicht ist Sicherheitsempfinden Sicherheitsmodellierung Einführung in das Modellieren von Bedrohungen Klassifizieren von Bedrohungen mit dem STRIDE-Modell Bedrohungen, Angriffsobjekte und Risiko-Minimierung Absichern der PowerShell-Umgebung Standardmäßige Sicherheit Befehlspfad verwalten Wahl der Ausführungs-Richtlinie für Skripte Signieren von Skripten Wie Public Key-Verschlüsselung und Hashing funktionieren Signierende Autoritäten und Zertifikate Erstellen eines selbst-signierten Zertifikats Skripte mit einem Zertifikat signieren Freigabe des Strong Private Key-Schutzes für Ihr Zertifikat Sichere Skripte schreiben Verwenden der SecureString-Klasse Arbeiten mit Credentials Vermeiden Sie Invoke-Expression Zusammenfassung A PowerShell im Vergleich mit anderen Sprachen A.1 PowerShell und CMD.EXE A.1.1 Grundlegendes Navigieren und Dateioperationen A.1.2 Variablen und Substitution A.1.3 Befehle ausführen A.1.4 Syntaktische Unterschiede A.1.5 Textsuche: findstr und Select-String A.1.6 Äquivalente für die For-Schleife A.1.7 Batchdateien und Subroutinen A.1.8 Den Prompt einstellen A.1.9 Verwenden von doskey in PowerShell A.1.10 Verwenden von cmd.exe in PowerShell

10 Inhaltsverzeichnis 13 A.2 PowerShell und UNIX-Shells A.2.1 Beispiel: Alle Prozesse anhalten A.2.2 Beispiel: Stoppen einer gefilterten Prozessliste A.2.3 Beispiel: Berechnen der Größe eines Verzeichnisses A.2.4 Beispiel: Arbeiten mit dynamischen Werten A.2.5 Beispiel: Die Lebenszeit eines Prozesses überwachen A.2.6 Beispiel: Prüfen auf Pre-Release-Binärcode A.2.7 Beispiel: Einen String in Großbuchstaben verwandeln A.2.8 Beispiel: Text in einen String einfügen A.3 PowerShell und Pearl A.4 PowerShell und C# A.4.1 Aufruf von Funktionen und Befehlen A.4.2 Methodenaufrufe A.4.3 Rückgabe von Werten A.4.4 Sichtbarkeit von Variablen A.5 PowerShell und VBScript B Beispiele zum Administrieren B.1 Active Directory-Infos abrufen B.2 Installierte Software anzeigen B.3 Terminal Server-Einstellungen bestimmen B.4 Auflisten aller Hotfixes des aktuellen Computers B.5 Computer mit fehlenden Hotfixes suchen B.6 Ereignisprotokoll verwenden B.6.1 Ein spezifisches EventLog-Objekt ermitteln B.6.2 Das Ereignisprotokoll als Live-Objekt B.6.3 Remote-Zugriff auf Ereignisprotokolle B.6.4 Speichern von Ereignisprotokollen B.6.5 Ereignisse schreiben B.7 Arbeiten mit vorhandenen Dienstprogrammen B.8 Arbeiten mit Active Directory und ADSI B.8.1 Zugriff auf den Active Directory-Service B.8.2 Benutzer hinzufügen B.8.3 Benutzergruppe hinzufügen B.8.4 User-Eigenschaften aktualisieren B.8.5 User entfernen B.9 Zusammenführen von zwei Datenmengen

11 14 Inhaltsverzeichnis C Die PowerShell-Grammatik C.1 Statement-Liste C.2 Statement C.2.1 Pipeline C.2.2 Das if Statement C.2.3 Das switch-statement C.2.4 Das foreach-statement C.2.5 Die for- und while-statements C.2.6 Die do/while- und do/until-statements C.2.7 Das trap-statement C.2.8 Das finally-statement C.2.9 Anweisungen zur Flusskontrolle C.2.10 Funktionsdeklarationen C.2.11 Parameterdeklarationen C.3 Ausdruck C.4 Wert C.5 Tokenizer-Regeln Index

12 Bruce Payette Windows PowerShell im Einsatz ISBN-10: ISBN-13: Leseprobe Weitere Informationen oder Bestellungen unter sowie im Buchhandel

13 5 Erweiterte Operatoren und Variablen Kapitel 5 Erweiterte Operatoren und Variablen Die größte Herausforderung für einen Denker ist es, ein Problem so zu formulieren, dass eine Lösung möglich ist. Bertrand Russell Im Vorgängerkapitel haben wir die Basisoperatoren von PowerShell behandelt, in diesem Kapitel werden wir dieses Thema fortsetzen und dabei mit Operatoren Dinge vollbringen, welche die meisten Leute für unmöglich halten. Wir werden uns auch mit dem Aufbau komplexer Datenstrukturen unter Verwendung dieser Operatoren befassen. Das Kapitel schließt mit einer detaillierten Diskussion darüber, wie Variablen unter PowerShell funktionieren und wie sie zusammen mit Operatoren zur Lösung wichtiger Aufgaben eingesetzt werden können. 5.1 Operatoren für die Arbeit mit Typen Der Typ eines Objekts ist ausschlaggebend für die Arten von Operationen die man mit diesem Objekt ausführen kann. Bis jetzt haben wir es dem Objekttyp erlaubt, die durchzuführenden Operationen implizit zu bestimmen. Manchmal möchten wir das aber explizit tun. Damit wir das können, stellt PowerShell für das Arbeiten mit Typen einige Operatoren bereit (siehe Tabelle 5.1). Diese Operatoren ermöglichen es uns zu testen, ob ein Objekt einen bestimmten Typ hat oder sie erlauben uns, ein Objekt in einen neuen Typ zu konvertieren. Der -is-operator liefert True falls das Objekt auf der linken Seite dem auf der rechten Seite spezifizierten Typ entspricht. Unter "is" verstehen wir, dass der linke Operand entweder vom angegebenen Typ ist oder davon abgeleitet wurde (zur Erklärung der Ableitung siehe "OOP-Auffrischkurs" in Kapitel 1, Abschnitt 1.3). Der -isnot-operator liefert True wenn die linke Seite nicht dem Typ der rechten Seite entspricht. Die rechte Seite des Operators muss entweder einen Typ darstellen oder einen String der einen Typ benennt. Das bedeutet, dass Sie entweder ein Typliteral wie [int] benutzen können oder aber auch den Literalstring "int".

14 150 5 Erweiterte Operatoren und Variablen Der -as-operator versucht, den linken Operanden in den durch den rechten Operanden spezifizierten Typ zu konvertieren. Auch hier kann entweder ein Typliteral oder ein String, welcher den Typen benennt, verwendet werden. HINWEIS: PowerShells -is- und -as-operatoren wurden wie die entsprechenden C#-Operatoren modelliert. Jedoch benutzt die PowerShell-Version von -as ein aggressiveres Typecasting. So wird z.b. unter C# der String "123" nicht in die Zahl 123 konvertiert, während PowerShell dies tut. Der -as Operator von PowerShell funktioniert mit jedem Typ, während der C# Operator auf Referenztypen beschränkt ist. Möglicherweise wundern Sie sich, wozu wir den -as-operator überhaupt brauchen, wenn wir doch stattdessen auch eine Typkonvertierung verwenden könnten. Der Grund ist, dass der -as-operator die Verwendung eines Laufzeitausdrucks (runtime expression) erlaubt, während das Casting auf die Zeit des Parsens fixiert ist. BEISPIEL: BEISPIEL: Anwenden des Laufzeitverhaltens: PS C:\> foreach ($t in [float],[int],[string]) {" " -as $t} In diesem Beispiel wird mittels Schleife eine Liste von Typliteralen durchlaufen um den String in jeden der angegebenen Typen zu konvertieren. Dies aber wäre unmöglich wenn die Typen als Operatoren benutzt würden. Schließlich gibt es da noch einen zusätzlichen Unterschied zwischen einem regulären Casting und der Verwendung des -as-operators. Wenn die Konvertierung nicht erfolgreich ist, wird beim Casting ein Fehler erzeugt. Mit dem -as-operator wird in diesem Fall $null anstatt eine Fehlermeldung zurückgegeben. Das Casting von "abc" nach [int] generiert einen Fehler, aber der -as-operator liefert stattdessen $null. PS C:\> [int] "abc" -eq $null Der Wert "abc" kann nicht in den Typ "System.Int32" konvertiert werden. Fehler: "Die Eing abezeichenfolge hat das falsche Format." Bei Zeile:1 Zeichen:6 + [int] <<<< "abc" -eq $null PS C:\> ("abc" -as [int]) -eq $null True PS C:\> Tabelle 5.1 zeigt verschiedene andere Beispiele zur Verwendung der Typoperatoren von Power- Shell.

15 5.1 Operatoren für die Arbeit mit Typen 151 Operator Beispiel Ergebnis Beschreibung -is $true is [bool] $true True falls der Typ der linken Seite mit dem Typ der rechten Seite übereinstimmt. $true -is [object] $true Ist immer True, denn alles außer $null ist ein Objekt. $true -is [ValueType] $true Die linke Seite ist eine Instanz eines.net- Wertetyps. "hi" -is [ValueType] $false Ein String ist kein Wertetyp sondern ein Referenztyp. "hi" is [object] $true Aber ein String ist immer noch ein Objekt. 12 is [int] $true 12 ist ein Integer. 12 is "int" $true Die rechte Seite des Operators kann entweder ein Typliteral oder ein String sein der den Typ benennt. -isnot $true isnot [string] $true Das Objekt der linken Seite ist nicht vom gleichen Typ wie das Objekt der rechten Seite. $true isnot [object] $true Der Nullwert ist das Einzige was kein Objekt ist. -as "123" -as [int] 123 Nimmt die linke Seite und konvertiert diese in den auf der rechten Seite spezifizierten Typ. 123 as "string" "123" Verwandelt die linke Seite in eine Instanz des Typs der durch den String auf der rechten Seite benannt wird. Tabelle 5.1 PowerShells Operatoren für das Arbeiten mit Typen In der Praxis können Sie sich die meiste Zeit auf den automatischen Mechanismus zur Typkonvertierung verlassen. Die übrigen Fälle lassen sich in der Regel mit expliziten Typecastings lösen. Wozu also brauchen Sie dann diese Operatoren überhaupt? Meist benötigt man sie beim Schreiben von Skripten. Wenn Sie zum Beispiel ein Skript brauchen das sich bezüglich der Übergabe einer Zahl und eines Strings unterschiedlich verhält, so werden Sie den -is Operator zum Selektieren der auszuführenden Operation verwenden. Einfache Beispiele dafür sind die im Vorgängerkapitel beschriebenen binären Operatoren. So hat der Additionsoperator ein unterschiedliches Verhalten in Abhängigkeit vom Typ des linken Arguments. Um ein Skript zu schreiben welches dasselbe tut, müssten Sie -is zur Auswahl der Operation verwenden und -as zum Konvertieren des rechten Operanden in den korrekten Typ. Entsprechende Beispiele werden wir im Skripting-Kapitel erörtern.

16 152 5 Erweiterte Operatoren und Variablen 5.2 Die unären Operatoren Wir wollen nun die unären Operatoren detailliert betrachten (siehe Tabelle 5.2). Operator Beispiel Ergebnis Beschreibung - -(2+2) -4 Negation. Versucht das Argument in eine Zahl zu konvertieren und negiert dann das Resultat. + + "" 123 Unäres Plus. Versucht das Argument in eine Zahl zu konvertieren und gibt das Resultat zurück. Effektiv entspricht das einem Casting in eine Zahl $a ; $a-- Hängt vom aktuellen Wert der Variablen ab $a; $a++ [<type>] [int] "0x123" Hängt vom aktuellen Wert der Variablen ab.,,(1+2) 1-Element Array welches den Wert des Ausdrucks enthält. Tabelle 5.2 PowerShells unäre Operatoren Pre- und Postdekrement-Operator. Konvertiert den Inhalt der Variablen in eine Zahl und versucht 1 zu subtrahieren. Die Präfixversion liefert den neuen Wert, die Postfixversion den Originalwert. Pre- und Postinkrement. Konvertiert den Inhalt der Variablen in eine Zahl und versucht 1 zu addieren. Die Präfixversion liefert den neuen Wert, die Postfixversion den Originalwert. 291 Typcasting. Konvertiert das Argument in eine Instanz des durch den Cast definierten Typs. Unärer Komma-Operator. Erzeugt ein neues 1-Element Array des Typs [object[]] und speichert in diesem denoperanden. Die meisten dieser Operatoren hatten wir bereits in den Vorgängerkapiteln kennen gelernt. Die unären Operatoren + und funktionieren bei Zahlen erwartungsgemäß. Die Anwendung auf andere Typen endet mit einem Fehler. Die Verwendung von Typkonvertierungen als unäre Operatoren wurde ausgiebig im Kapitel 3 besprochen, sodass wir das hier nicht zu wiederholen brauchen. Die interessanten Operatoren des vorliegenden Abschnitts sind die für Inkrement und Dekrement. Bezüglich ihres Verhaltens entsprechen sie den äquivalenten Operatoren in C. Noch einmal, diese Operatoren sind nur für Variablen bestimmt die Zahlen enthalten. Alles andere endet mit einem Fehler. Die Präfixform des ++ Operators inkrementiert die Variable mit 1 und liefert den neuen Wert. Die Postfixform inkrementiert die Variable mit 1, liefert aber den in der Variablen gespeicherten Originalwert. Der -- Operator tut dasselbe, nur dass er 1 subtrahiert anstatt zu addieren. Fast wären Inkrement- und Dekrement-Operatoren nicht in PowerShell eingebunden worden, da sie ein Problem verursachten. Wenn Sie in Sprachen wie C und C# einen dieser Operatoren wie folgt benutzen: $a++

17 5.3 Gruppieren, Unterausdrücke und Array-Unterausdrücke wird nichts angezeigt, weil diese Statements in C und C# keine Werte zurückgeben. In Power- Shell hingegen liefern alle Statements einen Wert. Dies führt zur Konfusion. BEISPIEL: Bei folgendem Skript: $sum=0 $i=0 while ($i -lt 10) { $sum += $i; $i++ } $sum... wurden ursprünglich die Zahlen 1 bis 10 angezeigt, weil $a++ einen Wert zurückgab und PowerShell die Ergebnisse jedes Statements anzeigte. Dies war so verwirrend, dass wir dieses Operatoren fast aus der Sprache entfernt hätten. Dann kamen wir auf die Idee eines leeren Statements. Grundsätzlich ist darunter zu verstehen, dass bei bestimmten Typen von Ausdrücken, verwendet man sie als Statements, nichts angezeigt wird. Leere Statements betreffen Zuweisungen und die Inkrement/Dekrement-Operatoren. Verwendet man sie in einem Ausdruck, dann liefern sie einen Wert, verwendet man sie aber als alleinstehendes Statement, dann wird nichts zurückgegeben. Wieder ist das eines jener Details die zwar anders als erwartet funktionieren, die Verwendung von PowerShell aber nicht beeinträchtigen. HINWEIS: Manchmal möchten Sie den Output eines Statements explizit verwerfen, d.h., Sie wollen ein reguläres Statement in ein leeres verwandeln. Der Weg dorthin führt über ein explizites Casting in den Typ [void] wie [void] (write-object "discard me"). Das Statement, dessen Wert Sie verwerfen wollen, ist eingeklammert und das ganze Ding wird in einen leeren Typ gecastet. Wir werden später in diesem Kapitel noch einen anderen Weg zum Erreichen desselben Effekts unter Verwendung des Umleitungs- Operators kennen lernen. Ein Gebiet, wo leere Statements besonders interessant sind, bezieht sich auf Unterausdrücke (subexpressions) zum Gruppieren von Anweisungen. Im Folgenden werden wir uns dieser Art von Ausdrücken zuwenden. 5.3 Gruppieren, Unterausdrücke und Array-Unterausdrücke Wir haben bereits eine Vielfalt von Situationen kennen gelernt, wo mehrere Ausdrücke oder Anweisungen miteinander gruppiert wurden. Wir haben diese Gruppenkonstrukte auch bei den in Kapitel 3 beschriebenen Stringexpansionen gesehen. Nun wollen wir sie detaillierter betrachten. Tatsächlich bietet PowerShell drei Wege zum Gruppieren von Ausdrücken (siehe Tabelle 5.3). Operator Beispiel Resultate Beschreibung ( ) ( ) * 3 (get-date).dayofweek 12 Liefert den aktuellen Wochentag. Die Klammern gruppieren Operationen mit Ausdrücken und können entweder eine simplen Ausdruck oder eine simple Pipeline enthalten.

Windows PowerShell im Einsatz

Windows PowerShell im Einsatz Windows PowerShell im Einsatz Mit einem Geleitwort von Jeffrey Snover von Walter Doberenz, Bruce Payette 1. Auflage Windows PowerShell im Einsatz Doberenz / Payette schnell und portofrei erhältlich bei

Mehr

Windows PowerShell im Einsatz

Windows PowerShell im Einsatz Bruce Payette Windows PowerShell im Einsatz ISBN-10: 3-446-41239-5 ISBN-13: 978-3-446-41239-2 Vorwort Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41239-2 sowie im Buchhandel

Mehr

Windows PowerShell im Einsatz

Windows PowerShell im Einsatz Windows PowerShell im Einsatz von Walter Doberenz, Bruce Payette 1. Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41239 2 Zu Leseprobe schnell und portofrei erhältlich

Mehr

Helma Spona. Windows PowerShell. Galileo Press

Helma Spona. Windows PowerShell. Galileo Press Helma Spona Windows PowerShell Galileo Press 1.1 Installation der PowerShell und eines passenden Skripteditors 11 1.1.1 Download-Quellen 11 1.1.2 Besonderheiten bei der Installation unter Windows XP 12

Mehr

Windows PowerShell. Galileo Press. Helma Spona

Windows PowerShell. Galileo Press. Helma Spona Helma Spona 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Windows PowerShell Galileo Press oooooooooooooooooooooooooooooooooooo

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY O Reillys Taschenbibliothek 3. Auflage Windows PowerShell 3.0 kurz & gut O REILLY Lee Holmes Deutsche Adaption von Rolf Masuch Inhalt Einleitung................................................ 2 Installation.....................................................

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Algorithmen & Programmierung. Ausdrücke & Operatoren (1) Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die

Mehr

Übung zur Vorlesung Multimedia im Netz

Übung zur Vorlesung Multimedia im Netz Übung zur Vorlesung Multimedia im Netz Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2009/2010 Ludwig-Maximilians-Universität München Multimedia im Netz Übung 1-1 Organisatorisches

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

Programmieren in Lua

Programmieren in Lua Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Programmieren lernen in ASP.NET mit C#

Programmieren lernen in ASP.NET mit C# Programmieren lernen in ASP.NET mit C# von Patrick A. Lorenz, Christoph A. Müller 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22311 0 Zu Leseprobe schnell und

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Inhaltsverzeichnis. Einleitung... 13. Text vom Benutzer erfragen... 22 Text über ein Dialogfeld erfragen... 23

Inhaltsverzeichnis. Einleitung... 13. Text vom Benutzer erfragen... 22 Text über ein Dialogfeld erfragen... 23 Inhaltsverzeichnis Einleitung............................................................................. 13 1 Texte und Textauswertungen........................................................ 17 Text

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

5.3 Auswertung von Ausdrücken

5.3 Auswertung von Ausdrücken 5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte

Mehr

Inhaltsverzeichnis. Vorwort. Basiswissen

Inhaltsverzeichnis. Vorwort. Basiswissen Inhaltsverzeichnis Vorwort 1 Basiswissen 1.1 Erste Schritte mit der Windows PowerShell 1.1.1 Was ist die Windows PowerShell? 1.1.2 Geschichte 1.1.3 Eine Motivation 1.1.4 PowerShell herunterladen und installieren

Mehr

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter CmdLets PipeLine / Filter Variablen / Operatoren Schleifen / Prüfmethoden Funktionen / Skripte Allgegenwärtige Parameter Hilfe ComObjekte PowerShell: Oberfläche PowerShell --- Voraussetzungen.NET Framework

Mehr

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Eine praktische Einführung in die Programmierung mit der Programmiersprache C Eine praktische Einführung in die Programmierung mit der Programmiersprache C www.c-howto.de C-HowTo www.c-howto.de Inhaltsverzeichnis 1 Einführung.. 10 1:1 Wozu Programmieren? 10 1.2 Was ist ein Programm?

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Programmieren in C++ Überladen von Methoden und Operatoren

Programmieren in C++ Überladen von Methoden und Operatoren Programmieren in C++ Überladen von Methoden und Operatoren Inhalt Überladen von Methoden Überladen von Operatoren Implizite und explizite Konvertierungsoperatoren 7-2 Überladen von Methoden Signatur einer

Mehr

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Tobias Weltner. PowerShell-Scripting fur Administratoren

Tobias Weltner. PowerShell-Scripting fur Administratoren Tobias Weltner PowerShell-Scripting fur Administratoren Vorwort 13 Texte und Textauswertungen 17 Text erstellen 19 Text vom Benutzer erfragen 21 Text aus einer Datei lesen 22 Zeilenumbruch oder Anfiihrungszeichen

Mehr

Stack stack = new Stack(); stack.push ("Würstchen"); string s = (string) stack.pop(); Console.WriteLine (s);

Stack stack = new Stack(); stack.push (Würstchen); string s = (string) stack.pop(); Console.WriteLine (s); D3kjd3Di38lk323nnm Der Typ object object (System.Object) ist die Ausgangsbasisklasse für alle Typen. Jeder Typ kann per Upcast in ein object umgewandelt werden. Um zu zeigen, wie das nützlich sein kann,

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Inhalt. Vorwort 13. Einleitung JavaScript-Grundlagen 17

Inhalt. Vorwort 13. Einleitung JavaScript-Grundlagen 17 Inhalt Vorwort 13 Einleitung 15 1 JavaScript-Grundlagen 17 1.1 Was ist DHTML? 17 Begriffsbestimmung 19 Wahl der Skriptsprachen für DHTML 20 Browserkompatibilität 21 Erfassen des Quellcodes 22 1.2 Aufbau

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer Inhaltsverzeichnis Einleitung Warum man programmieren können sollte.... xi Warum Python?.... xii Und warum Minecraft?... xii Was du in diesem Buch findest... xiii Online-Ressourcen....xv Möge das Abenteuer

Mehr

Inhaltsverzeichnis. Einleitung Texte und Textauswertungen Datum und Zeit 71

Inhaltsverzeichnis. Einleitung Texte und Textauswertungen Datum und Zeit 71 Einleitung 13 1 Texte und Textauswertungen 17 Text erstellen 18 Text vom Benutzer erfragen 22 Text über ein Dialogfeld erfragen 23 Text aus einer Datei lesen 24 Zeilenumbruch oder Anführungszeichen in

Mehr

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden ffl mitp Inhaltsverzeichnis Einleitung 19 1 Grundlagen 21 Entwicklung und Eigenschaften von C + + 22 Objektorientierte Programmierung

Mehr

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme? Liebe Leserin, lieber Leser 10 Kapitel i: Schnelleinstieg 13 Kapitel 2: Was sind Programme? 17 Was ist ein Programm? 18 Sprechen Sie Computer? 18 Von der Idee zum Programm 19 Von Windows, Fenstern und

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

Wie entwerfe ich ein Programm?

Wie entwerfe ich ein Programm? Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +

Mehr

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten SMART BOOKS Inhaltsverzeichnis..««... Vorwort 13 Kapitel 1 - Einführung 17 Crashkurs: FileMaker Pro 7 anwenden 19 Eine

Mehr

Windows Scripting lernen

Windows Scripting lernen Holger Schwichtenberg, Sven Conrad, Thomas Gartner, Oliver Scheer Windows Scripting lernen Anfangen, anwenden, verstehen An imprint of Pearson Education München Boston San Francisco Harlow, England Don

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14 Inhaltsverzeichnis Das erwartet dich in diesem Buch 8 Kapitel 1 Aufbruch ins Programmierabenteuer 14 Das Schlimmste vorab: die binäre Logik 15 So hoch entwickelt und doch so primitiv: der Prozessor 17

Mehr

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Programmieren in Haskell Debugging

Programmieren in Haskell Debugging Programmieren in Haskell Debugging Peter Steffen Universität Bielefeld Technische Fakultät 30.01.2009 1 Programmieren in Haskell Debugger Definition laut Wikipedia: Ein Debugger (von engl. bug im Sinne

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Einführung in C# Teil 1. Matthias Nübling

Einführung in C# Teil 1. Matthias Nübling Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp

Mehr

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5 Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen

Mehr

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im

Mehr

Inhaltsverzeichnis. Vorwort.11

Inhaltsverzeichnis. Vorwort.11 Inhaltsverzeichnis Vorwort.11 Kapitel 1 Einführung in die C-Programmierung 17 1.1 Ein erstes C-Programm 17 1.1.1 Analyse des Zinseszins-Programms 17 1.2 Compilieren und Ausführen eines Programms 24 1.3

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Richtig einsteigen: Access 2007 VBA-Programmierung

Richtig einsteigen: Access 2007 VBA-Programmierung Lorenz Hölscher Richtig einsteigen: Access 2007 VBA-Programmierung Miaosott Teill Erste Schritte 1 Einleitung 9 1.1 Die Themenschwerpunkte dieses Buches 9 Visual Basic for Applications 9 Die Beispiel-Datenbank

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik Programmieren I Operatoren und Ausdrücke Heusch 6.2 Ratz 4.4.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Ausdrücke, Arten von Operatoren Ein Ausdruck ist eine Folge von Operatoren

Mehr

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp

Mehr

Kapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen

Kapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen Variablen Referenzen Zuweisungen Variablen Variablen dienen der Speicherung von Werten Name (name) bezeichnet die Variable im Programm Wert (value) ist das Datenelement, dass in der Variablen gespeichert

Mehr

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Das Turbo Pascal Lösungsbu

Das Turbo Pascal Lösungsbu Gary Syck Das Turbo Pascal Lösungsbu bis Version 6.0, Turbo-Pascal für Windows, Turbo Vision und ObjectWindows Fragen und Antworten zur Programmentwicklung te-wi Verlag GmbH Vorwort 13 Einleitung 17 1

Mehr

Windows Scripting lernen

Windows Scripting lernen Holger Schwichtenberg, Sven Conrad, Thomas Gärtner, Oliver Scheer Windows Scripting lernen Anfangen, anwenden, verstehen ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow,

Mehr

3.4 Struktur von Programmen

3.4 Struktur von Programmen 3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*

Mehr

Anweisungen zur Ablaufsteuerung

Anweisungen zur Ablaufsteuerung Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii

Mehr

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

Werner Achte rt DATA BECKER

Werner Achte rt DATA BECKER Werner Achte rt. DATA BECKER Inhaltsverzeichnis 1. Einführung 21 1.1 Entwurf von Anwendungssystemen 23 1.2 Entwicklung eines Programms 25 1.3 Objektorientierte Programmierung 29 1.4 Darstellung objektorientierter

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr