Initial content commit
This commit is contained in:
BIN
java/Uebung/Uebung_4/Uebungsaufgaben_4.pdf
Normal file
BIN
java/Uebung/Uebung_4/Uebungsaufgaben_4.pdf
Normal file
Binary file not shown.
99
java/Uebung/Uebung_4/Uebungsaufgaben_4.tex
Normal file
99
java/Uebung/Uebung_4/Uebungsaufgaben_4.tex
Normal file
@ -0,0 +1,99 @@
|
||||
\documentclass[12pt,a4paper,ngerman]{scrartcl}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{amsfonts,amssymb,amsmath,listings,color}
|
||||
\pagestyle{plain}
|
||||
|
||||
\subject{\vspace{-3cm}The GAME}
|
||||
\title{Übungsaufgaben 4}
|
||||
\subtitle{Arrays}
|
||||
\date{}
|
||||
|
||||
\definecolor{pblue}{rgb}{0.13,0.13,1}
|
||||
\definecolor{pgreen}{rgb}{0,0.5,0}
|
||||
\definecolor{pred}{rgb}{0.9,0,0}
|
||||
\definecolor{pgrey}{rgb}{0.46,0.45,0.48}
|
||||
|
||||
\lstset{language=Java,
|
||||
showspaces=false,
|
||||
showtabs=false,
|
||||
breaklines=true,
|
||||
showstringspaces=false,
|
||||
breakatwhitespace=true,
|
||||
commentstyle=\color{pgreen},
|
||||
keywordstyle=\color{pblue},
|
||||
stringstyle=\color{pred},
|
||||
basicstyle=\ttfamily,
|
||||
tabsize=4,
|
||||
moredelim=[il][\textcolor{pgrey}]{$$},
|
||||
moredelim=[is][\textcolor{pgrey}]{\%\%}{\%\%}
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\paragraph{Aufgabe 1}\mbox{}\\
|
||||
Gegeben sind verschiedene Längen bzw. Größen von Arrays. Gebe die jeweiligen Start- und Endindizes an.
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] 1
|
||||
\item[b)] 42
|
||||
\item[c)] 13
|
||||
\item[d)] 101
|
||||
\item[e)] 3141592
|
||||
\item[f)] 0 $\qquad$ (Achtung fies!)
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 2}\mbox{}\\
|
||||
Gegeben sei ein Array der Länge 100. Welchen Index haben die folgenden "Plätze".
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] 1
|
||||
\item[b)] 42
|
||||
\item[c)] 13
|
||||
\item[d)] 101
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 3}\mbox{}\\
|
||||
Gegeben sei ein Array der Länge $n$. Ganz allgemein, welchen Index hat die Stelle $k$, wobei $k \le n$?
|
||||
|
||||
\paragraph{Aufgabe 4}\mbox{}\\
|
||||
Erstelle für folgende Angaben die Arrays in Java-Code.
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] Datentyp: \emph{int}; Länge: \emph{18}
|
||||
\item[b)] Datentyp: \emph{String}; Länge: \emph{23}
|
||||
\item[c)] Kommazahlen, Länge: 5001
|
||||
\item[d)] Datentyp: \emph{char}; Länge: \emph{7}
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 5}\mbox{}\\
|
||||
Erstelle folgende Arrays in Java, die als Inhalt die dastehenden Werte haben. Wir haben zwei Varianten kennen gelernt. Versuche beide zu verwenden.
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] Datentyp: \emph{int}; Werte: \emph{0, 9, 2, 8, 3, 7, 4, 6, 5}
|
||||
\item[b)] Datentyp: \emph{long}; Werte: \emph{-100, 100, -50, 50, 123456789}
|
||||
\item[c)] Datentyp: \emph{String}; Werte: \emph{''Ich'', ''liebe'', ''Josh''}
|
||||
\item[d)] Datentyp: \emph{double}; Werte: \emph{3.141, 0.0005926, 5358.9793, Math.pi}
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 6}\mbox{}\\
|
||||
Erstelle ein Programm, das das Array \emph{\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\}} in umgekehrter Reihenfolge ausgibt.
|
||||
|
||||
\paragraph{Aufgabe 7}\mbox{}\\
|
||||
Schreibe ein Programm, das von der Kommandozeile zwei Zahlen einliest. Diese Zahlen sollen als Start- und Endwert für Zufallszahlen dienen. In ein Array der Länge 10 lässt du dann 10 Zufallszahlen, die zwischen dem Start- und Endwert liegen, reinschreiben und gibst das Array aus.
|
||||
Für die Zufallszahlen kannst du folgendes verwenden:
|
||||
|
||||
\begin{lstlisting}
|
||||
Random rand = new Random();
|
||||
|
||||
nextInt(int bound)
|
||||
// Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
|
||||
\end{lstlisting}
|
||||
|
||||
\paragraph{Aufgabe 8}\mbox{}\\
|
||||
Du hast ein Array mit der Länge 5 und mit folgendem Inhalt: \emph{\{0, 1, 2, 3, 4\}}. Du möchtest nun zusätzlich die Zahlen 7 und 8 abspeichern. Welche Möglichkeiten gibt es, das zu tun?
|
||||
|
||||
\paragraph{Aufgabe 9}\mbox{}\\
|
||||
Schreibe deine Ideen auf, für was man 2D-Arrays verwenden könnte.
|
||||
|
||||
\end{document}
|
BIN
java/Uebung/Uebung_4/Uebungsaufgaben_4_Loesung.pdf
Normal file
BIN
java/Uebung/Uebung_4/Uebungsaufgaben_4_Loesung.pdf
Normal file
Binary file not shown.
214
java/Uebung/Uebung_4/Uebungsaufgaben_4_Loesung.tex
Normal file
214
java/Uebung/Uebung_4/Uebungsaufgaben_4_Loesung.tex
Normal file
@ -0,0 +1,214 @@
|
||||
\documentclass[12pt,a4paper,ngerman]{scrartcl}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{amsfonts,amssymb,amsmath,listings,color}
|
||||
\pagestyle{plain}
|
||||
|
||||
\subject{\vspace{-3cm}The GAME}
|
||||
\title{Übungsaufgaben 4}
|
||||
\subtitle{Arrays - Lösung}
|
||||
\date{}
|
||||
|
||||
\definecolor{pblue}{rgb}{0.13,0.13,1}
|
||||
\definecolor{pgreen}{rgb}{0,0.5,0}
|
||||
\definecolor{pred}{rgb}{0.9,0,0}
|
||||
\definecolor{pgrey}{rgb}{0.46,0.45,0.48}
|
||||
|
||||
\lstset{language=Java,
|
||||
showspaces=false,
|
||||
showtabs=false,
|
||||
breaklines=true,
|
||||
showstringspaces=false,
|
||||
breakatwhitespace=true,
|
||||
commentstyle=\color{pgreen},
|
||||
keywordstyle=\color{pblue},
|
||||
stringstyle=\color{pred},
|
||||
basicstyle=\ttfamily,
|
||||
tabsize=4,
|
||||
moredelim=[il][\textcolor{pgrey}]{$$},
|
||||
moredelim=[is][\textcolor{pgrey}]{\%\%}{\%\%}
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\paragraph{Aufgabe 1}\mbox{}\\
|
||||
Gegeben sind verschiedene Längen bzw. Größen von Arrays. Gebe die jeweiligen Start- und Endindizes an.
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] 1
|
||||
\item[b)] 42
|
||||
\item[c)] 13
|
||||
\item[d)] 101
|
||||
\item[e)] 3141592
|
||||
\item[f)] 0 $\qquad$ (Achtung fies!)
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] Startindex: 0; Endindex: 0
|
||||
\item[b)] Startindex: 0; Endindex: 41
|
||||
\item[c)] Startindex: 0; Endindex: 12
|
||||
\item[d)] Startindex: 0; Endindex: 100
|
||||
\item[e)] Startindex: 0; Endindex: 3141591
|
||||
\item[f)] Hat keinen Start- und Endindex
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 2}\mbox{}\\
|
||||
Gegeben sei ein Array der Länge 100. Welchen Index haben die folgenden "Plätze".
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] 1
|
||||
\item[b)] 42
|
||||
\item[c)] 13
|
||||
\item[d)] 101
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] Index: 0
|
||||
\item[b)] Index: 41
|
||||
\item[c)] Index: 12
|
||||
\item[d)] Außerhalb des Arrays
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 3}\mbox{}\\
|
||||
Gegeben sei ein Array der Länge $n$. Ganz allgemein, welchen Index hat die Stelle $k$, wobei $k \le n$?
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
$k-1$
|
||||
|
||||
\paragraph{Aufgabe 4}\mbox{}\\
|
||||
Erstelle für folgende Angaben die Arrays in Java-Code.
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] Datentyp: \emph{int}; Länge: \emph{18}
|
||||
\item[b)] Datentyp: \emph{String}; Länge: \emph{23}
|
||||
\item[c)] Kommazahlen, Länge: 5001
|
||||
\item[d)] Datentyp: \emph{char}; Länge: \emph{7}
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] \begin{lstlisting}
|
||||
int[] arr = new int[18];
|
||||
\end{lstlisting}
|
||||
|
||||
\item[b)] \begin{lstlisting}
|
||||
String[] arr = new String[23];
|
||||
\end{lstlisting}
|
||||
|
||||
\item[c)] \begin{lstlisting}
|
||||
float[] arr = new float[5001];
|
||||
double[] arr = new double[5001];
|
||||
\end{lstlisting}
|
||||
|
||||
\item[d)] \begin{lstlisting}
|
||||
char[] arr = new char[7];
|
||||
\end{lstlisting}
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 5}\mbox{}\\
|
||||
Erstelle folgende Arrays in Java, die als Inhalt die dastehenden Werte haben. Wir haben zwei Varianten kennen gelernt. Versuche beide zu verwenden.
|
||||
|
||||
\begin{itemize}
|
||||
\item[a)] Datentyp: \emph{int}; Werte: \emph{0, 9, 2, 8, 3, 7, 4, 6, 5}
|
||||
\item[b)] Datentyp: \emph{long}; Werte: \emph{-100, 100, -50, 50, 123456789}
|
||||
\item[c)] Datentyp: \emph{String}; Werte: \emph{''Ich'', ''liebe'', ''Josh''}
|
||||
\item[d)] Datentyp: \emph{double}; Werte: \emph{3.141, 0.0005926, 5358.9793, Math.pi}
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] \begin{lstlisting}
|
||||
int[] arr = new int[] {
|
||||
0, 9, 2, 8, 3, 7, 4, 6, 5
|
||||
};
|
||||
\end{lstlisting}
|
||||
|
||||
\item[b)] \begin{lstlisting}
|
||||
long[] arr = new long[] {
|
||||
-100, 100, -50, 50, 123456789
|
||||
};
|
||||
\end{lstlisting}
|
||||
|
||||
\item[c)] \begin{lstlisting}
|
||||
String arr = new String[3];
|
||||
arr[0] = "Ich";
|
||||
arr[1] = "liebe";
|
||||
arr[2] = "Josh";
|
||||
\end{lstlisting}
|
||||
|
||||
\item[d)] \begin{lstlisting}
|
||||
double[] arr = new double[] {
|
||||
3.141, 0.0005926, 5358.9793, Math.pi
|
||||
};
|
||||
\end{lstlisting}
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 6}\mbox{}\\
|
||||
Erstelle ein Programm, das das Array \emph{\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\}} in umgekehrter Reihenfolge ausgibt.
|
||||
|
||||
\subparagraph{Lösung:}\mbox{}
|
||||
\begin{lstlisting}
|
||||
int[] arr = int[] {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
};
|
||||
|
||||
for (int i = arr.length - 1; i >= 0; i--)
|
||||
{
|
||||
System.out.println(arr[i]);
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Aufgabe 7}\mbox{}\\
|
||||
Schreibe ein Programm, das von der Kommandozeile zwei Zahlen einliest. Diese Zahlen sollen als Start- und Endwert für Zufallszahlen dienen. In ein Array der Länge 10 lässt du dann 10 Zufallszahlen, die zwischen dem Start- und Endwert liegen, reinschreiben und gibst das Array aus.
|
||||
Für die Zufallszahlen kannst du folgendes verwenden:
|
||||
|
||||
\begin{lstlisting}
|
||||
Random rand = new Random();
|
||||
|
||||
nextInt(int bound)
|
||||
// Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
|
||||
\end{lstlisting}
|
||||
|
||||
\subparagraph{Lösung:}\mbox{}
|
||||
\begin{lstlisting}
|
||||
int rand = new Random();
|
||||
int scan = new Scanner(System.in);
|
||||
int arr = new int[10];
|
||||
|
||||
System.out.println("Startwert: ");
|
||||
int start = scan.nextInt();
|
||||
System.out.println("Endwert: ");
|
||||
int end = scan.nextInt();
|
||||
|
||||
for (int i = 0; i < arr.length; i++)
|
||||
{
|
||||
arr[i] = rand.nextInt(end - start + 1) + start;
|
||||
}
|
||||
|
||||
for (int i = 0; i < arr.length; i++)
|
||||
{
|
||||
System.out.println(value);
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
\paragraph{Aufgabe 8}\mbox{}\\
|
||||
Du hast ein Array mit der Länge 5 und mit folgendem Inhalt: \emph{\{0, 1, 2, 3, 4\}}. Du möchtest nun zusätzlich die Zahlen 7 und 8 abspeichern. Welche Möglichkeiten gibt es, das zu tun?
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
Man kann ein neues größeres Array anlegen und die Zahlen des alten Arrays kopieren und die neuen Zahlen hinzufügen.
|
||||
|
||||
\paragraph{Aufgabe 9}\mbox{}\\
|
||||
Schreibe deine Ideen auf, für was man 2D-Arrays verwenden könnte.
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[-] Spielbrett (Schachbrett, TicTacToe, etc.)
|
||||
\item[-] Andere Arten von Tabellen
|
||||
\item[-] etc.
|
||||
\end{itemize}
|
||||
|
||||
\end{document}
|
Reference in New Issue
Block a user