Skip to content
Snippets Groups Projects
Commit 35fbc41b authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Praktikumsunterlagen Versuch 2

parent ea66bb6d
Branches
No related tags found
No related merge requests found
No preview for this file type
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
\begin{center} \begin{center}
\Large\textbf{Praktikumsversuch 1: RSA-Verschlüsselung} \Large\textbf{Praktikumsversuch 1: RSA-Verschlüsselung}
\par\medskip \par\medskip
\normalsize Hardwarenahe Programmierung / Angewandte Informatik\\ \normalsize Hardwarenahe Programmierung\sep
Wintersemester 2018/19\sep Wintersemester 2018/19\sep
Prof.~Dr.~Peter Gerwinski Prof.~Dr.~Peter Gerwinski
\end{center} \end{center}
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
Copyright \copyright\ 2014, 2015, 2016, 2017, 2018\quad Peter Gerwinski\\ Copyright \copyright\ 2014, 2015, 2016, 2017, 2018\quad Peter Gerwinski\\
Lizenz: \mylicense Lizenz: \mylicense
Sie können diese Praktikumsunterlagen einschließlich Quelltext Sie können diese Praktikumsunterlagen einschließlich \LaTeX-Quelltext
%% und Beispielprogramme\\ %% und Beispielprogramme\\
herunterladen unter:\\ herunterladen unter:\\
\url{https://gitlab.cvh-server.de/pgerwinski/hp} \url{https://gitlab.cvh-server.de/pgerwinski/hp}
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this % Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>. % document. If not, see <http://creativecommons.org/licenses/>.
% README: String-Operationen % README: String-Operationen, Bibliotheken
\documentclass[10pt,t]{beamer} \documentclass[10pt,t]{beamer}
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this % Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>. % document. If not, see <http://creativecommons.org/licenses/>.
% README: String-Operationen % README: Bibliotheken, Differentialgleichungen
\documentclass[10pt,t]{beamer} \documentclass[10pt,t]{beamer}
......
File added
% hp-2018ws-p2.pdf - Labor Notes on Fundamentals in Computer Architecture
% Copyright (C) 2014, 2015, 2018 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: Versuch 2, 14. und 21.10.2018: Weltraum-Simulation
\documentclass[a4paper]{article}
\usepackage{pgscript}
\usepackage{multicol}
\usepackage{sfmath}
\sloppy
\raggedcolumns
\pagestyle{empty}
\newcommand{\sep}{~$\cdot$~}
\newcommand{\mylicense}{CC-by-sa (Version 3.0) oder GNU GPL (Version 3 oder höher)}
\begin{document}
\makebox(0,0.005)[tl]{\includegraphics[scale=0.72]{logo-hochschule-bochum-cvh-text-v2.pdf}}\hfill
\makebox(0,0)[tr]{\includegraphics[scale=0.5]{logo-hochschule-bochum.pdf}}
\par\bigskip\bigskip
\begin{center}
\Large\textbf{Praktikumsversuch 2: Weltraum-Simulation}
\par\medskip
\normalsize Hardwarenahe Programmierung\sep
Wintersemester 2018/19\sep
Prof.~Dr.~Peter Gerwinski
\end{center}
Aufgabe: Schreiben Sie ein C-Programm, das die Umlaufbahn eines Satelliten
im Gravitationsfeld eines Zentralgestirns simuliert und in bewegter Grafik darstellt.
\begin{multicols}{2}
\begin{itemize}
\item
Ein Körper im Gravitationsfeld eines Zentralgestirns
erfährt eine Kraft in Richtung auf dessen Zentrum
mit dem Betrag:
\begin{equation}
F = \frac{m\cdot M\cdot G}{r^2}
\end{equation}
Hierbei ist $m$ die Masse des Satelliten,
$M$ die des Zentralgestirns,
$r$ der Abstand des Satelliten vom Zentrum und
$G$ eine Konstante (Gravitationskonstante).
\item
Die Gravitationskraft beschleunigt den Satelliten gemäß:
\begin{equation}
\vec{F} = m\cdot \vec{a}
\end{equation}
\item
Mit geeignetem Anfangsort und geeigneter Anfangsgeschwindigkeit
beschreibt der Satellit eine elliptische Umlaufbahn um das Zentralgestirn.
\item
Wir rechnen in zwei Dimensionen $x$ und $y$.
\item
Für die Zerlegung der Kraft $\vec{F}\/$
in $x$- und $y$-Komponenten benötigen Sie nur die Grundrechenarten
und insbesondere \emph{keine\/} trigonometrischen Funktionen:
\begin{equation}
\vec{F} = -|\vec{F}| \cdot \frac{\vec{x}}{|\vec{x}|}
\end{equation}
\item
Die Wurzelfunktion \lstinline{sqrt()} finden Sie
in der Mathematik-Bibliothek.
Um diese zu nutzen, verwenden Sie \lstinline{#include <math.h>} im Quelltext,
und geben Sie beim \lstinline[style=cmd]{gcc}-Aufruf
\lstinline[style=cmd]{-lm} mit an.
\columnbreak
\item
Für die Simulation betrachten wir das System in kurzen Zeitintervallen $dt$
und berechnen die Änderungen des Ortes $\vec{r} = (x,y)$
und der Geschwindigkeit $\vec{v} = (v_x,v_y)$ des Satelliten
mit Hilfe des expliziten Eulerschen Polygonzugverfahrens.
\item
Für eine derartige Simulation
einschließlich ihrer Darstellung als bewegte Grafik
können Sie sich von dem Beispiel-Programm \gitfile{hp}{20181112}{gtk-13.c}
inspirieren lassen. (Compilieren mit:
\lstinline[style=cmd]{gcc}
\lstinline[style=cmd]{-Wall}
\lstinline[style=cmd]{-O}
\lstinline[style=cmd]{gtk-13.c}
\lstinline[style=cmd]{$(pkg-config}
\lstinline[style=cmd]{--cflags}
\lstinline[style=cmd]{--libs}
\lstinline[style=cmd]{gtk+-3.0)}
\lstinline[style=cmd]{-o}
\lstinline[style=cmd]{gtk-13})
\item
In einer \file{GTK+}-\lstinline{drawing_area}
liegt der Nullpunkt der Zeichnung oben links,
eine Längeneinheit entspricht einem Pixel,
und die $y$-Koordinate wächst nach unten.
Es empfiehlt sich, die Koordinaten so umzurechnen,
daß der Nullpunkt in der Mitte der Zeichnung liegt,
die Längeneinheit Ihrem persönlichen Geschmack entspricht
und die $y$-Koordinate nach oben wächst.
\item
Freiwillige Zusatzaufgabe:
Wenn Sie drei oder mehr Körper simulieren,
die sich unter dem Einfluß der Gravitation im Weltraum frei bewegen,
ergeben sich noch sehr viel interessantere Bahnen:
\vspace{-\smallskipamount}
\begin{itemize}\itemsep0pt
\item
Planet mit Mond umkreist Sonne
\item
Sonne mit mehreren Planeten, die sich gegenseitig beeinflussen
\item
zwei Sonnen umkreisen sich gegenseitig, Planet kreist drumherum
\item
Raumsonde besucht nacheinander mehrere Planeten
\end{itemize}
\end{itemize}
\bigskip
\strut\hfill\emph{Viel Erfolg!}\qquad\qquad
\end{multicols}
\vfill
\begingroup
\small
\setlength{\leftskip}{3cm}
Stand: 13.\ November 2018
% Soweit nicht anders angegeben:\\
Copyright \copyright\ 2014, 2015, 2018\quad Peter Gerwinski\\
Lizenz: \mylicense
Sie können diese Praktikumsunterlagen einschließlich \LaTeX-Quelltext
%% und Beispielprogramme\\
herunterladen unter:\\
\url{https://gitlab.cvh-server.de/pgerwinski/hp}
\endgroup
\end{document}
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this % Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>. % document. If not, see <http://creativecommons.org/licenses/>.
% README: Text-Grafik-Bibliothek, Datum-Bibliothek % README: Text-Grafik-Bibliothek, Datum-Bibliothek, Kondensator
\documentclass[a4paper]{article} \documentclass[a4paper]{article}
......
...@@ -21,7 +21,8 @@ Vortragsfolien: ...@@ -21,7 +21,8 @@ Vortragsfolien:
* [15.10.2018: Seiteneffekte, Funktionen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181015/hp-20181015.pdf) * [15.10.2018: Seiteneffekte, Funktionen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181015/hp-20181015.pdf)
* [22.10.2018: Zeiger, Arrays und Strings, Strukturen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181022/hp-20181022.pdf) * [22.10.2018: Zeiger, Arrays und Strings, Strukturen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181022/hp-20181022.pdf)
* [29.10.2018: Dateien und Fehlerbehandlung, Parameter des Hauptprogramms](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181029/hp-20181029.pdf) * [29.10.2018: Dateien und Fehlerbehandlung, Parameter des Hauptprogramms](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181029/hp-20181029.pdf)
* [05.11.2018: String-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181105/hp-20181105.pdf) * [05.11.2018: String-Operationen, Bibliotheken](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181105/hp-20181105.pdf)
* [12.11.2018: Bibliotheken, Differentialgleichungen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181112/hp-20181112.pdf)
* [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2017ws.pdf) * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2017ws.pdf)
Übungsaufgaben: Übungsaufgaben:
...@@ -31,6 +32,7 @@ Vortragsfolien: ...@@ -31,6 +32,7 @@ Vortragsfolien:
* [22.10.2018: ROT13-Verschlüsselung, Programm analysieren, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181022/hp-uebung-20181022.pdf) * [22.10.2018: ROT13-Verschlüsselung, Programm analysieren, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181022/hp-uebung-20181022.pdf)
* [29.10.2018: Strings, Primzahlen, Datum-Bibliothek](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181029/hp-uebung-20181029.pdf) * [29.10.2018: Strings, Primzahlen, Datum-Bibliothek](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181029/hp-uebung-20181029.pdf)
* [05.11.2018: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181105/hp-uebung-20181105.pdf) * [05.11.2018: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181105/hp-uebung-20181105.pdf)
* [12.11.2018: Text-Grafik-Bibliothek, Datum-Bibliothek, Kondensator](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181112/hp-uebung-20181112.pdf)
Musterlösungen: Musterlösungen:
--------------- ---------------
...@@ -41,11 +43,12 @@ Musterlösungen: ...@@ -41,11 +43,12 @@ Musterlösungen:
Tafelbilder: Tafelbilder:
------------ ------------
(keine) * [12.11.2018: Differentialgleichung für gleichförmige und gleichmäßig beschleunigte Bewegung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181112/photo-20181112-173737.jpg)
Praktikumsunterlagen: Praktikumsunterlagen:
--------------------- ---------------------
* [Versuch 1, 10., 17. und 24.10.2018: RSA-Verschlüsselung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181008/hp-2018ws-p1.pdf) * [Versuch 1, 10., 17. und 24.10.2018: RSA-Verschlüsselung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181008/hp-2018ws-p1.pdf)
* [Versuch 2, 14. und 21.10.2018: Weltraum-Simulation](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181112/hp-2018ws-p2.pdf)
Skript: Skript:
------- -------
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment