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

2. Update Übungsaufgaben 9.10.2017

parent 7728eeec
No related branches found
No related tags found
No related merge requests found
No preview for this file type
% hp-uebung-20161010.pdf - Exercises on Low-Level Programming / Applied Computer Sciences % hp-uebung-20171009.pdf - Exercises on Low-Level Programming / Applied Computer Sciences
% Copyright (C) 2013, 2015, 2016 Peter Gerwinski % Copyright (C) 2013, 2015, 2016, 2017 Peter Gerwinski
% %
% This document is free software: you can redistribute it and/or % This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons % modify it either under the terms of the Creative Commons
...@@ -31,12 +31,15 @@ ...@@ -31,12 +31,15 @@
\thispagestyle{empty} \thispagestyle{empty}
\section*{Hardwarenahe Programmierung / Angewandte Informatik\\ \section*{Hardwarenahe Programmierung / Angewandte Informatik\\
Übungsaufgaben -- 10.\ Oktober 2016} Übungsaufgaben -- 9.\ Oktober 2017}
\exercise{Hello, world!} \exercise{Hello, world!}
Unter \url{https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20171009} Unter \url{https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20171009}
finden Sie eine Auswahl an Beispielprogrammen: können Sie
\href{https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20171009/hp-uebung-20171009.pdf}%
{diesen Übungszettel als PDF-Datei}
herunterladen sowie die folgenden Beispielprogramme:
\begin{enumerate}[\quad(a)] \begin{enumerate}[\quad(a)]
\item \gitfile{hp}{20171009}{hello.c} \item \gitfile{hp}{20171009}{hello.c}
\item \gitfile{hp}{20171009}{hello-opengl.c} \item \gitfile{hp}{20171009}{hello-opengl.c}
...@@ -46,21 +49,25 @@ ...@@ -46,21 +49,25 @@
und/oder auf einem Rechner der Hochschule und/oder auf einem Rechner der Hochschule
unter einem Betriebssystem Ihrer Wahl zum Laufen. unter einem Betriebssystem Ihrer Wahl zum Laufen.
\file{hello.c} ist das klassische "`Hello, world!"'-Programm. \file{hello.c} ist das klassische "`Hello, world!"'-Programm,
\file{hello-gtk} erzeugt ein Fenster mit einem Button zum Schließen, \file{hello-gtk} erzeugt ein Fenster mit einem Button zum Schließen,
\file{hello-opengl} erzeugt ein Fenster, das nach 5 Sekunden und \file{hello-opengl} erzeugt ein Fenster, das nach 5 Sekunden
von selbst wieder verschwindet. von selbst wieder verschwindet.
(Wie diese Programme im einzelnen funktionieren,
wird im Laufe der Lehrveranstaltung erklärt werden.
In dieser Übung geht es nur darum,
sich mit dem Compilieren von C-Programmen vertraut zu machen.)
\textbf{Hinweis 0:} Diese PDF-Datei enthält Links zu den jeweiligen Dateien. \textbf{Hinweis 0:} Diese PDF-Datei enthält Links zu den jeweiligen Dateien.
Durch Anklicken können Sie diese direkt herunterladen. Durch Anklicken können Sie diese direkt herunterladen.
\textbf{Hinweis 1:} Für (b) und (c) benötigen Sie die Bibliotheken \textbf{Hinweis 1:} Für (b) und (c) benötigen Sie die Bibliotheken
GTK+ sowie OpenGL einschließlich GLUT oder FreeGLUT. GTK+ bzw.\ OpenGL einschließlich GLUT oder FreeGLUT.
Diese finden Sie -- einschließlich Dokumentation -- Diese finden Sie -- einschließlich Dokumentation --
als freie Software im Internet. als freie Software im Internet.
\textbf{Hinweis 2:} Unter Unix mit \lstinline[style=cmd]{gcc} \textbf{Hinweis 2:} Unter Unix mit \lstinline[style=cmd]{gcc}
geht das Compilieren und Starten der Programme folgendermaßen: funktioniert das Compilieren und Starten der Programme folgendermaßen:
\begin{lstlisting}[style=cmd] \begin{lstlisting}[style=cmd]
gcc -Wall -O hello.c -o hello gcc -Wall -O hello.c -o hello
./hello ./hello
...@@ -70,6 +77,17 @@ ...@@ -70,6 +77,17 @@
./hello-gtk ./hello-gtk
\end{lstlisting} \end{lstlisting}
\exercise{Schaltjahr ermitteln}
Schreiben Sie ein C-Programm, das eine Jahreszahl erfragt
und ausgibt, ob es sich um ein Schaltjahr handelt.
\begin{itemize}
\item Wenn die Jahreszahl durch 4 teilbar ist, ist das Jahr zunächst einmal ein Schaltjahr.
\item Ausnahme: Wenn die Jahreszahl durch 100 teilbar ist, ist das Jahr kein Schaltjahr.
\item Ausnahme von der Ausnahme: Wenn die Jahreszahl durch 400 teilbar ist,\\
ist das Jahr doch wieder ein Schaltjahr.
\end{itemize}
\exercise{Multiplikationstabelle} \exercise{Multiplikationstabelle}
Geben Sie mit Hilfe einer Schleife ein "`Einmaleins"' aus.\\ Geben Sie mit Hilfe einer Schleife ein "`Einmaleins"' aus.\\
...@@ -84,15 +102,4 @@ ...@@ -84,15 +102,4 @@
(siehe dazu die Dokumentation zu \lstinline{printf()}, (siehe dazu die Dokumentation zu \lstinline{printf()},
z.\,B.\ \,\lstinline[style=cmd]{man 3 printf}\,) z.\,B.\ \,\lstinline[style=cmd]{man 3 printf}\,)
\exercise{Schaltjahr ermitteln}
Schreiben Sie ein Programm, das eine Jahreszahl erfragt
und ausgibt, ob es sich um ein Schaltjahr handelt.
\begin{itemize}
\item Wenn die Jahreszahl durch 4 teilbar ist, ist das Jahr zunächst einmal ein Schaltjahr.
\item Ausnahme: Wenn die Jahreszahl durch 100 teilbar ist, ist das Jahr kein Schaltjahr.
\item Ausnahme von der Ausnahme: Wenn die Jahreszahl durch 400 teilbar ist,\\
ist das Jahr doch wieder ein Schaltjahr.
\end{itemize}
\end{document} \end{document}
% pgscript.sty - LaTeX Settings for Lecture Notes % pgscript.sty - LaTeX Settings for Lecture Notes
% Copyright (C) 2012, 2015 Peter Gerwinski % Copyright (C) 2012, 2015, 2017 Peter Gerwinski
% %
% This document is free software: you can redistribute it and/or % This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons % modify it either under the terms of the Creative Commons
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment