Computerorientierte Physik Vorlesung VORLESUNG und Übungen Zeit: Ort: Mo., 10.15 11.45 Uhr Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010 Graz Übungen: als Projektarbeiten in Gruppen (ca. 5 Studierende) allg. Besprechung nach der Vorlesung (11.45-12.00 Uhr) detaillierte Projektbesprechungen: wöchentlich ca. 1 Stunde, Vereinbarung mit jeder Projektgruppe einzeln.
Grundlagen Software: Datenstrukturen Array: data (4,3,126) Strukturen: Verschiede Typen zusammengefasst Pointer: Zeiger auf Adresse Queues: z.b. Druckerschlange (FIFO) Stacks: FILO
Grundlagen Software: Programmstrukturen Spagetticode Strukturierte Programmierung Objektorientierte Programmierung Klassen, Instanzen Oberflächenorientierte Programmierung (Windowsprogrammierung)
Grundlagen Software: Betriebssysteme Allgemeiner Aufbau (Shells) CP/M, DOS (Single Tasking, Single User) primitive Systemroutinen (Assembler) für Befehlstexteingabe und standardisierte I/O Befehle, File-Operationen, etc. Aufrufe durch Softwareinterrupts. Linux (Multitasking, Multiuser) in Berkley entwickelt, zunächst Befehlszeilen-orientiert, später X11 graphische Oberfläche (Windows), gutes mulittaskingmultiuser Konzept, schlechte Mnemonics, Erweiterungen mit OpenGL, Graphics, etc. Windows (Multitasking, Single/Multiuser) Windows 3.1, Windows95,98,ME (Multitasking) Windows NT, 2000, XP (Multiuser) viele neue Informatikkonzepte (gewöhnungsbedürftig, oberflächenorientiert), schlechtes Multitaskingkonzept (Regestry)
Beispiel Pc: Prozessorspezifische Vorgaben Reset (FFF)FFFF0 Segment Descriptoren Memory Paging Tables Interrupttable 3FF 000
Allgemeiner Aufbau eines Betriebssystems Shell Benutzeroberfläche (ksh, csh, tcsh, Command.com, etc.) Kernel System Routinen, z.b. Diskverwaltung, DLLs, etc. BIOS Hardware spezifische Input/Output Routinen, Interruptroutinen, Driver, etc.
Multitasking und Multiuser Anforderung an Systemroutinen: reentrance Memory Management: Zugriffsberechtigung, Privilegien Prozessorbefehle: Sonderbefehle für Superuser Task Management: Priorities User Verwaltung: Taskzuordnung, UID, GID, Passwords
Grundlagen Software: Programmiersprachen Assembler: Mnemonische Eingabe von Prozessorbefehlen; Durch Makros und Datenstrukturen an C++ heranreichend. Basic: Früher einfachste Programmiersprache (ähnlich Taschenrechner), heute bei z.b. Visual Basic auch Klassen etc. möglich; als Interpreter und Compiler Fortran: alte Programmiersprache für mathematische Berechnungen, schlechte Stringverarbeitung, in neuerem Standard bessere Anpassung an heutige Anforderungen. Cobol: alte Programmiersprache für die Wirtschaft; wie normaler Text lesbar; heute keine Bedeutung mehr Pascal: Sprache speziell für die strukturierte Programmierung entwickelt. Durch C und C++ weitgehendst abgelöst. C, C++: modernste Programmiersprache für Systementwicklung und Anwendungen; recht bescheidener Befehlssatz, schnelle Softwareentwicklung nur mit Programmbibliotheken, modular und erweiterbar, in C++ konsequente objektorientierte Programmierung (Klassen) Java, J++: Entwickelt für platformunabhägige Programme; speziell bei Internetanwendungen In speziellen Benutzerumgebungen: Excel, Word, Origin, Mathematica, Matlab, Testpoint, Labwindows, Labview, etc.
Die wichtigsten Sprachelemente Variablendeklaration ( u. Prozedurendeklaration) Zuweisungen (Formatumwandlungen) Arithmetische, Logische Operatoren Subroutinen und Funktionen Kontrollstrukturen (Schleifen)
Grundlagen Software: Microsoft Windows Programmierung Objektorientierte Programmierung Verbinden von Objekten mit Eigenschaften und Methoden Ereignis gesteuert (Interrupts) Benutzeroberflächenorientiert (Windows) Optimale Nutzung bereits programmierter Objekte und Routinen API-Systeme (Application Program Interface, DLL-Dateien) COM-Schnittstelle (Component Object Modul) ActivX-Steuerelemente Nachteile: Betriebssystem oberste Priorität, Benutzer der Microsoftentwicklung hilflos ausgeliefert (weltweites Monopol)
Grundlagen Software: Zusammenwirken Hardware - Software Schnittstellen: Beispiel Serielle Schnittstelle in Visual Basic
Übungen: Projekte STM: Bildaufnahme, Mo. 12-13 Uhr Computersteuerung eines Modellfahrzeuges Mi. 11 12? Segelboot: Bewegungsanalyse (Do: 16-17) Automatische Erfassung des Lichteinfalles und Kontrastregelung eines Displays (Fr. 10-11)