Algorithmen und Datenstrukturen"
|
|
|
- Brit Holst
- vor 9 Jahren
- Abrufe
Transkript
1 Lehrstuhl für Medieninformatik Universität Siegen Fakultät IV 5 Einführung in Programmiersprachen Version: WS 14/15 Fachgruppe Medieninformatik 5.1
2 5 Einführung in Programmiersprachen... Motivation: Ziele dieses Abschnittes Unterschiedliche Typen von Programmiersprachen: imperativ-prozedurale Programmiersprachen objekt-orientierte Programmiersprachen deklarative Programmiersprachen Überblick über Programmierumgebungen Literatur: Begrifferklärungen in [Claus], sowie [Ernst] Teile des Kap. 7 [Gumm] Teile des Abschnitts 2.1 [Herold] Abschnitt 7.2 und 7.3 Watt, D.A.: Programmiersprachen - Konzepte und Paradigmen, Hanser, 1996 Fachgruppe Medieninformatik 5.2
3 5.1 Begriffe Programm: Realisierung eines Algorithmus wird automatisch von einem Prozessor (CPU) ausgeführt konkreter und detaillierter als ein in Worten formulierter Algorithmus genügt einer Syntax, also den Regeln einer (formalen) Programmiersprache Programmieren: Erstellung eines Programms 3 Ebenen: Maschinensprache: Formulierung eines Maschinenprogramms als Folge von elementaren Befehlen (Binär-Code) Lowlevel-Programmiersprachen: Maschinennahe Befehle, hardwareorientiert Beispiel: Verschiedene Varianten von Assembler-Sprachen Highlevel-Programmiersprachen: Komplexe Befehle, problem-orientiert, Abstraktion/Unabhängigkeit von Hardware-Merkmalen Highlevel-Programme werden in Maschinensprache übersetzt von einem Compiler oder Interpreter Fachgruppe Medieninformatik 5.3
4 5.2 Anwendungsgebiete Anforderungen an eine Programmiersprache: Es sollte leicht sein, einen Compiler zu schreiben. Die Syntax sollte vom Parser (erster Stufe des Compilers) leicht zu lesen sein. historische Entwicklung von sehr einfachen zu immer leistungsfähigeren Sprachen Die Programmiersprache sollte effizienten (schnellen) Maschinencode erzeugen. Darauf muss der Programmierer gegebenenfalls Einfluss haben. Struktur des zu lösenden Problems sollte in die Programmiersprache gut abbildbar sein. Daher haben sich je nach Anwendungsgebiet verschiedene Sprachen durchgesetzt. Der Prozess der Softwareentwicklung sollte möglichst gut unterstützt werden. Mechanismen, um Fehler nicht erst aufkommen zu lassen Gute Strukturierung großer Softwareprojekte Schnittstellen zwischen Teilen, vor allem wenn viele Entwickler(-Firmen) beteiligt sind. Fachgruppe Medieninformatik 5.4
5 5.2 Anwendungsgebiete Unterschiedliche Anwendungsgebiete führen zu unterschiedlichen Sprachen, z.b.: Büro-Anwendungen (C++, C#,...) Web-Anwendungen (Java, Perl, PHP, Python,...) Wissenschaftlich- technische Anwendungen (C,C++, Fortran,...) Datenbank-Anwendungen (PHP, SQL,...) Graphik-Anwendungen (C++, Assembler, Nvidia Cg,...) Server-Anwendungen/Unternehmenssoftware (C/C++,...) Eingebettete Systeme (VHDL,...) Kaufmännische Systeme (Cobol,...) Visuelle Sprachen (Diagrammsprachen) als Hilfsmittel für den Design- Prozess unter Nutzung graphischer Symbole UML (Unified Modeling Language) UML-Tools zur Code-Generierung Fachgruppe Medieninformatik 5.5
6 5.3 Zeitliche Entwicklung prozedural deklarativ 1950 imperativ objektorientiert funktional logisch Fortran Lisp 1960 Cobol algol 60 Basic PL/1 Algol 68 Simula Pascal Ada C Smalltalk ML Prolog C++ Miranda 1990 Eiffel Haskell Java 2000 C# Fachgruppe Medieninformatik 5.6
7 5.4 Typen von Programmiersprachen Man unterscheidet ganz grundlegend deklarative und prozedurale (bzw imperative) Sprachen. (Terminologie ist hier uneinheitlich). Prozedurale Sprachen: Programm besteht aus einer Folge von Befehlen. Programm gliedert sich in einzelne Prozeduren Weitere Unterscheidung imperativ: Programmablauf durch Abfolge der Programmzeilen und Verzweigungen vorgegeben objektorientiert: Programmablauf durch Signalaustausch zwischen Objekten bestimmt. Deklarative Sprachen: Programm ist eine Beschreibung des Problems. Compiler entwickelt daraus einen Programmablauf auf Maschinenebene. Bemerkung: Trotz dieses syntaktisch ganz anderen Konzepts ist die Programmierung nicht so verschieden, wie es scheint: Es ist nicht so, dass der Compiler das Problem für uns löst. Es handelt sich nur um eine andere Art, den Algorithmus aufzuschreiben. Fachgruppe Medieninformatik 5.7
8 5.4 Typen von Programmiersprachen Imperativ/Prozedural (z.b. Pascal, C, Basic): Hauptgesichtspunkt: Umsetzung von Algorithmen bzw. Berechnungsvorschriften Kontrollfluss wird durch das Programm gesteuert Sprachelemente: Variablen (hier x, y): Platzhalter für konkrete Werte/Zahlen Zuweisung a:=b Konkrete Werte werden Variablen zugewiesen arithmetische Operatoren Funktionen bzw. Prozeduren, hier: dosomething, writeln Kontrollstrukturen Fachgruppe Medieninformatik 5.8
9 5.4 Typen von Programmiersprachen Erste Imperative Programmiersprachen (Fortran, Basic): Struktur der Sprache eng an Maschinensprache angelehnt, Befehle sind aber komplexer als in Assembler, deshalb handelt es sich um Hochsprachen. Elementare Befehle sind Zuweisungen: a =b Weist der Variablen a den Wert von b zu. Arithmetische Ausdrücke: c=sqrt(a^2+ b^2) Weist den Wert einer Quadratwurzelberechnung (square root) zu. Sprungbefehle der Programmkontrolle: goto 100 Programmkontrolle springt in Programmzeile 100. Bedingte Verzweigungen: if a<b then 100 springt in Programmzeile 100, falls a<b. Schleifenbefehle do oder for - next (siehe Beispiel auf folgender Seite) Eingabe und Ausgabe: print a Sprünge in Prozeduren (Unterprogramme): Inhaltliche Gruppierung mehrfach aufgerufener Programmteile gosub 200 return Im Unterschied zu einfachen Sprüngen merkt sich die Programmkontrolle, von welchem gosub in die Prozedur gesprungen wurde, und kehrt nach return dorthin zurück. Fachgruppe Medieninformatik 5.9
10 5.4 Typen von Programmiersprachen Imperative Programmiersprachen (Fortran, Basic): Basic-Beispielprogramm, zwei Varianten mit gleichem Ergebnis. ( Die Programmzeilen-Nummern (100, 200, ) sind Teil des Programmtextes und werden vom Programmierer eingegeben. 100er Schritte, um später noch Zeilen einfügen zu können.) 100 k=0 200 k=k print sqrt(k) 400 if k<100 then 200 = 100 for k=1 to gosub next k 1000 print sqrt(k) 1010 return Fachgruppe Medieninformatik 5.10
11 5.4 Typen von Programmiersprachen Strukturiertes Programmieren Problem: E. W. Dijkstra, 1968: Aufsatz Go To Statement Considered Harmful Gefahr von Fehlern beim Programmieren von Spaghetticode in Fortran, Basic, Z.B. Sprünge aus Schleifen oder aus Prozeduren heraus. Wurde zum Problem, als Programme immer umfangreicher wurden. Deshalb: 1. goto Befehl soll nicht verwendet werden 1. Statt dessen Blockstruktur des Programms Schleifen If-then-else for k:=1 to 3 do begin Befehl 1 Befehl 2 end; if k<10 then begin end else begin end; 3. Prozeduren dürfen nur an ihrem Ende verlassen werden. Fachgruppe Medieninformatik 5.11
12 5.4 Typen von Programmiersprachen Imperativ/Prozedurale strukturierte Programmierung (Pascal, Modula, C): Auszug aus einem Pascal-Programm: procedure writesum(x,y: integer); var z: integer; begin z=x+y; writeln(z); (= write line ) end; Weitere Beispiele siehe vorige Folie: for-schleife, if-then-else mit begin-end. Keine Verwendung von goto Strukturierte Programmierung mit Befehlsblöcken zwischen begin - end. Modularisierung: Programmierer definiert viele Prozeduren und Funktionen (Funktionen sind Prozeduren, die einen Wert an das Hauptprogramm zurückgeben. Bsp: sinus-funktion ). Lokale Variablen in Prozeduren, die nur dort definiert sind, verhindern Verwechslungen. Zeiger auf Variablen (in C sind das ganz direkt die Adressen der Daten im Speicher) erlauben dynamische Datenstrukturen Programmierer kann Variablen zu neuen Datentypen (record, struct) zusammenfassen. Beispiel in Pascal: type 3d_vector = record x,y,z: real; (real = Gleitkommazahlen) end; Pascal: Elegant, sehr präzise Definition von Variablentypen, v.a. in der Lehre verwendet C: Maschinennäher, dadurch sehr effizienter Code. Fachgruppe Medieninformatik 5.12
13 5.4 Typen von Programmiersprachen. Objektorientierte Programmierung: Probleme: In großen Softwareprojekten gibt es hunderte von Prozeduren und Funktionen. Es werden klare Schnittstellen zur Arbeitsteilung der Programmentwicklung benötigt Deshalb: Programm fasst Variablen zu Einheiten zusammen. Dies sind die Objekte. (Weiterentwicklung der Idee von struct-datentypen) Ein Typ von Objekten (z.b. Vektoren) heißt Klasse. Für jede Klasse werden spezifische Funktionen (Methoden) definiert. Es gibt abstrakte Operationen auf verallgemeinerten Klassen Diese werden für jede konkrete Klasse getrennt definiert Hierarchie von voneinander abgeleiteten Klassen mit Vererbung von Methoden Lokale Variablen innerhalb der Objekte sind gegebenenfalls von außen im Programm nicht zugänglich. Jeder Programmentwickler arbeitet an seinen Objekten, und diese können auf vordefinierte Weise interagieren. Fachgruppe Medieninformatik 5.13
14 5.4 Typen von Programmiersprachen. Objektorientierte Sprachen (C++, Java): Auszug aus einem C++-Programm: class Vector3D { float x, y, z; float norm();... } Bemerkung: { } entspricht begin-end main() { Vector3D u, v, w; v.x = 1; v.y = 0; v.z = 0; w.x = 0; w.y = 1; w.z = 0; u = v + w; if (u.norm() == 0) printf( Laenge 0 ); } Sprachelemente: Zusätzlich zu denen imperativer Sprachen: Klassen (hier: Vector3D) Objekte (hier: u,v,w): Entsprechen Variablen für einfache Typen Definition eigener Operatoren, hier: norm(), + Fokussierung auf grundlegende Konzepte der Software-Entwicklung: Modularisierung, Erweiterbarkeit, Wartbarkeit, Portabilität Programmierung der Objekte (Klassen und deren Methoden) tritt in den Vordergrund, Programmierung des Befehlsablaufes in den Hintergrund. Befehlsablauf oft nur durch Signale gesteuert, die die Objekte austauschen. Fachgruppe Medieninformatik 5.14
15 5.4 Typen von Programmiersprachen. Funktional (z.b. LISP, SML, Haskell): Auszug aus einem LISP- bzw. Scheme-Programm: (define (fakultaet n) (if (= n 0) 1 (* n (fakultaet(- n 1))))) Hauptgesichtspunkt: Definition von mathematischen Funktionen Ausführungsreihenfolge wird durch Abhängigkeit von Funktionen, insbesondere die Reihenfolge der Auswertung in den arithmetischen Ausdrücken, implizit festgelegt: Sprachelemente: Funktionen, hier fakultaet (Genauere Erklärung des Berechnungsverfahrens folgen später.) arithmetische Operationen, hier: - n 1 (Ergebnis: n 1). Dabei Präfix-Notation (Operator Operand1 Operand2). Kontrollstrukturen, hier: if-bedingung (bedingte Ausführung) keine sequentiellen Kontrollstrukturen Hinweis: Hier gibt es keine Variablen, Schleifen und Zuweisungen im imperativen Sinn Fachgruppe Medieninformatik 5.15
16 5.4 Typen von Programmiersprachen. Logisch/Prädikativ (z.b. Prolog): Auszug aus einem Prolog-Programm: umkreist(erde, sonne). (Faktum) umkreist(mars, sonne). planet(b) :- umkreist(b, sonne). (Regel) satellit(b) :- umkreist(b, P), planet(p).?- umkreist(erde, sonne). (Anfrage) Hauptgesichtspunkte: Prädikate, Regeln, Termersetzung Umsetzung der prädikatenlogischen Denkweise Sprachelemente: Fakten, Regeln, Anfragen Motivation: Künstliche Intelligenz durch formales Schließen Eigentliche algorithmische Struktur ist im Compiler Fachgruppe Medieninformatik 5.16
17 5.5 Programmierumgebung Compiler Sprachen: Benutzer tippt Programm ein Editor Quelltext mit Makros Präprozessor Lexikalische Analyse Syntaktische Analyse Semantische Analyse Code-Erzeugung Code-Optimierung Quellmodul Compiler Binärer Modul-Code Linker Fehlermeldungen Maschinen-Code Maschine Eingabe Debugger-Eingabe Debugger-Ausgabe Die Analyse-Stufen prüfen die Korrektheit des Programmcodes anhand der Sprachdefinition (s. Kap. 7 Formale Sprachen) Das ausführbare Programm (Maschinencode) kann aus mehreren binären Modulen bestehen (s. Absch. 6.16) Fachgruppe Medieninformatik 5.17
18 5.5 Programmierumgebung Editor: Ein Programm, in dem der Programmierende den Programmtext eingeben und bearbeiten kann. Das Ergebnis ist der Quell-Code im ASCII-Format (eine einfache Buchstabenfolge). Präprozessor bearbeitet automatisch den Quelltext: Einfügen von vordefinierten Quelltextblöcken (Headerdateien, Makros), Ersetzung von Namen durch andere. Ergebnis ist immer noch direkt lesbarer Code, nur länger und unübersichtlicher. Compiler: Scanner: Ersetzung der Operatoren, Namen, Schlüsselworte durch Zwischencode. Parser: Syntaktische Analyse, z.b. Klammerregeln in arithmetischen Ausdrücken. Code-Generator: Semantische Analyse und eigentliche Übersetzung in Assembler. Code-Optimierung zur Beschleunigung des Programms: Verwendung von Registern, Reihenfolge von Speicherzugriffen, Linker: Zusammenfügen des Maschinencodes mit anderen (eigenen oder vordefinierten) Code- Bestandteilen, z.b. Bibliotheken von mathematischen Funktionen. Assemblierer übersetzt den Assembler-Code schliesslich in ausführbare Maschinensprache. Fachgruppe Medieninformatik 5.18
19 5.5 Programmierumgebung Interpretierte Sprachen: Assembler Sprachen: Editor Editor Quelltext Interpreter Quelltext Assembler Maschinenbefehl Maschine Eingabe Debugger-Eingabe Fehlermeldungen Maschinen-Code Maschine Interpreter: Durchläuft den Quell-Code, übersetzt jeden Befehl in Maschinenbefehl(e) und führt diese direkt aus Beispiele: BASIC, Skriptsprachen (z.b. Perl, PHP, Python etc.) Assembler: Übersetzt eine Folge von Assembler-Befehlen in Maschinen- Code Assembler-Code: Lesbare Darstellung von Maschinencode Fachgruppe Medieninformatik 5.19
20 5.6 Zusammenfassung Wichtige Erkenntnisse und Inhalte dieses Abschnitts: Historie der Programmiersprachen Gliederung der Programmiersprachen höhere Programmiersprachen niedere Programmiersprachen Typen von Programmiersprachen Imperativ/Prozedural: Direkte Angabe von Berechnungsabläufen Objekt-Orientiert: Abstraktere Sicht auf anwendungsspezifische Daten Funktional: Mathematisch-funktional Logisch: Programmierung mittels Fakten und Regeln Fachgruppe Medieninformatik 5.20
III.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung
Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,
Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Definitionen/Vorarbeit zum Thema Java
Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript
Programmiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation
Einführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.
1 Einführung Programmiersprachen: Ermöglichen formale Beschreibung von Problemlösungsverfahren, die auf einem Computer oder Computersystemen ausführbar sind. Bilden die Basis zur Entwicklung von Software
Einführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren
Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik
Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.
Inhalt Algorithmus Euklidscher Algorithmus Sortieren Programmiersprachen Entwicklungsschritte eines Programms Algorithmen 1 Algorithmus Eindeutige Beschreibung eines allgemeinen Verfahrens unter Verwendung
1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Ein Zitat zu Beginn Vor der Wahl, ein theoretischer Physiker oder ein Programmierer
Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen
Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung
1.3 Geschichte der Programmiersprachen
50er Jahre erste Definition höherer Programmiersprachen Effizienz maßgebliches Designziel FORTRAN (Backus) als Sprache für wissenschaftliches Rechnen (komplexe Berechnungen, einfachen Daten), Arrays, Schleifen,
Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Einführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum
Programmiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -
Programmiersprachen: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =
Inhalt. Einführung in die Strukturierte Programmierung 15
Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird
2. JAVA-Programmierung. Informatik II für Verkehrsingenieure
2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie
Programmieren lernen mit Perl
Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete
Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen
Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18
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
Vorlesung Programmieren
Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache
Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen
Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache
Einführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
Propädeutikum Programmiersprache C und Mathematik 2014
Propädeutikum Programmiersprache C und Mathematik 2014 Fakultät für Mathematik und Informatik Universität Leipzig Dipl.-Inf. Stefan Freitag, URZ & UBL Stefan Freitag Einführungsveranstaltung Ziel und Zweck
Programmiersprache. Emily & rica
Programmiersprache Emily & rica inhaltsangabe Programmiersprache Def inition/funktion Arten Gängige Algorithmus/Syntax Compiler, Interpreter Def inition Unterscheidung Vor- und Nachteile Compiler/ Interpreter
Computergrundlagen Turingmaschinen und Programmierung
Computergrundlagen Turingmaschinen und Programmierung Jens Smiatek und Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2016/17 Was ist ein Computer? Ein Computer (Rechner oder
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
EIGENSCHAFTEN VON SPRACHEN
Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler EIGENSCHAFTEN VON SPRACHEN EWS, WS 2016/17, Pfahler C-1 Einführung Sprachen in der Informatik werden für bestimmte Zwecke
Javakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Programmierung Paradigmen und Konzepte
Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1
Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2. Proseminar - 1 -
Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2 Proseminar - 1 - Lernziele des Proseminars Wie komme ich zu gesicherten Ergebnissen? Stimmen Angaben? Andere Quellen? Neuere Entwicklungen?
6. Grundlagen der Programmierung
Computeranwendung in der Chemie Informatik für Chemiker(innen) 6. Grundlagen der Programmierung Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL6 Folie 1 Dr. Jens Döbler Grundlagen
Motivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in
Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 1. April, 2010 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
Grundlagen Internet-Technologien. Clientseitige Web-Programmierung
Clientseitige Web-Programmierung mit JavaScript Version 1.1 3.5.2010 1 aktuelles 2 clientseitige Web-Programmierung verschiedene Ansätze JavaScript Java Applet Adobe Flash Microsoft Silverlight RIA: rich
10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
Grundlagen der Informatik. Mathias Buhr
Grundlagen der Informatik 1 Übersicht - 2.Übung Rückblick 1. Übung Compiler prozedurale Programmierung in C Variablen Funktionen Kontrollstrukturen Literatur 2 Rückblick Information & Entropie Zahlensysteme
Stichworte zur Ideengeschichte der Programmiersprachen
Stichworte zur Ideengeschichte der Programmiersprachen Faculty of Technology [email protected] Vorbemerkung Diese Notzien dienen zur Erläuterung des O Reilly Posters über die Entwicklung
Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München
FORTRAN77 eine höllische Programmiersprache Christian Sternecker TU-München Sommersemester 2010 Aufbau des Vortrags Geschichte Merkmale Höllische Konzepte Typsicherheit Programmstruktur Speicherverwaltung
Programmierkurs II. C und Assembler
Programmierkurs II C und Assembler Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2003 1-1 Inhalt Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke
1 Funktionale vs. Imperative Programmierung
1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.
Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7
Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*
Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2
iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...
Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
Programmiersprachen und Programmierkonzepte
Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare
Funktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Historische Innovationen von Niklaus Wirth
Historische Innovationen von Niklaus Wirth Romain Schmitz 26. Januar 2006 Biografie 1934 geboren am 15. Februar, Schweiz 1959 Abschluss als Elektroingenieur 1963 Promotion, Berekley 1968 Professor an der
Programmiertechnik. Prof. Dr. Oliver Haase Raum G124 [email protected] Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1
Programmiertechnik Prof. Dr. Oliver Haase Raum G124 [email protected] Tel: 07531/206-150 Oliver Haase Hochschule Konstanz 1 Organisatorisches Vorlesung: montags, 8:00 9:30h, Raum C-109 freitags, 8:00
Einführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
6. Iteration (Schleifenanweisungen)
Schwerpunkte While-: "abweisende" Schleife 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java Do-while-: "nichtabweisende" Schleife For-: zählergesteuerte Schleife Klassifikation
C für Java- Programmierer
Carsten Vogt C für Java- Programmierer mit 59 Bildern, 36 Tabellen und 35 Aufgaben HANSER Inhalt 1 Einführung 13 Schnelleinstieg 14 1.1 C und Java von den Anfängen bis heute 15 1.1.1 Die Entwicklung von
Grundlagen der Programmierung 2 (1.A)
Grundlagen der Programmierung 2 (1.A) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 18. April 2007 Grundlagen der Programmierung 2: Geplanter Inhalt der ersten Hälfte
Von der Chomsky-Hierarchie
Von der Chomsky-Hierarchie zur Backus-Naur-Form Ein Beitrag der Theoretischen Informatik zum Siegeszug des Computers Referat von Helmut Schnitzspan Im Rahmen des Seminars Von der EDV zu Facebook Alexander
6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
C-Grundlagen. Einführung von Tronje Krabbe 1/21
C-Grundlagen Einführung von Tronje Krabbe 1/21 Gliederung Hintergrund Geschichte Nutzungsgebiete C-Derivate Syntax Compiler Beispielcode 2/21 Was ist C? C ist eine imperative, kompilierte Programmiersprache
ATIK ORMAT SINFO HAFTS WIRT. Swetlana Konovalov Seminar Programmiersprachen Westfälische Wilhelms-Universität Münster
Westfälische Wilhelms-Universität Münster WIRTSCHAFTS ATIK ORMAT SINFO TSCH HAFTS WIRT FORTRAN Swetlana Konovalov Seminar Programmiersprachen 04.06.200906 Inhalt Einführung Historische Entwicklung Charakteristika
Bru ckenkurs Programmieren
Bru ckenkurs Programmieren Tag 1: Variablen und Verzweigungen Jakob Czekansky Technische Hochschule Mittelhessen 26. September 2016 Inhalt Organisatorisches Einleitung: Was ist Programmieren? Hello World
C für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
2. Einführung. Informatik II für Verkehrsingenieure
2. Einführung Informatik II für Verkehrsingenieure Überblick ZIEL DER EINFÜHRUNG Was ist Informatik Historische Entwicklung von Programmiersprachen 2 Was ist Informatik? 3 Was ist Informatik? FRANZÖSISCH
Programmierung unter GNU/Linux für Einsteiger
unter GNU/Linux für Einsteiger Edgar Fast Edi Hoffmann Community FreieSoftwareOG [email protected] 7. September 2016 Begriffserklärung 2 / 35 Begriffserklärung Programmierung (von griechisch
Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung
Berichte aus der Informatik Dieter Pawelczak Start in die C-Programmierung Shaker Verlag Aachen 2012 Inhaltsverzeichnis Inhaltsverzeichnis i 1 Einleitung 1 1.1 Umfeld und Aufbau des Buches 1 Die Programmiersprache
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)
Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden
Gliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme
Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,
