aktuelle.kurse/m122/LB1/Pruefung1a/Pruefung1a.tex
Harald Mueller 8c613708b6 muh
2021-09-06 08:51:35 +02:00

345 lines
15 KiB
TeX
Raw Blame History

\documentclass[a4paper,11pt]{report}
%\usepackage{isolatin1}
%\usepackage{german}
\usepackage{float}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{soul}
\usepackage{lmodern} % Latin Modern
\usepackage[ngerman]{babel, translator}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
%\usepackage[ngerman]{babel, translator}
%\usepackage[utf8x]{inputenc}
\usepackage[left=2.5cm,top=2cm,right=2cm,bottom=4cm]{geometry}
%Code listings
\usepackage{listings}
\usepackage{minted}
\usepackage{etoolbox}
\patchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{fancy}}{}{}
\usepackage[]{hyperref}
\hypersetup{
linkcolor=blue,
pagecolor= blue,
urlcolor= blue,
colorlinks=true,
pdfborder=0 0 0
}
\usepackage[
nonumberlist, %keine Seitenzahlen anzeigen
acronym, %ein Abk<62>rzungsverzeichnis erstellen
toc, %Eintr<74>ge im Inhaltsverzeichnis
section] %im Inhaltsverzeichnis auf section-Ebene erscheinen
{glossaries}
\usepackage{hyperref}
%Ein eigenes Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
%Den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}
%Glossar-Befehle anschalten
\makeglossaries
%Diese Befehle sortieren die Eintr<74>ge in den
%einzelnen Listen:
%makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
%makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
%makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg
% define acronyms here
\newacronym{PDF}{PDF}{Portable Document Format}
\newacronym{APDU}{APDU}{Application Protocol Data Unit}
\newacronym{AGPL}{AGPL}{Affero General Public License}
\newacronym{GPL}{GPL}{General Public License}
\newacronym{LGPL}{LGPL}{Lesser General Public License}
\newacronym{DCT}{DCT}{Discrete Cosine Transform}
\newacronym{TTA}{TTA}{Trusted Timestamp Authority}
\newacronym{OCSP}{OCSP}{Online Certificate Status Protocol}
\newacronym{PKI}{PKI}{Public Key Infrastructure}
%\newacronym{BDD}{BDD}{Behaviour Driven Development\protect\glsadd{glos:BDD}}
\newglossaryentry{Application Protocol Data Unit}
{
name={Application Protocol Data Unit},
description={blablabla}
}
\newglossaryentry{Copyleft}
{
name={Copyleft},
description={The copyleft ist the obligation required by the GLP (or AGPL) license to offer the source code of a work (and every derivative of it) to the public (open source). Copy{\bf{left}} can also be considered as the opposite of copy{\bf{right}}. }
}
%Befehle f<>r Glossar
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand\contentsname{Inhaltsverzeichnis}
%Einstellungen f??r code listings
\lstset{inputencoding=utf8, language=Java,tabsize=2, basicstyle=\small,breaklines=true,showstringspaces=false}
\pagestyle{fancy}
\setlength{\headheight}{38pt}
\setlength{\headwidth}{470pt}
\renewcommand{\headrule}{\hskip -\leftskip{\bf \quad \quad}\vbox to 5pt{\hbox to 455pt{\hrulefill}}}
\renewcommand{\footrule}{\hskip-\leftskip{\bf \quad \quad}{\hbox to 450 pt{\hrulefill}\newline}}
\fancyhf{}
\fancyheadoffset[L]{1cm}
\fancyfootoffset[L]{1cm}
%Kopfzeile links bzw. innen
\fancyhead[L]{\includegraphics[height=0.6in]{img/bfsulogo.jpg}}
%Kopfzeile mittig
\fancyhead[C]{}
%Kopfzeile rechts bzw. au??????????<3F>?en
\fancyhead[R]{\hspace{10pt} \\M122 - Prüfung 1\\ M.Bischof\rightmark }
\fancyheadoffset[L]{1cm}
\fancyfootoffset[L]{1cm}
%Linie oben
\renewcommand{\headrulewidth}{0.7pt}
%Fu??????????<3F>?zeile mittig
\cfoot{\vspace*{6mm}page:\ \thepage\ of \pageref{LastPage}}
\fancyfoot[R]{}
% footnote in footer
\newcommand{\fancyfootnotetext}[2]{%
\fancypagestyle{dingens}{%
\fancyfoot[LO,RE]{\parbox{12cm}{\footnotemark[#1]\footnotesize #2}}%
}%
\thispagestyle{dingens}%
}
%Linie unten
\renewcommand{\footrulewidth}{0.5pt}
\vspace*{15mm}
\textwidth 450pt
\begin{document}
\setcounter{tocdepth}{5}
%\thispagestyle{empty}
\begin{center}
\vspace{48pt}
\vspace{15pt}
\begin{huge}
M122 - Powershell - Prüfung 1 Serie a
\end{huge}
\vspace{10pt}\\
\begin{quote}
\end{quote}
\vspace{20pt}
{\bf{Erlaubte Hilfsmittel :}}
\begin{itemize}
\item Alle Hilfsmittel ausser Netzwerkkommunikation ({\bf{LAN-Kabel entfernen!}})
\end{itemize}
{\bf{Generell nicht erlaubt ist:}}
\begin{itemize}
\item Abschreiben von der Nachbarprüfung oder Weitergeben von Prüfungen/Prüfungsresultaten innerhalb der Klasse. Kommunikation über Handy oder Computernetzwerk.
\end{itemize}
Jeglicher Verstoss gegen diese Regeln führt umgehend zum Ausschluss aus der Prüfung und der Note 1.
\vspace{30pt}
\\
Name: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}
\hspace{30pt}
Klasse: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_}
\vspace{50pt}
Datum: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_}\\
\begin{tabular}{||p{3 cm}@{}|c|r||}
& & \\
Aufgabe & max. Punkte & erreichte Punkte \\
& & \\
1a & 1 & \\
1b & 1 & \\
1c & 1 & \\
1d & 1 & \\
1e & 1 & \\
2a & 4 & \\
2b & 2 & \\
2c & 2 & \\
2d & 4 & \\
3a & 2 & \\
3b & 3 & \\
3c & 13 & \\
& & \\
Total & 35 & \\
\end{tabular}
\end{center}
\newpage
\noindent {\Large{\bf{Teil 1 - Kurzaufgaben}}}\\
\noindent{\bf{Aufgabe - 1a (1 Punkt)}} Verzeichnisinhalt auflisten -
Kreuzen sie {\bf{alle richtigen Aussagen}} an.\\ {\small(pro fehlende richtige oder falsche angekreuzte Aussage 1 Punkt Abzug)} \\\\ Mit welchen Befehlen können sie den Inhalt eines Verzeichnisses auflisten? \\
\begin{itemize}
\item \verb|Get-ChildItem| \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item \verb|Get-Children| \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item \verb|Get-Child| \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item \verb|dir| \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\end{itemize}
\vspace{9pt}
{\bf{Aufgabe - 1b (1 Punkt)}} Wildcards -
Kreuzen sie {\bf{die richtige Aussage}} an \\ {\small(pro fehlende richtige oder falsche angekreuzte Aussage 1 Punkt Abzug)} \\\\ Wofür steht das \verb|?|-Zeichen in Verbindung mit einem Commandlet?
\begin{itemize}
\item Beliebige viele Zeichen \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item 0 oder beliebig viele Zeichen \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item genau 1 beliebiges Zeichen \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item Dieses Zeichen kann man mit Commandlets nicht verwenden \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\end{itemize}
\vspace{9pt}
\noindent{\bf{Aufgabe - 1c (1 Punkt)}} [abc]* -
Kreuzen sie {\bf{die richtige Aussage}} an \\ {\small(pro fehlende richtige oder falsche angekreuzte Aussage 1 Punkt Abzug)} \\\\ Was bedeutet [abc]* in der Verwendung mit einem Commandlet?\begin{itemize}
\item Es muss zu Beginn {\bf{genau}} der Zeichenfolge \verb|abc| entsprechen, danach dürfen beliebig viele Zeichen kommen. \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item Dies ist eine Auswahl. Es dürfen zu Beginn die Zeichen \verb|a, b| oder \verb|c| vorkommen, aber jeweils nur eines davon. Danach dürfen beliebig viele Zeichen kommen. \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\item Es dürfen beliebig viele Kombinationen aus den Zeichen \verb|a, b| und \verb|c| kommen, also zB. \verb|ab|, \verb|bac|, \verb|aaa|, usw. \makebox[4pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$ $}
\end{itemize}
\vspace{9pt}
\noindent{\bf{Aufgabe - 1d (1 Punkt)}} - Get-Process -
Was macht folgendes Commandlet?
\definecolor{bg}{rgb}{0.95,0.95,0.95}
\begin{minted}[frame=none,mathescape]{java}
Get-Process s*e
\end{minted}
Antwort: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}
\newpage
\noindent{\bf{Aufgabe - 1e (1 Punkt)}} - Alias -
Geben sie den Befehl an, welcher ein Alias \verb|editor| auf das Programm \verb|notepad.exe| erstellt.\\\\
\definecolor{bg}{rgb}{0.95,0.95,0.95}
Antwort: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}
\vspace{20pt}
\noindent {\Large{\bf{Teil 2 - Codestücke}}}\\
\noindent{\bf{Aufgabe - 2a (4 Punkte, 1 Punkt pro Zeile)}} - Pipelineausdruck\\\\
Nachfolgend ist eine Pipelineausdruck gegeben. Geben sie bei jeder Zeile an, was genau gemacht wird.\\\\
\vspace{9pt}
\begin{minted}[linenos=true,frame=none,mathescape,bgcolor=bg]{powershell}
Get-ChildItem "C:\" -r
| Where-Object { $_.Name -like "*pic*" }
| Select-Object Name, Length
| Sort-Object Length
\end{minted}
\\
{\bf{Hinweise: }} Aus Platzgründen und zur Vereinfachung der Aufgabenstellung ist der Ausdruck auf mehrere Zeilen verteilt. Es versteht sich aber von selbst, dass dieser bei der Ausführung auf eine zusammenhängende Zeile gehört. Erklären sie exakt (auch Parameter beachten, usw.) und unmissverständlich.\\\\
Antwort: \\\\
1: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}\\
2: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}\\
3: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}\\
4: \texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}\\\\\\
\noindent{\bf{Aufgabe - 2b (2 Punkte)}} - Pipelineausdruck\\\\
Erklären sie in Ihren eigenen Worten, was folgeder Pipelineausdruck macht:\\\\
\begin{minted}[frame=none,mathescape,bgcolor=bg]{powershell}
Get-Process | Where-Object { $_.Id -gt 500 -and $_.ws -gt 50MB}
\end{minted}
\\\\Antwort: \\
\texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}\\
\newpage
\noindent{\bf{Aufgabe - 2c (2 Punkte)}} - Prozess abschiessen\\\\
Folgender Pipelineausdruck findet den Prozess mit der Id 1234. Sie möchten diesen Prozess abschiessen (kill). Ergänzen sie den Ausdruck, so dass der Prozess abgeschossen wird. \\\\
\begin{minted}[frame=none,mathescape,bgcolor=bg]{powershell}
Get-Process | Where-Object { $_.Id -eq "1234" }
\end{minted}
\\\\{\bf{Hinweise: }} Sie können ihre Lösung direkt in den Ausdruck hineinschreiben. Es gibt mehrere korrekte Lösungen.\\\\
\noindent{\bf{Aufgabe - 2d (4 Punkte, Zeile 1 = 2 Punkte, Zeile 2 und 3 je 1 Punkt)}} - Parameter validieren\\\\
Nachfolgen haben sie ein kleines Skript. Sie sollen den Skriptinhalt nun ergänzen, so dass folgende Punkte gewährleistet sind:
\begin{itemize}
\item \verb|zahl1| kann nur Werte von 10 bis 1000 annehmen
\item \verb|zahl2| kann nur Werte von -1000 bis 10 annehmen
\item Auf den Zeilen 2 und 3 soll nach der Ausgabe (\emph{Die ... Zahl ist: }) auch noch der Wert der entsprechenden Variable ausgegeben werden
\end{itemize}
\begin{minted}[linenos=true,frame=none,mathescape,bgcolor=bg]{powershell}
param( [int] $zahl1, [int] $zahl2)
"Die erste Zahl ist: "
"Die zweite Zahl ist: "
\end{minted}
\\\\\\{\bf{Hinweise: }} Sie können ihre Lösung direkt in das Skript hineinschreiben. \\\\
\noindent {\Large{\bf{Teil 3 - Programmieraufgaben}}}\\
\noindent{\bf{Aufgabe - 3a (2 Punkte)}} - Prozesse finden\\\\
Finden sie alle laufenden Prozesse, welche mit dem Buchstaben e enden und aus insgesamt exakt 8 Zeichen bestehen (Geben sie den Befehl an).\\\\
Lösung:\\
\texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}\\\\\\
\noindent{\bf{Aufgabe - 3b (3 Punkte)}} - dll Dateien finden\\\\
Formulieren sie einen Pipelineausdruck, welcher alle .dll Dateien im Ordner \verb|C:\windows| (inkl. aller Unterordner) findet und die Suchresultate in der Datei \verb|C:\windows\resultate.txt| abspeichert.\\\\
Lösung:\\
\texttt{\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_}
\noindent{\bf{Aufgabe - 3c (13 Punkte)}} - Skript Zahlen\\\\
Schreiben sie ein Skript, welches folgende Punkte erfüllt:
\begin{itemize}
\item Drei Zahlen können über Parameter eingegeben werden. Die Parameter heissen \verb|z1|, \verb|z2| und \verb|z3| (2 Punkte)
\item Das Skript überprüft, ob \verb|z1| grösser, kleiner oder gleich gross ist wie \verb|z2| und gibt eine entsprechende Information aus (\emph{z1 ist grösser als z2}, usw.). (4 Punkte)
\item Das Skript berechnet den Durchschnitt aller drei Zahlen und gibt diesen aus (Durchschnitt = Summe aller Zahlen / Anzahl Zahlen) (2 Punkte)
\item Das Skript beinhaltet einen Array \verb|$infoArray| (5 Punkte) . Dieser Array soll 4 Werte abspeichern:
\begin{enumerate}
\item Summe der drei Zahlen (1P)
\item Summe der drei Zahlen negiert (alle Zahlen negativ machen und aufsummieren) (1P)
\item Durchschnitt (siehe vorherige Teilaufgabe) (1P)
\item Den Wert 1 falls \verb|z1| grösser als \verb|z2| ist, 0 falls gleich gross und -1 falls kleiner (Siehe auch 2. Teilaufgabe) (2P)
\end{enumerate}
Die Werte sollen in der angegebenen Reihenfolge abgespeichert werden. D.h. an der Stelle \verb|$infoArray[0]| befindet sich die Summe der drei Zahlen, usw.
\end{itemize}
Lösung (ganzes Skript hier aufschreiben) :
\end{document}