Schnellkurs in UNIX. Einführung in das Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN

Größe: px
Ab Seite anzeigen:

Download "Schnellkurs in UNIX. Einführung in das Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN"

Transkript

1 Einführung in das Programmieren für Technische Mathematik Einführung in C, Teil 1 Schnellkurs in UNIX DI Samuel Ferraz-Leite Prof. Dr. Dirk Praetorius Prof. Dr. Christoph Überhuber Betriebssystem Login am UNIX-System Wichtigste Programme für EPROG Wichtigste UNIX-Dateibefehle Fr. 10:15-11:45, Freihaus HS 1 Institut für Analysis und Scientific Computing 1 Betriebssystem? Der Rahmen, in dem Programme auf Rechner ausgeführt werden können z.b. Windows XP, UNIX Abstraktion der Hardware auf geeignete Software-Schnittstellen Software läuft auf verschiedenen Rechnern Verwaltung der angeschlossenen Hardware UNIX Entwicklung der ersten UNIX-Version bei Bell Laboratories durch Ritchie und Thompson UNIX wird in eigens entwickelter Sprache C geschrieben UNIX-Code ist frei (kostenloses Betriebssystem!) PC-Variante nennt sich Linux Heute Standard auf Großrechnern Mehrbenutzerbetrieb Multitasking Mehrprozessoren-Unterstützung Literatur M. Harlander: Einf. in UNIX (pdf auf Homepage) UNIX ist textbasiert Shell = Befehlsfenster mit Textprompt z.b. bash, sh, ksh manchmal auch Begriff X-Term (= Shell) Anders als Windows werden die Programme in UNIX i.d.r. durch Eingabe eines Befehls in einer Shell gestartet Man muss die wichtigsten Befehle kennen! Maus-Bedienung ist i.d.r. nicht möglich! Befehl xterm & öffnet weiteres Shell-Fenster Werbung für CYGWIN cygwin = freier UNIX-Emulator für Windows Download unter Unter cygwin stehen zur Verfügung ssh = Remote Login auf UNIX-System scp = Kopieren von Software von/auf anderes UNIX-System gcc = C-Compiler für Übungen emacs = guter Texteditor Wichtiges zum Start: cygwin startet im Textmodus Eingabe von startx eröffnet Möglichkeit, weitere Fenster zu öffnen (sog. graphisches Arbeiten) 3

2 Login auf einem UNIX-System Remote Login von UNIX aus Immer nötig: Eingabe von Username & Passwort Accounts auf lva.student.tuwien.ac.at Username: e + Matrikelnummer Passwort: wie bei TUWIS 3 Varianten für Login lokales Login am Terminal triviales Login remote Login über Internet von UNIX aus wichtigste Variante für Übungen remote Login über Internet von Windows aus Bitte beachten: UNIX ist case sensitive, d.h. Groß- und Kleinschreibung werden unterschieden Keine deutschen Sonderzeichen verwenden, da Systeme i.d.r. englische Zeichencodierung Ausgangspunkt: bereits Shell geöffnet auf einem UNIX-System Eingabe der folgenden Befehle in der Shell ssh -X username@rechnername oder ssh -X rechnername -l username Option -X erlaubt graphisches Arbeiten, d.h. kann remote Programme starten, die im lokalen Fenster arbeiten Nach korrekter Passworteingabe erscheint im selben Shell-Fenster die Eingabeaufforderung des Remote-Rechners Alle ab jetzt eingegebenen Befehle werden also auf Remote-Rechner ausgeführt! Logout vom Remote-Rechner durch Eingabe von logout oder exit 4 5 Die wichtigsten Programme für EPROG Remote Login von Windows aus Nur mit Zusatzsoftware möglich, z.b. /SSHSecureShellClient-3..9.exe Im allgemeinen kein graphisches Arbeiten möglich, d.h. alle Arbeiten nur im Textfenster! Ggf. also mehrfach auf lva.student.tuwien.ac.at einloggen, um mehrere Text-Fenster zu haben. Eingabe der folgende Befehle in einer Shell emacs = Texteditor Wenn graphisches Arbeiten möglich, startet emacs im eigenen Fenster Aufruf mit emacs & erlaubt weiteres Arbeiten in Shell (Symbol & = Multitasking-Aufruf in UNIX) gcc = Standard-C-Compiler, der für Übung verwendet werden muss matlab startet Matlab-Interpreter inkl. graphischer Oberfläche + Editor (wie im Skript) matlab -nojvm startet Matlab in Shell 6 7

3 UNIX-Dateisystem Aufbau wie in Windows: Verzeichnisse + echte Dateien Verzeichnisse sind im Baum geordnet in Windows mittels Explorer visualisierbar in UNIX muss sich Benutzer i.d.r. textbasiert zurechtfinden Nach Login ist man stets im eigenen Home-Verzeichnis pwd (print working directory) gibt aus, in welchem Verzeichnis man (= Shell) aktuell ist cd (change directory) ohne Angabe wechselt ins eigene Home-Verz.. = Abkürzung für aktuelles Verzeichnis.. = Abkürzung für eine ebene höher ~ = Abkürzung für eigenes Home-Verz. Beispiel: Es gäbe Verz. /home/dirk/eprog/vo Nach Login bin ich in /home/dirk/ cd eprog wechselt nach /home/dirk/eprog cd vo wechselt dann nach /home/dirk/eprog/vo cd.. wechselt dann nach /home/dirk/eprog cd.., cd, cd ~ wechselt dann nach /home/dirk nur im eigenen Home-Verzeichnis + Unterverzeichnissen hat man Schreib- und Leserechte! Die wichtigsten Befehle ls = List (Verzeichnis-Inhalt ausgeben) mkdir = Make Directory rmdir = Remove Directory cp = Copy (Files) cp -r = Copy (Directories) mv = Move (Files & Directories) rm = Remove (Files) rm -rf = Remove (ohne Rücksicht, inkl. Verz.) Vorsicht, es gibt keinen Papierkorb in UNIX! d.h. gelöscht ist gelöscht! Dateinamen Namen für Dateien & Verz. (max. 53 Zeichen) Buchstaben, aber keine dt. Sonderzeichen Ziffern Underscore ( ), Punkt (.), Minuszeichen (-) UNIX unterscheidet Groß-/Kleinschreibung Viele Dateibefehle erlauben sog. Wildcards * vertritt beliebige Anzahl beliebiger Zeichen? vertritt genau ein beliebiges Zeichen BSP. ls *.ps zeigt Dateien mit Endung.ps 8 9 Kopieren von Dateien zwischen UNIX-Rechnern Kopieren von Dateien/Verzeichnissen cp quelle ziel quelle = Name der Ausgangsdatei ziel = Name der Zieldatei Existiert ziel nicht, so wird Datei angelegt Existente ziel wird überschrieben Ist ziel ein Verzeichnisname, so wird Datei quelle in dieses Verzeichnis kopiert quelle darf Wildcards enthalten Option -r zum Kopieren von Verzeichnissen nötig z.b. cp -r quelle ziel Abkürzungen bei Verzeichnissen.,.., ~ erlaubt Beispiel cp /tmp/*. kopiert alle Dateien (aber keine Unter-Verz.) aus Verzeichnis /tmp ins aktuelle Verzeichnis Mittel scp (secure copy) analog zu cp scp quelle user@rechner:ziel kopiert Datei quelle von lokal nach rechner, wo Benutzer user Account haben muss Vor Kopieren wird Passwort abgefragt Falls ziel fehlt, wird ins Home-Verz. kopiert Falls : fehlt, gilt scp = cp Wildcards sind erlaubt Kopieren von Verzeichnissen mit Option -r scp user@rechner:quelle ziel kopiert datei quelle von rechner nach lokal Kopieren von Windows nach UNIX und umgekehrt Nur mit Zusatzsoftware möglich, z.b. /SSHSecureShellClient-3..9.exe installiert SFTP-Programm, das wie Windows-Explorer aussieht und bedient wird 10 11

4 Source-Code in Programmiersprache geschriebenes Programm Das erste C-Programm wird bei Ausführung bzw. Compilieren schrittweise abgearbeitet im einfachsten Fall: sequentiell Programmzeile für Programmzeile von oben nach unten Programmiersprachen Source-Code & Executable Compiler & Interpreter Syntaxfehler & Laufzeitfehler Wie erstellt man ein C-Programm? main printf (Ausgabe von Text) #include <stdio.h> Grobe Unterscheidung in Interpreter- und Compiler-basierte Sprachen Interpreter führt Source-Code zeilenweise bei der Übersetzung aus d.h. Übersetzen & Ausführen ist gleichzeitig z.b. Matlab, Java, PHP Compiler übersetzt Source-Code in ein ausführbares Programm (Executable) Executable ist eigenständiges Programm d.h. (1) Übersetzen, dann () Ausführen z.b. C, C++, Fortran Alternative Unterscheidung (siehe Schmaranz) imperative Sprachen, z.b. Matlab, C, Fortran objektorientierte Sprachen, z.b. C++, Java funktionale Sprachen, z.b. Lisp 1 13 Wie erstellt man ein C-Programm? Achtung C ist Compiler-basierte Programmiersprache Compilierter Code ist systemabhängig, d.h. Code läuft idr. nur auf dem System, auf dem er compiliert wurde Source-Code ist systemunabhängig, d.h. er sollte auch auf anderen Systemen compiliert werden können. C-Compiler unterscheiden sich leicht Bitte vor Übung alle Programme auf der lva.student.tuwien.ac.at mit dem Compiler gcc compilieren und testen nicht-lauffähiger Code = schlechter Eindruck und ggf. schlechtere Note... Starte Editor Emacs aus einer Shell mit emacs & Die wichtigsten Tastenkombinationen: C-x C-f = Datei öffnen C-x C-s = Datei speichern C-x C-c = Emacs beenden Öffne eine (ggf. neue) Datei name.c Endung.c ist Kennung eines C-Programms Die ersten beiden Punkte kann man auch simultan erledigen mittels emacs name.c & Schreibe den sog. Source-Code (= C-Programm) Abspeichern mittels C-x C-s nicht vergessen Compilieren z.b. mit gcc name.c Falls Code fehlerfrei, erhält man Executable a.out unter Windows: a.exe Diese wird durch a.out bzw../a.out gestartet Compilieren mit gcc name.c -o output erzeugt Executable output statt a.out 14 15

5 Syntaxfehler Das erste C-Programm 5 printf("hello World!\n"); 6 } Zeilennummern gehören nicht zum Code (sind lediglich Referenzen auf Folien) Jedes C-Programm besitzt die Zeilen 3, 4, 6. Die Ausführung eines C-Programms startet immer bei main() egal, wo main() im Code steht Klammern {...} schließen in C sog. Blöcke ein Hauptprogramm main() bildet immer einen Block Logische Programmzeilen enden mit Semikolon, vgl. 5 printf gibt Text aus (in Anführungszeichen), \n macht einen Zeilenumbruch Anführungszeichen müssen in derselben Zeile sein Zeile 1: Einbinden der Standardbibliothek für Input-Output (später mehr!) Syntax = Wortschatz (Befehle) & Grammatik einer Sprache (Was man wie verbinden kann...) Syntaxfehler = Falsche Befehle oder Verwendung merkt Compiler und gibt Fehlermeldung 1 main() { 3 printf("hello World!\n"); 4 } Fehlt Einbindung der stdio.h Compilieren liefert Fehlermeldung: wrongworld1.c:3: warning: incompatible implicit declaration of built-in function printf 5 printf("hello World!\n") 6 } Fehlt Semikolon am Zeilenende 5 Compilieren liefert Fehlermeldung: wrongworld.c:6: error: syntax error before } token Laufzeitfehler Fehler, der erst bei Programm-Ausführung auftritt Variablen Was sind Variable? Deklaration & Initialisierung Datentypen int und double Zuweisungsoperator = arithmetische Operatoren + - * / % Type Casting int, double printf (Ausgabe von Variablen) scanf (Werte über Tastatur einlesen) Variable Variable = symbolischer Name für Speicherbereich Variable in Math. und Informatik verschieden: Mathematik: Sei x R fixiert x Informatik: x=5 weist x den Wert 5 zu, Zuweisung kann jederzeit geändert werden z.b. x=7 Datentypen Bevor man Variable benutzen darf, muss man idr. erklären, welchen Typ Variable haben soll Elementare Datentypen: Gleitkommazahlen (ersetzt Q, R), z.b. double Integer, Ganzzahlen (ersetzt N, Z), z.b. int Zeichen (Buchstaben), idr. char int x; deklariert Variable x vom Typ int 18 19

6 Deklaration Deklaration = das Anlegen einer Variable d.h. Zuweisung von Speicherbereich auf einen symbolischen Namen & Angabe des Datentyps Zeile int x; deklariert Variable x vom Typ int Zeile double var; deklariert var vom Typ double Initialisierung Durch Deklaration einer Variablen wird lediglich Speicherbereich zugewiesen Falls noch kein konkreter Wert zugewiesen: Wert einer Variable ist zufällig Deshalb direkt nach Deklaration der neuen Variable Wert zuweisen, sog. Initialisierung int x; (Deklaratation) x = 0; (Initialisierung) Deklaration & Initialisierung auch gleichzeitig möglich: int x = 0; Ein erstes Beispiel zu int 5 int x = 0; 6 7 printf("input: x="); 8 scanf("%d",&x); 9 printf("output: x=%d\n",x); 10 } Einbinden der Input-Output-Funktionen (Zeile 1) printf gibt Text (oder Wert einer Var.) aus scanf liest Tastatureingabe ein in eine Variable Prozentzeichen % in Zeile 8/9 leitet Platzhalter ein Datentyp Platzhalter printf Platzhalter scanf int %d %d double %f %lf Beachte & bei scanf in Zeile 8 scanf("%d",&x) aber: printf("%d",x) Wenn man & vergisst Laufzeitfehler Compiler merkt Fehler nicht (kein Syntaxfehler!) Sorgfältig arbeiten! 0 1 Zuweisungsoperator Dasselbe Beispiel zu double 5 double x = 0; 6 7 printf("input: x="); 8 scanf("%lf",&x); 9 printf("output: x=%f\n",x); 10 } Beachte Platzhalter in Zeile 8/9 scanf("%lf",&x) aber: printf("%f",x) Verwendet man %f in 8 Falsches Einlesen! vermutlich Laufzeitfehler! sorgfältig arbeiten! 5 int x = 1; 6 int y = ; 7 8 int tmp = 0; 9 10 printf("a) x=%d, y=%d, tmp=%d\n",x,y,tmp); 11 1 tmp = x; 13 x = y; 14 y = tmp; printf("b) x=%d, y=%d, tmp=%d\n",x,y,tmp); 17 } Das einfache Gleich = ist Zuweisungsoperator Zuweisung immer rechts nach links! Zeile x = 1; weist den Wert auf der rechten Seite der Variablen x zu Zeile x = y; weist den Wert der Variablen y der Variablen x zu insb. haben x und y danach denselben Wert d.h. Vertauschen der Werte nur mit Hilfsvariable a) x=1, y=, tmp=0 b) x=, y=1, tmp=1 3

7 Arithmetische Operatoren Type Casting Bedeutung eines Operators kann vom Datentyp abhängen! Operatoren auf Ganzzahlen: a=b, -a (Vorzeichen) a+b, a-b, a*b, a/b (Division ohne Rest), a%b (Divisionsrest) Operatoren auf Gleitkommazahlen: a=b, -a (Vorzeichen) a+b, a-b, a*b, a/b ( normale Division) Achtung: /3 ist Ganzzahl-Division, also Null! Notation für Gleitkommazahlen: Vorzeichen -, falls negativ Vorkommastellen Dezimalpunkt Nachkommastellen e oder E mit ganzzahligem Exponenten (10er Potenz!), z.b. e = E = 10 = 00 Wegfallen darf entweder Vor- oder Nachkommastelle (sonst sinnlos!) Wegfallen darf entweder Dezimalpunkt oder e bzw. E mit Exponent (sonst Integer!) Also:./3. ist Gleitkommadivision 0.6 Operatoren können auch Variablen verschiedener Datentypen verbinden Vor der Ausführung werden beide Variablen auf denselben Datentyp gebracht (Type Casting) 5 int x = 1; 6 double y =.5; 7 8 int sum_int = x+y; 9 double sum_dbl = x+y; printf("sum_int = %d\n",sum_int); 1 printf("sum_dbl = %f\n",sum_dbl); 13 } Welchen Datentyp hat x+y in Zeile 8, 9? Den mächtigeren Datentyp, also double! Type Casting von Wert x auf double Zeile 8: Type Casting, da double auf int Zuweisung durch Abschneiden, nicht durch Rundung! sum int = 3 sum dbl = Implizites Type Casting 5 double dbl1 = / 3; 6 double dbl = / 3.; 7 double dbl3 = 1E; 8 int int1 = ; 9 int int = 3; printf("a) %f\n",dbl1); 1 printf("b) %f\n",dbl); printf("c) %f\n",dbl3 * int1 / int); 15 printf("d) %f\n",dbl3 * (int1 / int) ); 16 } a) b) c) d) Warum Ergebnis 0 in a) und d)?, 3 sind int /3 ist Ganzzahl-Division Werden Variablen verschiedenen Typs durch arith. Operator verbunden, Type Casting auf gemeinsamen (mächtigeren) Datentyp vgl. Zeile 6, 14, 15 ist int, 3. ist double /3. ergibt double Explizites Type Casting 5 int a = ; 6 int b = 3; 7 double dbl1 = a / b; 8 double dbl = (double) (a / b); 9 double dbl3 = (double) a / b; 10 double dbl4 = a / (double) b; 11 1 printf("a) %f\n",dbl1); 13 printf("b) %f\n",dbl); 14 printf("c) %f\n",dbl3); 15 printf("d) %f\n",dbl4); 16 } Kann dem Compiler mitteilen, in welcher Form eine Variable interpretiert werden muss Dazu Ziel-Typ in Klammern voranstellen! a) b) c) d) In Zeile 8, 9, 10: Explizites Type Casting (jeweils von int zu double) In Zeile 9, 10: Implizites Type Casting 6 7

8 Fehlerquelle beim Type Casting 5 int a = ; 6 int b = 3; 7 double dbl = (double) a / b; 8 9 int i = dbl; printf("a) %f\n",dbl); 1 printf("b) %f\n",dbl*b); 13 printf("c) %d\n",i); 14 printf("d) %d\n",i*b); 15 } a) b) c) 0 d) 0 Implizites Type Casting sollte man vermeiden! d.h. Explizites Type Casting verwenden! Einfache Verzweigung Logische Operatoren ==!= > >= < <= Logische Iunktoren! && Wahrheit und Falschheit bei Aussagen Verzweigung if if - else Bei Rechnungen Zwischenergebnisse in richtigen Typen speichern! 8 9 Logische Verkettung Logische Operatoren Es seien a,b zwei Variablen (auch versch. Typs!) Vergleich (z.b. a < b) liefert Wert 1, falls wahr bzw. 0, falls falsch Übersicht über Vergleichsoperatoren: == Gleichheit (ACHTUNG mit Zuweisung!)!= Ungleichheit > echt größer >= größer oder gleich < echt kleiner <= kleiner oder gleich Stets bei Vergleichen Klammer setzen! fast immer unnötig, aber manchmal eben nicht! Weitere logische Iunktoren:! nicht && und oder 5 int result = 0; 6 7 int a = 3; 8 int b = ; 9 int c = 1; result = (a > b > c); 1 printf("a) result=%d\n",result); result = (a > b) && (b > c); 15 printf("b) result=%d\n",result); 16 } a) result=0 b) result=1 Warum ist Aussage in 11 falsch, aber in 14 wahr? Auswertung von links nach rechts: a > b ist wahr, also mit 1 bewertet 1 > c ist falsch, also mit 0 bewertet Insgesamt wird a > b > c mit falsch bewertet! Aussage in 11 ist also nicht korrekt formuliert! 30 31

9 if-else einfache Verzweigung: Wenn - Dann - Sonst if (condition) statementa else statementb Gleichheit vs. Zuweisung nach if steht Bedingung stets in runden Klammern nach Bedingung steht nie Semikolon Bedingung ist falsch, falls sie 0 ist bzw. mit 0 bewertet wird, sonst ist die Bedingung wahr Bedingung wahr statementa wird ausgeführt Bedingung falsch statementb wird ausgeführt Statement ist entweder eine Zeile oder mehrere Zeilen in geschwungenen Klammern {... }, sog. Block Nur Erinnerung: if (a==b) vs. if (a=b) beides ist syntaktisch korrekt! if (a==b) ist Abfrage auf Gleichheit ist vermutlich so gewollt... ABER: if (a=b) weist a den Wert von b zu Abfrage, ob a 0 ist schlechter Programmierstil! else-zweig ist optional d.h. else statementb darf entfallen 3 33 Beispiel zu if-else 5 int var1 = -5; 6 double var = 1e-3; 7 int var3 = 5; 8 9 if (var1 >= 0) 10 printf("var1 >= 0\n"); 11 else 1 printf("var1 < 0\n"); if (var) 15 printf("var!= 0, i.e., cond. is true\n"); 16 else 17 printf("var == 0, i.e., cond. is false\n"); if ( (var1 < var) && (var < var3) ) 0 printf("var lies between the others\n"); 1 } var1 < 0 var!= 0, i.e., cond. is true var lies between the others Gerade oder Ungerade? 5 int x = 0; 6 7 printf("input x="); 8 scanf("%d",&x); 9 10 if (x > 0) 11 { 1 if (x%) 13 printf("x=%d is odd\n",x); 14 else 15 printf("x=%d is even\n",x); 16 } 17 else 18 printf("error: Input has to be positive!\n"); 19 } Programm überprüft, ob eingegebene Zahl x gerade Zahl ist oder nicht Man kann Verzweigungen schachteln: Einrückungen machen Code übersichtlicher Abhängigkeiten werden verdeutlicht 34 35

10 Lifetime & Scope Blöcke Lifetime einer Variable = Zeitraum, in dem Speicherplatz zugewiesen ist = Zeitraum, in dem Variable existiert Scope einer Variable = Zeitraum, in dem Variable sichtbar ist = Zeitraum, in dem Variable gelesen/verändert werden kann Blöcke {...} Deklaration von Variablen Lifetime & Scope Lokale & globale Variablen Scope Lifetime Globale & Lokale Variablen globale Variablen = Variablen, die globale Lifetime haben (bis Programm terminiert) eventuell lokaler Scope werden am Anfang außerhalb von main deklariert lokale Variablen = Variablen, die nur lokale Lifetime haben Blöcke Blöcke stehen innerhalb von {... } Jeder Block startet mit Deklaration zusätzlich benötigter Variablen Variablen können/dürfen nur am Anfang eines Blocks deklariert werden Die innerhalb des Blocks deklarierten Variablen werden nach Blockende vergessen (= gelöscht) D.h. Lifetime endet lokale Variablen Schachtelung {... {... }... } beliebige Schachtelung ist möglich Variablen aus äußerem Block können im inneren Block gelesen und verändert werden, umgekehrt nicht. Änderungen bleiben wirksam. D.h. Lifetime & Scope nur nach Innen vererbt Wird im äußeren und im inneren Block Variable var definiert, so wird das äußere var überdeckt und ist erst wieder ansprechbar (mit gleichem Wert wie vorher), wenn der innere Block beendet wird. D.h. äußeres var ist nicht im inneren Scope Das ist schlechter Programmierstil! Bsp. zu lokalen & globalen Var. 3 int var0 = 5; 4 5 main() 6 { 7 int var1 = 7; 8 int var = 9; 9 10 printf("a) %d, %d, %d\n", var0, var1, var); 11 { 1 int var1 = 17; printf("b) %d, %d, %d\n", var0, var1, var); 15 var0 = 15; 16 var = 19; 17 printf("c) %d, %d, %d\n", var0, var1, var); 18 { 19 int var0 = 5; 0 printf("d) %d, %d, %d\n", var0, var1, var); 1 } } 3 printf("e) %d, %d, %d\n", var0, var1, var); 4 } a) 5, 7, 9 b) 5, 17, 9 c) 15, 17, 19 d) 5, 17, 19 e) 15, 7,

Schnellkurs in UNIX. Betriebssystem? UNIX. Literatur. UNIX ist textbasiert. Login auf einem UNIX-System. Werbung für CYGWIN

Schnellkurs in UNIX. Betriebssystem? UNIX. Literatur. UNIX ist textbasiert. Login auf einem UNIX-System. Werbung für CYGWIN Betriebssystem? Der Rahmen, in dem Programme auf Rechner ausgeführt werden können z.b. Windows XP, UNIX Abstraktion der Hardware auf geeignete Software-Schnittstellen Software läuft auf verschiedenen Rechnern

Mehr

Das erste C-Programm. Einführung in das Programmieren für Technische Mathematik. Source-Code. Achtung. Programmiersprachen.

Das erste C-Programm. Einführung in das Programmieren für Technische Mathematik. Source-Code. Achtung. Programmiersprachen. Einführung in das Programmieren für Technische Mathematik Das erste C-Programm DI Thomas Führer Marcus Page, MSc Prof. Dr. Dirk Praetorius Source-Code & Executable Compiler & Interpreter Syntaxfehler &

Mehr

Das erste C-Programm. Einführung in C. Programmieren für Technische Mathematik. Source-Code. Achtung. Programmiersprachen. Source-Code & Executable

Das erste C-Programm. Einführung in C. Programmieren für Technische Mathematik. Source-Code. Achtung. Programmiersprachen. Source-Code & Executable Einführung in das Programmieren für Technische Mathematik Einführung in C Das erste C-Programm Marcus Page, MSc Prof. Dr. Dirk Praetorius Source-Code & Executable Compiler & Interpreter Syntaxfehler &

Mehr

Formalia. Einführung in das Programmieren für Technische Mathematik. freiwillige Literatur. EPROG-Homepage. Literatur.

Formalia. Einführung in das Programmieren für Technische Mathematik. freiwillige Literatur. EPROG-Homepage. Literatur. Einführung in das Programmieren für Technische Mathematik DI Thomas Führer Marcus Page, MSc Prof. Dr. Dirk Praetorius Rechte & Pflichten Formalia Benotung Anwesenheitspflicht Literatur Fr. 10:1-11:4, Freihaus

Mehr

Formalia. Einführung in das Programmieren für Technische Mathematik. freiwillige Literatur. EPROG-Homepage. Literatur. Prof. Dr.

Formalia. Einführung in das Programmieren für Technische Mathematik. freiwillige Literatur. EPROG-Homepage. Literatur. Prof. Dr. Einführung in das Programmieren für Technische Mathematik Prof. Dr. Dirk Praetorius Michele Ruggeri, MSc Formalia Rechte & Pflichten Benotung Anwesenheitspflicht Literatur Fr. 10:1-11:4, Freihaus HS 8

Mehr

Einführung in das Programmieren für Technische Mathematik

Einführung in das Programmieren für Technische Mathematik Einführung in das Programmieren für Technische Mathematik Prof. Dr. Dirk Praetorius Fr. 10:15-11:45, Freihaus HS 8 Institut für Analysis und Scientific Computing Formalia Rechte & Pflichten Benotung Anwesenheitspflicht

Mehr

Formalia. Einführung in das Programmieren für Technische Mathematik. EPROG-Homepage. freiwillige Literatur. Literatur. Prof. Dr.

Formalia. Einführung in das Programmieren für Technische Mathematik. EPROG-Homepage. freiwillige Literatur. Literatur. Prof. Dr. Einführung in das Programmieren für Technische Mathematik Prof. Dr. Dirk Praetorius Formalia Rechte & Pflichten Benotung Anwesenheitspflicht Literatur Fr. 10:1-11:4, Freihaus HS 8 Institut für Analysis

Mehr

Einführung in das Programmieren für Technische Mathematiker

Einführung in das Programmieren für Technische Mathematiker Einführung in das Programmieren für Technische Mathematiker Einführung in C, Teil 1 DI Samuel Ferraz-Leite Prof. Dr. Dirk Praetorius Prof. Dr. Christoph Überhuber Fr. 10:15-11:45, Freihaus HS 1 Institut

Mehr

Das erste C-Programm. Einführung in das Programmieren für Technische Mathematiker. Source-Code. Achtung. Programmiersprachen. Einführung in C, Teil 1

Das erste C-Programm. Einführung in das Programmieren für Technische Mathematiker. Source-Code. Achtung. Programmiersprachen. Einführung in C, Teil 1 Einführung in das Programmieren für Technische Mathematiker Einführung in C, Teil 1 Das erste C-Programm Dirk Praetorius Christoph Überhuber Source-Code & Executable Compiler & Interpreter Syntaxfehler

Mehr

Schnellkurs in UNIX. Einführung in C. Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN

Schnellkurs in UNIX. Einführung in C. Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN Einführung in das Programmieren für Technische Mathematik Einführung in C Schnellkurs in UNIX Marcus Page, MSc Prof. Dr. Dirk Praetorius Betriebssystem Login am UNIX-System Wichtigste Programme für EPROG

Mehr

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept?

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept? Einführung in das Programmieren für Technische Mathematiker Dirk Praetorius Christoph Überhuber Samuel Ferraz-Leite Stephan Krenn Isabella Roth Florian Rudolf Vorlesung (Fr. 13.30-15.00, FH 8 Nöbauer HS)

Mehr

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept?

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept? Einführung in das Programmieren für Technische Mathematiker Dirk Praetorius Christoph Überhuber Samuel Ferraz-Leite Stephan Krenn Isabella Roth Florian Rudolf Vorlesung (Fr. 11.30-13.00, EI 3 Sahulka HS)

Mehr

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept?

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept? Einführung in das Programmieren für Technische Mathematiker Samuel Ferraz-Leite Dirk Praetorius Christoph Überhuber Petra Goldenits Michael Karkulik Isabella Roth Florian Rudolf Vorlesung (Fr. 10.15-11.45,

Mehr

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 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

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 09. November 2015 Die Unix-Philosophie Es gibt viele kleine Programme Können die jeweiligen Aufgaben gut lösen Komplexe Aufgaben werden

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

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

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

Mehr

Schnellkurs in UNIX. Einführung in C. Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN

Schnellkurs in UNIX. Einführung in C. Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN Einführung in das Programmieren für Technische Mathematik Einführung in C Schnellkurs in UNIX Marcus Page, MSc Prof. Dr. Dirk Praetorius Betriebssystem Login am UNIX-System Wichtigste Programme für EPROG

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Übung 1: Unix Werkzeuge Robert Sombrutzki sombrutz@informatik.hu-berlin.de Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer

Mehr

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 4. Mai 2016 Die Komandozeile unter Linux Wird als Shell bezeichnet Die Shell ist eines der vielen Programme einer Linux-Distribution

Mehr

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1. Praktikum Btib Betriebssysteme t I Hochschule Für Angewandte Wissenschaften FH München Sommersemester 2010 thomas.kolarz@hm.edu Folie 1 Vorbereitung Booten Sie den Rechner unter Linux und melden Sie sich

Mehr

Informatik I - Übung 2 Programmieren in Eclipse

Informatik I - Übung 2 Programmieren in Eclipse Informatik I - Übung 2 Programmieren in Eclipse. / Info1 / HelloWorld / HelloWorld Wort1 Wort2 Daniel Hentzen dhentzen@student.ethz.ch 5. März 2014 1.2 Häufigste Fehler im Terminal auf Gross-/Kleinschreibung

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

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

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Einführung in die Bedienung von Unix-Systemen SoSe 2013 Stand der Folien: 3. April 2013 Übersicht 1 Unix, Linux, Shells 2 Shell-Kommandos 3 Dateien und Verzeichnisse Vorkurs

Mehr

2. Programmierung in C

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)

Mehr

Informatik für Schüler, Foliensatz 1 Einführung bis...

Informatik für Schüler, Foliensatz 1 Einführung bis... Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 19. August 2009 1/15 Informatik für Schüler, Foliensatz 1 Einführung bis... Prof. G. Kemnitz Institut für Informatik, Technische

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

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

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

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio) Beispiel Beispiel: Namensliste konvertieren (Karl Egon Meier Meier, Karl Egon). s/(.*) (.*)/$2, $1/; Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio) s/(.*) (.*)/$2, $1/; s/(.*) ([a-z]+

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

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN ABSTIMMEN! https://abstimmung.semesterticket-muenchen.de/ WIEDERHOLUNG - VARIABLEN WIEDERHOLUNG - VARIABLEN Clemens = Simone Simone

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

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 <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

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 5. Mai 2015 Shell: Standard-Features Prompt (häufig: benutzer@rechner:~$) zeigt an, dass die Shell auf Befehle wartet Befehl eingeben,

Mehr

Funktionen. Funktionen. Funktionen in C. Variablen. Call by Value

Funktionen. Funktionen. Funktionen in C. Variablen. Call by Value Funktionen Funktionen Funktion, Prozedur Eingabe- / Ausgabeparameter Call by Value / Call by Reference return void Funktion = Zusammenfassung mehrerer Anweisungen zu einem aufrufbaren Ganzen output = function(input)

Mehr

2. Programmierung in C

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)

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

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

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

2. Programmierung in C

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)

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

Einführung in die Programmierung mit VBA

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

Mehr

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus LUKAS LEIPOLD Shell Shell Oder Konsole suchen im Application Finder Auch Terminal, Bash oder Kommandozeile genannt Bash nimmt Befehle entgegen und führt diese aus Befehle I cd mkdir pwd rm mv cp ls ln

Mehr

Systemverwaltung mittels Skripts

Systemverwaltung mittels Skripts Systemverwaltung mittels Skripts Sept. 2003 M. Rigling 1 / 1 Version 0.2 Inhaltsverzeichnis: Systemverwaltung mittels Skripts...1 Inhaltsverzeichnis:...2 1. Skriptsprachen...3 2. Zur Erstellung von Skripts...3

Mehr

Bedingte Anweisungen

Bedingte Anweisungen Bedingte Anweisungen Bedingte Anweisungen werden nicht immer ausgeführt, sondern nur, wenn eine Bedingung erfüllt (wahr) ist. C/C++/Java bieten hier 2 Konstruktionen an: if-anweisung sowie switch-case

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 3. Vorlesung 18.04.2018 1 Elemente von Programmiersprachen Operatoren Kontrollstrukturen Bibliotheksfunktionen 2 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben,

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Linux-Camp: Remote-Zugriff

Linux-Camp: Remote-Zugriff Linux-Camp: Remote-Zugriff SSH, VPN, oder: "Wie kommt die Maus durch die Leitung?" mit Ubuntu Version 8.04 Inhalt SSH Begriffserklärung und Funktionalität Arbeitsweise Konfiguration Beispiele, Übungen

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Grundbegriffe. Einführung in das Programmieren für Technische Mathematiker. Dirk Praetorius. Folien zu meinen Vorlesungen.

Grundbegriffe. Einführung in das Programmieren für Technische Mathematiker. Dirk Praetorius. Folien zu meinen Vorlesungen. Einführung in das Programmieren für Technische Mathematiker Grundbegriffe in Programmiersprachen Dirk Praetorius Christoph Überhuber Dirk Praetorius Sprechstunde: Dienstag 10:00-11:00 Büro: 4. Stock, grüner

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

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Mathematische Computer-Software

Mathematische Computer-Software Mathematische Computer-Software Kommerzielle Computeralgebrasysteme (CAS) Beispiele: Mathematica, Maple, Numerisches und symbolisches Verarbeiten von Gleichungen: Grundrechenarten Ableitung und Integration

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts

Mehr

2 Eine einfache Programmiersprache

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

Mehr

Das CIP der Mathematik

Das CIP der Mathematik Das CIP der Mathematik Eine sehr kurze Unix Einführung Werner Bley (nach Martin Kerscher) Mathematisches Institut Ludwig Maximilians Universität München 15. Oktober 2015 Gliederung Erste Schritte am Rechner

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

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 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,

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM für Java-Programmierer Der Präprozessor Prof. Dr. Wolfgang Schramm FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Präprozessor Ist dem Compiler vorgeschaltet ( Prä -). Spezielle Anweisungen

Mehr

Operatoren in C/C++ und Java:

Operatoren in C/C++ und Java: Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)

Mehr

Pointer. Variablen. Pointer. Ein elementares Beispiel. Pointer in C

Pointer. Variablen. Pointer. Ein elementares Beispiel. Pointer in C Variablen Pointer Variable vs. Pointer Dereferenzieren Address-of Operator & Dereference Operarot * Call by Reference Variable = symbolischer Name für Speicherbereich + Information, wie Speicherbereich

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour Wintersemester 2006/2007 Betriebssystem: linux Linux Linux ist ein OpenSource-Betriebssystem Es erlaubt Mehrbenutzerbetrieb.

Mehr

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 209 Aufgabenblatt Nr. B Aufgabe (Verzeichnisse) a) Finden Sie heraus, wie Ihr Homeverzeichnis auf

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 2. Mai 2017 Übersicht Wiederholung & Vertiefung Die Unix-Philosophie Shellbefehle Befehle & Optionen Zusammenfassung & Ausblick Tux im

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

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

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen assemblerähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Hello World! Eine Einführung in das Programmieren Das erste Programm

Hello World! Eine Einführung in das Programmieren Das erste Programm Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

6. Grundlagen der Programmierung

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

Mehr

Angewandte Mathematik und Programmierung

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

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 Shell. [prompt]> <command> <flags> <args>

Die Shell. [prompt]> <command> <flags> <args> Die Shell Die Shell ist ein einfaches Interface, um dem Betriebssystem Kommandos zu übermitteln Andere Interfaces verwenden Grafische Elemente (z.b. Windows Explorer) Kommados werden beim sogenannten Prompt

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable 1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem

Mehr

Grundlagen der Informatik. Mathias Buhr

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

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2016 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

ÜBUNG Regeln für die Hausaufgaben. Was gibt es im UNIX-Pool zu beachten? Der erste Besuch im UNIX-Pool

ÜBUNG Regeln für die Hausaufgaben. Was gibt es im UNIX-Pool zu beachten? Der erste Besuch im UNIX-Pool 23.10.03 1 ÜBUNG 23.10.03 23.10.03 2 Regeln für die Hausaufgaben Regeln für die Hausaufgaben Was gibt es im UNIX-Pool zu beachten? Der erste Besuch im UNIX-Pool Wie funktioniert die Rechnerbetreuung? Das

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum Vorlesung 2. Einführung: und erste Schritte Technische Fakultät Universität Bielefeld 18. Oktober 2017 1 / 37 Erste Schritte mit der Aufgaben der 1. Programm ausführen 2. zu mächtigeren Werkzeugen kombinieren

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 1. Februar 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

2 Eine einfache Programmiersprache

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

Mehr