Difference between revisions of "Kompaktkurs Einführung in die Programmierung - Summer 12"

From Sccswiki
Jump to navigation Jump to search
(Created page with '{{Lecture | term = Summer 12 | lecturer = Dr. rer. nat. Tobias Weinzierl | timeplace = März 2012 | credits = 4 SWS / 6 Credits | audience = Für die Mathematik-Studiengäng…')
 
Line 14: Line 14:
 
}}
 
}}
  
= <span style="color:#ff0000">NEWS </span> =  
+
= NEWS =  
  
 
t.b.a.
 
t.b.a.
Line 23: Line 23:
  
 
= Vorbereitung =  
 
= Vorbereitung =  
Zur Vorbereitung auf den Kurs kann ein Ausdruck der Folien dienen (siehe unten). Zusätzlich ist es hilfreich sich vorab mit den technischen Dingen vertraut zu machen. Dies hängt davon ab, wo man die Programmieraufgaben lösen möchte:
+
 
* Wenn man in der SUN-Halle arbeitet, sollte man dort mit den Grundfunktionen vertraut sein (Textdateien bearbeiten, WWW-Browser)
+
t.b.a.
* Wenn man auf seinem eigenen Rechner arbeiten will, kann man sich um einen C-Übersetzer kümmern (Funktion im Moment unwichtig, installieren kann man ihn auch so). Für Windows-Systeme sind drei (von vielen) kostenlosen Möglichkeiten [http://www.bloodshed.net/dev/ Dev-C++] (mit schöner bunter Benutzeroberfläche) und [http://www.cygwin.com/ Cygwin] bzw. [http://www.mingw.org/ MinGW] (enthalten beide einen kommandozeilenbasierten C-Übersetzer).
 
* Hinweis für Windows Benutzer: Alternative zum üblichen "Editor" unter Windows, der manchmal Zeilenumbrüche von (unter Unix/Linux erstellten) Textdateien nicht korrekt wiedergibt, ist die "WordPad-MFC-Anwendung" die damit keine Probleme haben sollte.
 
* '''Übersetzung und Ausführung von Programmen.''' Als Beispielprogramm kann das Programm [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss11/01Einfuehrung/prog0.cpp prog0.cpp] dienen.
 
** ''Anleitung für die Sunhalle''<br/> Vorausgesetzt wird, dass man sich soweit auskennt, dass man einen Webbrowser offen hat sowie ein Terminalfenster, um gleich die folgenden Kommandos eingeben zu können (am Anfang befinden wir uns dazu am besten in unserem Homeverzeichnis)
 
*** Ein neues Verzeichnis anlegen: <tt>mkdir EiPro</tt>
 
*** in dieses Verzeichnis wechseln: <tt>cd EiPro</tt>
 
*** Mittels des Browsers das Programm prog0.cpp in das neue Verzeichnis speichern
 
*** Wieder im Terminalfenster: Inhalt des Verzeichnisses anzeigen lassen: <tt>ls</tt> <br/>(sollte "prog0.cpp" ausgeben)
 
*** Übersetzen: <tt>g++ prog0.cpp</tt>
 
*** Inhalt des Verzeichnisses anzeigen lassen: <tt>ls</tt><br/>(sollte "a.out" und "prog0.cpp" ausgeben)
 
*** Programm ausführen: <tt>./a.out</tt><br/>(sollte a: 37, b: 41, c: -4, d : 6, e: 156 ausgeben)
 
*** Programm bearbeiten: <tt>nedit prog0.cpp &</tt><br/> Z.B. aus 37 eine andere Zahl machen, abspeichern, übersetzen, ausführen,...
 
** ''Auf dem heimischen Rechner'' <br/> Hier nur ein paar kurze Hinweise für die Benutzer von Windows & Dev-C++:
 
*** Das Programm kann man mit Dev-C++ öffnen (File -> Open Project or File), bearbeiten und übersetzen (Execute -> Compile), das ausführbare Programm heißt hier in der Voreinstellung nicht a.out, sondern so wie der Quelltext, in unserm Fall also prog0.exe
 
*** Zum Ausführen ist ein Terminalfenster (Windows-Sprechweise: Eingabeaufforderung) hilfreich (wenn man das Programm innerhalb von Dev-C++ ausführt, verschwindet die Ausgabe, bevor man sie lesen kann...)<br />Das Navigieren in's richtige Verzeichnis mittels <tt>cd</tt> kann hier etwas komplizierter sein, je nachdem, in welchem Verzeichnis man am Anfang landet. Den Inhalt eines Verzeichnisses sehen wir hier mit <tt>dir</tt>; wenn wir im richtigen Verzeichnis sind, wird das Programm einfach mittels <tt>prog0</tt> ausgeführt.
 
*** Es ist jedoch einfacher, im Programm vor der schließenden geschweiften Klammer noch eine Zeile <code>std::cin.get();</code> einzufügen, dann wartet das Programm an dieser Stelle, bis man die Enter-Taste drückt und man kann das Programm auch innerhalb von Dev-C++ ausführen (Execute -> Run).
 
* '''Speicherlecks: Tools für die Überprüfung korrekter Freigabe des Freispeichers:'''
 
** ''Unter Linux:'' z.B. valgrind http://valgrind.org/
 
** ''Unter Windows (Tools nicht getestet):'' z.B.
 
*** für Visual C++ den Visual Leak Detector http://www.codeproject.com/KB/applications/visualleakdetector.aspx
 
*** mpatrol http://sourceforge.net/projects/mpatrol/
 
*** mem http://c.snippets.org/browser.php?sect=37#37
 
  
 
= Vorlesungs- und Übungsmaterial =
 
= Vorlesungs- und Übungsmaterial =
Line 58: Line 36:
  
 
= Alte Klausuren =
 
= Alte Klausuren =
* 2010: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss10/Klausur/eipro10_ohne.pdf ohne] Lösung
+
 
* 2009: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro09_ohne.pdf ohne] Lösung
+
coming soon...
* 2008: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro08_ohne.pdf ohne] Lösung
 
* Wiederholungsklausur 2008: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro08wh_ohne.pdf ohne] Lösung
 
* 2007: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro07_ohne.pdf ohne] Lösung
 
* 2006: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro06_ohne.pdf ohne] Lösung
 

Revision as of 17:17, 29 July 2011

Term
Summer 12
Lecturer
Dr. rer. nat. Tobias Weinzierl
Time and Place
März 2012
Audience
Für die Mathematik-Studiengänge ist das das "Praktikum Einführung in eine Programmiersprache" MA8001, vgl. Abschnitt A1.6 im Studienplan (bzw. für Studierende nach der alten Studienordnung die Veranstaltung "Einführung in die Programmierung").
Hörer anderer Fachrichtungen, die C lernen wollen, sind ebenfalls willkommen!
Tutorials
Matous Sedlacek
Der wesentliche Teil dieses Kurses besteht darin, die Übungsaufgaben zu bearbeiten, d.h., die dort verlangten Programme in der Regel erst mit Papier und Bleistift zu entwerfen und dann zu implementieren.
Zur Unterstützung gibt es an den Vorlesungstagen eine
  • Programmierberatung t.b.a.
  • Vorstellung der aktuellen Lösung t.b.a
Exam
Klausur, am Freitag 25.3.2011, 13:30-14:45 Uhr im Hörsaal MW2001
Semesterwochenstunden / ECTS Credits
4 SWS / 6 Credits
TUMonline
{{{tumonline}}}



NEWS

t.b.a.

Anmeldung

t.b.a.

Vorbereitung

t.b.a.

Vorlesungs- und Übungsmaterial

coming soon...

Klausur

t.b.a.


Alte Klausuren

coming soon...