Computergrundlagen Programmieren Fortran77/90
|
|
|
- Sofia Schmidt
- vor 8 Jahren
- Abrufe
Transkript
1 Computergrundlagen Programmieren Fortran77/90 Maria Fyta Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13
2 Was sind Programme? In dieser Vorlesung: Python, C, Fortran, L A TEX, bash Sind das alle Typen von Programmiersprachen? Wie kann man Programmiersprachen klassifizieren? Kein Prozessor versteht Python-, C-, Fortran- oder Shell-Befehle Was muss alles passieren, um ein Programm laufen zu lassen? Wie wird aus unserem Programm etwas, dass der Prozessor ausführen kann?
3 Was soll das Program leisten? Zum Beispiel eine Liste sortieren Echtzeitanalyse von Messwerten Computersimulation eines Moleküls Top-down Analyse schrittweises Zerlegen in Teilprobleme gibt Einsicht in die Komplexität Welche Teile gibt es schon? Bibliotheken,... Wer kann mir helfen? Wer hat Erfahrung mit ähnlichen Problemen? Aufwandsabschätzung Lohnt sich das Programmieren überhaupt?
4 Methodenwahl Wahl der Rechenstrukturen/Algorithmen aufteilen in möglichst kleine sinnvolle Einheiten möglichst allgemein formulieren wiederverwendbar welche bekannten Algorithmen kann ich benutzen? Wahl von Datentypen und -strukturen Ganz-, Fließkommazahlen, Strings,... Listen, Tupel, Wörterbücher, Klassen Datenbanken Wahl der Programmiersprache Skriptsprachen für Automatisierung und kleine Aufgaben Compilersprachen für sehr rechenaufwändige und oft wiederkehrende Aufgaben
5 Implementation Programmieren modular programmieren: Teilprobleme in getrennten Funktionen, Modulen, Klassen Probleme von außen nach innen bearbeiten (Top Down) Kommentare nicht für Reservecode missbrauchen Dokumentieren schon während des Programmierens Kommentare im Code und Anleitung/Hilfe Testen (Benchmarking) möglichst einzelne Teile getrennt testen so früh wie möglich Tests müssen schnell ausführbar sein
6 Testen des Programms Funktion des Programms generische Fälle prüfen, etwa Zufallszahlen Extremwerte: leere Eingabe, 0, Grundzustand,... Beispiele mit bekannter Lösung (benchmarking) z.b. harmonischer Oszillator, ideales Gas,... bekannte implizite Eigenschaften z.b. Energieerhaltung,... Fehlerbehandlung alle Fehlermeldungen sollten in Tests ausgelöst werden Verhalten bei nicht erlaubten Eingaben überprüfen Effizienz Laufzeit des Programms bei generischer Eingabe Fest- und Hauptspeicherbedarf
7 Programmiersprachen Imperative Sprachen Beispiele: Python, C, Fortran, Shell, BASIC... Die meisten Sprachen sind imperativ Programme erklären, wie ein Problem gelöst werden soll Umsetzung des von Neumann-Rechners: Befehle und Schleifen prozedural heißen Sprachen, die Prozeduren kennen Beispiele: alle außer einfachem BASIC Deklarative Sprachen Keine von Neumann-artigen Befehle, kein innerer Zustand Rekursion anstatt Schleifen funktional, basierend auf Funktion im mathematischen Sinn Beispiele: Haskell, Erlang, Scheme... logisch, basierend auf Fakten, Axiomen und logischer Ableitung Beispiele: Prolog
8 Objektorientierte Sprachen Person +name: String +getname(): String +gettitel(): String Dozent -vorlesungen: Liste von Vorlesungen +haltevorlesung(vorlesung:vorlesung) +halteprüfung(vorlesung:vorlesung): Note +gettitel(): String Student +kurs: Kurs +vorlesungen: Liste von Vorlesungen +hoertvorlesung(vorlesung:vorlesung) +macheprüfung(vorlesung:vorlesung) +gettitel(): String Objektorientierung ist ein sprachunabhängiges Programmiermodell Ziel ist die bessere Wartbarkeit und Austauschbarkeit von Software durch starke Isolation von Teilproblemen Speziell darauf ausgelegt sind z.b. C++, Java, Python,...
9 Terminologie Klasse: beschreibt Eigenschaften und Methoden von Objekten Beispiel: Klassen sind z.b. Dozent, Student, Person Objekt: eine Instanz einer Klasse. Ein Objekt hat stets eine Klasse, aber es kann viele Instanzen geben Beispiel: Axel Arnold ist ein Dozent, Maria Fyta auch Eigenschaften: Datenelemente von Objekten Beispiel: Dozent hat Name, Titel und zu haltende Vorlesungen Methoden: Funktionen einer Klasse Beispiel: Personen können ihren Namen sagen Datenkapselung: Eigenschaften werden nur durch Funktionen der Klasse verändert Beispiel: der Name einer Person kann nicht geändert werden Vererbung: Klassen können von anderen abgeleitet werden, erben dadurch deren Eigenschaften und Funktionen Beispiel: Jede Person hat einen Namen
10 Interpreter- und Compilersprachen Python-Skript interpretiert Python-Interpreter produziert Ausgabe C-Quellcode übersetzt C-Compiler+Linker erzeugt Binärprogramm produziert Ausgabe Interpretersprachen Z.B. Python, Java, C#, Basic, PHP, Shellsprachen Das Programm wird vom Interpreter gelesen und ausgeführt Es wird nie in Maschinencode für den Prozessor übersetzt Ausnahme: Just-in-Time (JIT) Compiler
11 Interpreter- und Compilersprachen Python-Skript interpretiert Python-Interpreter produziert Ausgabe C-Quellcode übersetzt C-Compiler+Linker erzeugt Binärprogramm produziert Ausgabe Z.B. C/C++, Fortran, Pascal/Delphi Compilersprachen Compiler übersetzt in maschinenlesbaren Code Nicht portabel, erschwerte Fehlersuche, deutlich schneller Interpreter selbst müssen compiliert werden
12 Vom Sourcecode zum Programm programm.c Präprozessor Assembler Compiler Parser Objekt-Datei Zwischencode-Generator Optimierer Linker Binärprogramm Code-Generator Ein Programm durchläuft viele Schritte bis zur fertigen ausführbaren Datei Präprozessor, Compiler, Assembler und Linker sind meist separate Programme meist mehrere Objektdateien aus verschiedenen Quelltextdateien
13 Vom Sourcecode zum Programm programm.c Präprozessor Assembler Compiler Parser Objekt-Datei Zwischencode-Generator Optimierer Linker Binärprogramm Code-Generator Präprozessor Im Prinzip sprachunabhängig, rein textbasiert Bindet weitere Quelltextdateien ein Erlaubt den Einsatz von Makros (Ersetzungen) Beispiel: TEST(...) wird überall durch if (...) ersetzt
14 Der Compiler Parser übersetzt den Quellcode in einen Syntaxbaum = a = 2 b + 3 c a + int 3 c int 2 b Zwischencode-Generator erzeugt daraus Pseudocode, etwa: r1 = b r2 = r1 2 r3 = c r4 = r3 3 r5 = r2 + r4 a = r5 Optimierer versucht, diesen zu verbessern, z.b. durch Prozessorregisterzuweisung Einfügen kurzer Funktionen, Entrollen von Schleifen Suche nach gemeinsamen Termen,... Code-Generator erzeugt Assembler aus dem Zwischencode
15 Der Assembler programm.c Präprozessor Compiler Parser Zwischencode-Generator Optimierer Code-Generator Assembler Objekt-Datei Linker Binärprogramm obj1.o:... call 0000 Defined: Undefined: blupp obj2.o:... Defined: blupp Undefined: Der Assembler erzeugt eine Objektdatei mit Maschinencode den Speicherpositionen von globalen Variablen und Funktionen Stellen, an denen Stellen Information über solche Positionen aus andere Objektdateien benötigt wird
16 Der Linker programm.c Präprozessor Compiler Parser Zwischencode-Generator Optimierer Code-Generator Assembler Objekt-Datei Linker Binärprogramm obj1.o:... call 0000 Defined: Undefined: blupp obj2.o:... Defined: blupp Undefined: Verbindet mehrere solcher Objektdateien zu einer ausführbaren Datei (Binary) oder einer Bibliothek Bibliotheken sind Sammlungen von Objektdateien Der Linker verbindet Zugriffe zwischen Objektdateien Nur wenn alle Zugriffe aufgelöst wurden, entsteht ein Binary
17 Dynamisches Linken programm.c Präprozessor Compiler Parser Assembler Objekt-Datei obj1.o:... call 0000 Defined: Undefined: blupp Zwischencode-Generator Optimierer Code-Generator Linker Binärprogramm obj2.o:... Defined: blupp Undefined: Beim dynamischen Linken wird das Linken gegen die Bibliotheken erst beim Starten des Programms erledigt. Dadurch können Teile des Programms geupdated werden Und mehrfach benutzte Bibliotheken werden nur einmal geladen Erfordert spezielle dynamische Bibliotheken (.so,.dylib oder.dll)
18 Programmiersprache Fortran (77/90) Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: [ G. Schmitt (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München W. Brainerd, C. Goldberg and J. Adams (1996): Programme s Guide to Fortran 90, Springer Verlag M. Kallweit & F. Kindermann, Crashkurs Fortran
19 Fortran (FORmula TRANslation) Geschichte die erste jemals tatsächlich realisierte höhere Programmiersprache (1953: J.W. Backus IBM) Fortran ist eine prozedurale und in ihrer neuesten Version zusätzlich eine objektorientierte Programmiersprache Fortran wird insbesondere für numerische Berechnungen eingesetzt mehrmals erweitert (FORTRAN I, FORTRAN II, FORTRAN IV, FORTRAN-66, FORTRAN-77, Fortran 90, Fortran 95, Fortran 2000, Fortran 2003, Fortran 2008 und zuletzt Fortran 2010) zahlreiche Sprachelemente wurden aus später entstandenen Programmiersprachen übernommen verschiedene Varianten; darunter HPF (high performance Fortran)
20 Eigenschaften für numerische Berechnungen vorgesehen und optimiert; umfangreiche Bibliotheken restriktiver als C und kann leichter optimiert werden Potenz-Operator ** (in vielen Hochsprachen nicht vorhanden) Fortran90: Vektor- udn Matrix-Operationen wurden standardisiert Compiler unterscheidet nicht zwischen Groß- und Kleinschreibung (case insensitive") Ab Fortran90 ist die dynamische Speicherverwaltung standard Compiler Kommerzielle: IBM SUN, HP, Intel, Absoft, PGI, NAG Freie: GNU Fortran, OpenWatcom Transcompiler(f2c): Übersetcung von Fortran77 in C (NAG benutzt als Zwischensprache C) ftnchek Programmierwerkzeug für eine separate Prüfung der Übereinstimmung von Argumentlisten
21 Namensyntax Keine Schlüsselwörter (z.b. program, integer, real, do, if, else,...) dürfen verwendet werden. Ein Name darf in Fortran bis zu 31 Zeichen lang sein und muss mit einem Buchstaben beginnen. Für die auf das erste Zeichen folgenden Zeichen dürfen alle alphanumerischen Zeichen sowie Unterstriche verwendet werden. Programmstruktur Programmkopf: program <Programmname> Deklarationsteil: besteht aus einer Reihe von Konstanten- und Variablenvereinbarungen. Anweisungsteil: eine strikte Aneinanderreihung von auszuführenden Befehlen (kann mit Hilfe von Flussdiagrammen modelliert werden); Zeilennummern können auf Anweisungen hinweisen Programmende:end program <Programmname>
22 Program Beispiele Hello World program hello write (*,*) Hello World! end program hello Umrechnungstabelle: Fahrenheit nach Celsius program celsius_table implicit none real :: Fahrenheit, Celsius write (*,*) Fahrenheit Celsius write (*,*) do Fahrenheit = 30.0, 220.0, 10.0 Celsius = (5.0/9.0) * ( Fahrenheit -32.0) write (*,*) Fahrenheit, Celsius end do end program celsius_table
23 Variablendeklaration Variablen: standardmäßig über ihren Anfangsbuchstaben deklariert Bezeichner die mit einem Charakter von i-n beginnen stehen für eine INTEGER-Variable oder einen INTEGER-Funktionswert alle übrigen Bezeichner stehen für REAL-Werte Änderung der Vordefinition von Variablen: implicit <Variablentyp> <Variablenbereich> Beispiele IMPLICIT NONE: keine implizite Deklaration. Durch diesen Befehl müssen alle benutzten Variablen explizit definiert werden IMPLIZIT CHARACTER(LEN=20) (H-I,L-N): alle nichtdeklarierte Bezeichnet, deren erster Buchstabe H-I oder L-N ist, bezeichnet ein Zeichen IMPLICIT COMPLEX (x,c,z) : alle nichtdeklarierten Bezeichner, deren erster Buchstabe x oder c oder z ist, bezeichnen komplexe Zahlen IMPLIZIT REAL*8 (A-F): alle nichtdeklarierten Bezeichner, deren erster Buchstabe A-F ist, bezeichnen reelle Zahlen
24 Deklarationen Variablentypen und-wertebereiche Datentyp Erweiter. Erläuterung Wertebereich logical integer ganze Zahlen ( ) - (2 7 +1) ganze Zahlen ( ) - ( ) (Standard) ganze Zahlen ( ) - ( ) real *4 (Standard) reelle Zahlen *8 reelle Zahlen character (Standard) einzelnes Zeichen alle möglichen Zeichen (LEN=x) Zeichenkette Länge x alle möglichen Zeichen Quelle: M. Kallweit & F. Kindermann, Crashkurs Fortran, Uni. Würzburg Variablenvereinbarung: <Variablentyp> :: <Variable> Konstantenvereinbarung: parameter (<Variable>=<Variablenwert>,...)
25 Eingabe/Ausgabe Open/Close open (unit,file,status,action,iostat) unit=<unitnumber>: eine nichtnegative integer-zahl file=<dateiname>: Dateiname in Form einer Zeichenkette mit den entsprechenden Anführungs und Schlusszeichen status=<schlüsselwort>: Zustand der Datei. Optionen: old, new, unknown, replace, scratch action=<aktionsangabe>: was mit der Datei geschehen soll. Optionen: read, write readwrite iostat=<name einer Variablen vom Datentyp integer>) : wie erfolgreich das Betriebssystem, eine Verknüpfung zwischen der unit number und der angegebenenen Datei auf der Festplatte herstellen konnte (reibungslos Rückgabewert=0)
26 Eingabe/Ausgabe Open/Close close (unit=<unit number> oder close <unit number> Delete option: close (unit=<unit number>,status= delete Standard input: 5 und 100 Standard output: 6 und 101 Standard error: 0 und 102
27 Read/write/close read(unit,file,error,iostat,slist) write(unit,format,iostat) close(unit) slist:iostat, status, err, form, blank,... Falls keine unit für read gegeben, erzeugt z.b. write(20,*) eine fort20.dat Datei. Option end Beispiel: read(10,*,end=100) read am Ende der Datei wird die Anweisung mit Zeilennummer 100 in der Quelldatei durchgeführt (z.b. 100 print*, end of file ). Print print*, Text, Variable [Ausgabe nur auf dem Bildschirm.]
28 Lesen und schreiben read(*,*)<variable> write(*,*)<variable> write(*,*) <Text> write(*, (f6.3) )<Variable> Formatierungsbefehle Liest den vom Benutzer einzugebenden Wert der <Variable> von der Konsole ein Schreibt den Wert der <Variable> unformatiert auf die Konsole Schreibt den eingegebenen <Text> auf die Konsole Schreibt den Wert der <Variable> im Format f6.3 auf die Konsole i4 : Integerzahl mit maximal 4 Stellen a7 : Character mit maximal 7 Stellen f6.3 : Realzahl mit insgesamt 6 Stellen (inkl. Trennzeichen) und 3 Nachkommastellen 3x : 3 Leerzeichen
29 Wertzuweisungen Befehl: <Variable>=<Variablenwert> Der <Variablenwert> muss nicht unbedingt eine feste Zahl/Zeichenkette sein. Er kann sich genauso aus der Verknüpfung meherer anderer Variablen zusammensetzen. Beispiele: x=3 x=y*exp(z) x=y+z+abs(c) a=b+sqrt(c) a=max(b,c) d=mod(3,2)*sign(-1)...
30 Kontrollstrukturen Schleifen do-schleifen realisieren die Wiederholung von Anweisungen Befehl: do <Laufindex>=<von>,<bis>(,<Schrittweite>) <Anweisungsblock> enddo Standardmässig ist als Schrittweite 1 eingestellt. Beispiel: do i=2,5 write(*,*) i,i**i,log(i) enddo
31 Kontrollstrukturen Verzweigungen Sollen Anweisungen nur unter einer Bestimmten Bedingung ausgeführt werden, so können diese Anweisungen in ein if-statement geschrieben werden. Befehl1: if(<bedingung1>)then (elseif(<bedingung2>)then ) else <Anweisungsblock3>) endif Befehl2: alternativ: if(<bedingung>)<anweisung>
32 Verzweigung - Beispiele if(i.ge.0)then param=1 else param=2 endif Wenn i größer als 0 ist, dann nimmt param1 die Zahl 1 j=1; sum=0 do summe=summe+j ; j=j+1 if(j.gt.i)exit enddo
33 Unterprogramme [Unterprogramme müssen deklariert werden] SUBROUTINE Programmabschnitte können definiert werden, die in einem Programm mehrmals in gleicher Form verwendet werden können. Programmabschnitte können definiert werden, die in einem Programm mehrmals in gleicher Form verwendet werden können die Übergabe von Variablen ist möglich besitzt jedoch keinen Rückgabewert FUNCTION dient zur Berechnung eines Wertes an eine Funktion können mehrere Werte übergegeben werden, die zur Bestimmung des Funktionswerts benötigt werden. alle eingegebene Variablen müssen deklariert werden
34 Unterprogramme - Befehle SUBROUTINE subroutine <Subroutinenname>((<Variable1>,...)) <Variablendeklaration> <Programmabschnitt> end subroutine <Subroutinenname> FUNCTION <Variablentyp> function <Funktionsname>((<Variable1>,...)) <Variablendeklaration> <Werteberechnung> end function <Funktionsname>
35 SUBROUTINE: Beispiel subroutine sum1(a,b) integer a,b b=b+a print*,a,b end subroutine sum1 FUNCTION: Beispiel integer function sum1(a,b) integer :: a,b sum1=a+b end function sum1
36 Aufruf von SUBROUTINE und FUNCTION!sum.f90!Performs summations and saves input and summation in a file program summation implicit none integer :: sum, a, sum1 print*, This program performs summations. Enter 0 to stop. open(unit=10, file= sum.dat") sum = 0 do print*, "Value:" read*, a if (a == 0) then exit else call sum1(a,sum)!<== subroutine call sum=sum1(sum,a)! <== function call end if write(10,*) a end do print*, Sum =", sum write(10,*) Sum =", sum close(10) end program summation
37 Sonstige Anweisungen call system ((<Variable1>,...)) : durchführt einen Befehl des Betriebsystems COMMON block (Fortran77), Module (Fortran90): Informationen zwischen einzelnen Programmeinheiten (Hauptprogramm und Unterprogrammen) teilen und austauschen Beispiel: π module kreiszahl implicit none save real, parameter :: pi = end module kreiszahl subroutine kreisumfang (r,u) use kreiszahl usw...
38 Sonstige Anweisungen Do while: Anweisungsblock ausgeführt wenn logischer Ausdruck den Wert.true. aufweist ; dann erneut geprüft do while (< logischer Ausdruck >) Anweisungsblock end do program do_while implicit none integer :: i = 1, n = 1 do while (write (*,*) i, n n = n + i i = i + 1 end do end program do_while Go to (Fortran77), cycle (Fortran90) realisiert bedingungsabhängige Sprünge innerhalb des Anweisungsteils einer Programmeinheit
39 Sonstige Anweisungen ALLOCATABLE/ALLOCATE/DEALLOCATE: dynamische Speicherzuweisung MODULE data_array INTEGER n REAL, DIMENSION(:,:,:), ALLOCATABLE :: data END MODULE PROGRAM main USE data_array READ (input, *) n ALLOCATE(data(n, 2*n, 3*n), STAT=status) : DEALLOCATE (data)...und vieles mehr...
40 Frohe Weinachten und einen guten Rutsch!!!
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,
PROGRAMMIERKURS FORTRAN
Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert,
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
Grundlagen der Fortran Sprache
Kapitel 1 Grundlagen der Fortran Sprache Programmieren bezeichnet das Verfahren, in einer bestimmten Sprache (Syntax) Anweisungen (sog. Quellcode) für den Computer zu schreiben. Dieser Programmcode wird
Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München
MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):
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
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
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)
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)
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)
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
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
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
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
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
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Programming 101. Carl Herrmann IPMB & DKFZ
Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen
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
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,
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Computergrundlagen Programmieren in C
Computergrundlagen Programmieren in C Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2013/14 Die Sprache C D. M. Ritchie, 1941 2011 Entwickelt 1971-1973 aktueller Standard:
2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
Einführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
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
1.3 Handhabung eines Programmiersystems
1.3 Handhabung eines Programmiersystems Der Turbo-Pascal-Editor Man muss nichts vom Innenleben eines Computers verstehen, um mit ihm umgehen zu können. Wir wollen ihn als "black box" verwenden, also lediglich
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
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
Fortran 90. Lehr- und Handbuch von Dr. Thomas Michel Sietec Consulting GmbH & Co. OHG, München. Wissenschaftsverlag Mannheim Leipzig Wien Zürich
Fortran 90 Lehr- und Handbuch von Dr. Thomas Michel Sietec Consulting GmbH & Co. OHG, München Wissenschaftsverlag Mannheim Leipzig Wien Zürich VII Vorwort.V ERSTER TEIL INFORMATIK FÜR PROGRAMMIERER 1 1
Übung 01 Harmonischer Oszillator
Übung 01 Harmonischer Oszillator 1 1 Dokumentation des harmonischen Oszillator 1.1 Physikalischer Hintergrund Das vorliegende Programm löst die diskrete Bewegungsgleichung eines Teilchens in einem harmonischen
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
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
Funktionen in Matlab. Nutzerdefinierte Funktionen können in.m-datei gespeichert werden
Funktionen in Matlab Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
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
Syntax der Sprache PASCAL
Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +
Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
Inhaltsverzeichnis I Grundlagen...1 II Programmieren in C/C
I Grundlagen...1 1 Grundprinzipien der Datenverarbeitung...2 1.1 Historische Entwicklung der Datenverarbeitung...2 1.1.1 Von A wie Abakus bis Z wie Zuse...2 1.1.2 Die Rechnergenerationen...3 1.1.3 Computer
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
Programmentwicklung. 4. allgemein (modularer Aufbau, Unterprogramme universell einsetzbar)
Programmentwicklung Ziele: 1. effizient (wenig Rechenzeit und Kernspeicher) 2. lesbar (Kommentare, sinnvolle Namen) 3. transportabel (Standard FORTRAN, rechnerunabhängig) 4. allgemein (modularer Aufbau,
Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
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
Einführung in die Computerlinguistik Einführung in Perl (1)
Einführung in die Computerlinguistik Einführung in Perl (1) Dozentin: Wiebke Petersen 26.11.2009 Wiebke Petersen Einführung CL (WiSe 09/10) 1 Compiler Ein Compiler (auch Übersetzer oder Kompilierer genannt)
Programmieren in Fortran
Programmieren in Fortran Burkhard Bunk 6.3.2013 1 Fortran Fortran ist die älteste höhere Programmiersprache für numerische Anwendungen: die erste Version entstand 1954 bei IBM. Schon frühzeitig wurde ein
Klassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
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
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
Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
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
Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
WS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Vorlesung Informatik I
Vorlesung Informatik I Universität Augsburg Wintersemester 2010/2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik Programmieren in C Der Compilierungsprozess 1 Aufbau eines C-Programms 1. Direktiven
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
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
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
Programmiervorkurs Einführung in Java Tag 1
Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,
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
Bash-Skripting Linux-Kurs der Unix-AG
Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian
1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.
Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten
TURBO PASCAL VERSION 5.5
Jörg Lange TURBO PASCAL VERSION 5.5 / Hüthig Buch Verlag Heidelberg 7 Inhaltsverzeichnis 1. DasTURBO-Pascal-System 13 1.1 Starten des TURBO-Pascal-Systems 13 1.2 DasTURBO-Pascal-Menue-System 17 1.3 DasF)ILE-Menue
Schleifenprogrammierung in C/C++, Fortran und Pascal
Schleifenprogrammierung in C/C++, Fortran und Pascal Stefan Ackermann Mathematisches Institut der Universität Leipzig 8. April 2009 1 Die kopfgesteuerte Schleife Bei der kopfgesteuerten Schleife steht
Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss
Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Vorlesung Informatik I
Vorlesung Informatik I Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. Programmieren in C Der Compilierungsprozess 1 Aufbau eines C-Programms 1. Direktiven
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
Einführung in die Funktionale Programmierung
Einführung in die Funktionale Programmierung Am Beispiel von OCaml Michael Dienert 12. Oktober 2018 Inhaltsverzeichnis 1 Welche funktionale Sprache wählen wir? 2 1.1 Welche funktionale Sprache soll ich
Übungszettel 2a - Python
Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert
INFORMATIK TEIL: VBA. Infromatik WS 17/18 Teil: VBA. Allgemeines: - 4 Übungen á 3 Stunden
INFORMATIK TEIL: VBA Allgemeines: - 4 Übungen á 3 Stunden - Studienleistung: o Anwesenheitspflicht während der Übungen o Abgabe und Anerkennung von Übungsaufgaben (HA1, HA2). Die Abgabe muss spätestens
3. Methodik der Programmerstellung
3. Methodik der Programmerstellung 3.1 Vorgehen 3.2 Programmerstellung 3.2.1 Konventionen 3.2.2 Schlüsselwörter und Bezeichner 3.2.3 Fehlertypen 3.2.4 Programmierstil 3.3 Formaler Aufbau eines Pascal-Programms
Programmieren für Fortgeschrittene Einführung in die Programmiersprache ABAP
Funktionsanalyse für einen programmgesteuerten Zugriff auf 3D-Modelle Robin Raetze Waldemar Gorbunov Braunschweig, 26.01.2017 GESIS, MV, Folie 1, Braunschweig, 23. Juni 2016 Programmieren für Fortgeschrittene
Einstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
WS2017/ Oktober 2017
Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Algorithmik und Programmieren
Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at
Lösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
ECDL MODUL COMPUTING. Syllabus Version 1.0
ECDL MODUL COMPUTING Syllabus Version 1.0 DLGI Dienstleistungsgesellschaft für Informatik Am Bonner Bogen 6 53227 Bonn Tel.: 0228-688-448-0 Fax: 0228-688-448-99 E-Mail: [email protected], URL: www.dlgi.de In
Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
Praxisorientierte Einführung in C++ Lektion: "Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm)"
Praxisorientierte Einführung in C++ Lektion: "Die -Chain (Vom zum ausführbaren Programm)" Christof Elbrechter Neuroinformatics Group, CITEC April 19, 2012 Christof Elbrechter Praxisorientierte Einführung
Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
Dateneingabe und Transformation Übersicht
Dateneingabe und Transformation Übersicht 2.0 Allgemeine 2.1 Eingabe über die 2.2 2.3 Eingabe eines externen ASCII-Files 2.4 Varianten der INPUT-Anweisung, Formatierungselemente 2.5 Ein- und Ausgabe von
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
Ü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
